pipewire/src
Stefan Klug aa8f6a2147 gst: gstpipewireclock: Add error message to detect time drift
Sometime cases were observed, where the time returned from
pw_stream_get_time_n() had incorrect values.

The root cause was not fully tracked down. Roughly the case was as
follows: A gstreamer pipeline with two gstpipewiresrc elements. One
audio and one libcamera besed video src, both fed into a mp4 encoding
mux. The cock was provided by the audio gstpipewiresrc. Now between
starting the pipewire video stream and receiving the first camera frame
pw_stream_get_time_n() returned strange values (It seemed like it was
using the audio rate for something internally). This wrong value was
used to initialze pclock->start_time and therefore all following calls
to gst_pipewire_clock_get_internal_time() returned completely wrong
values.

Add a warning to hopefully catch these cases. I don't have a proper use
case to test the clock interpolation done in
gst_pipewire_clock_get_internal_time() so I can't drop that (which would
remove the bogus call to pw_stream_get_time_n() alltogether), although
it feels like the right thing to do.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
2026-05-18 09:48:10 +02:00
..
daemon filter-graph: remove the pipe filter 2026-05-08 10:16:12 +02:00
examples impl-node: accept more node.passive values 2026-03-12 17:25:36 +01:00
gst gst: gstpipewireclock: Add error message to detect time drift 2026-05-18 09:48:10 +02:00
modules modules: avoid double close when loop_add_io fails 2026-05-15 13:38:32 +02:00
pipewire impl-metadata: check PW_PERM_M permission on subject 2026-05-13 11:08:37 +02:00
tests treewide: make more file descriptors cloexec 2026-05-04 19:48:41 +02:00
tools pw-dump: also dump client permissions 2026-05-14 15:05:08 +02:00
meson.build meson.build: fix compile with -Dexamples=disabled 2023-11-28 10:18:25 +00:00