[gstreamer-bugs] [Bug 597749] New: [pulsesink] audio clock is inaccurate
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Oct 7 17:00:33 PDT 2009
https://bugzilla.gnome.org/show_bug.cgi?id=597749
GStreamer | gst-plugins-good | git
Summary: [pulsesink] audio clock is inaccurate
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: critical
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: mail at renestadler.de
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
Pulsesink seems to have some problems determining what the internal stream time
is. It shows up negatively when it is slaved to a different clock and the skew
algorithm has to kick in:
$ GST_DEBUG=2 gst-launch-0.10 audiotestsrc is-live=true ! pulsesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:00.017263543 14755 0x1d96030 WARN bin
gstbin.c:2312:gst_bin_do_latency_func:<pipeline0> failed to query latency
New clock: GstSystemClock
0:00:00.156788119 14755 0x1f5ab70 WARN baseaudiosink
gstbaseaudiosink.c:1028:gst_base_audio_sink_skew_slaving:<pulsesink0> correct
clock skew -11298628 < -10000000
0:00:00.403085040 14755 0x1f5ab70 WARN baseaudiosink
gstbaseaudiosink.c:1028:gst_base_audio_sink_skew_slaving:<pulsesink0> correct
clock skew -10319104 < -10000000
0:00:00.737286961 14755 0x1f5ab70 WARN baseaudiosink
gstbaseaudiosink.c:1028:gst_base_audio_sink_skew_slaving:<pulsesink0> correct
clock skew -10134766 < -10000000
0:00:01.341005566 14755 0x1f5ab70 WARN baseaudiosink
gstbaseaudiosink.c:1028:gst_base_audio_sink_skew_slaving:<pulsesink0> correct
clock skew -10418319 < -10000000
(there's noticable clicks in the audio in the beginning)
In about 98% of the cases, audio plays normal after that. In the remaining 2%,
it ends up in a loop of pulse stream underruns from which it cannot recover. I
guess that has something to do with the skew slaving adjusting the sample
position.
I'm having the feeling that pa_stream_get_time() doesn't work as expected or is
misused. I think it's suspicious that the internal time is 0 until the playback
buffer is filled up initially (the first skew correction happens during that
time already). Also, after when the drift seems stabilized, the skew oscillates
between +/-7ms still.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list