[gstreamer-bugs] [Bug 612223] New: [base(audio)sink] hangs in _wait_eos
bugzilla at gnome.org
Mon Mar 8 10:44:42 PST 2010
GStreamer | gstreamer (core) | git
Summary: [base(audio)sink] hangs in _wait_eos
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: mnauw at users.sourceforge.net
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
Consider some audio playback with a typical audio clock and ringbuffer.
EOS arrives, which triggers draining and going into the loop in _wait_eos.
Assume the thread is at that stage waiting on the clock for the proper render
time. Then a state change to PAUSED happens, the clock wait is unscheduled and
the _wait_eos loop waits for PLAYING. Then application changes state to
PLAYING, and the _wait_eos resumes ... to wait_clock again for the right time.
However, while state change to PLAYING performs gst_ring_buffer_may_start, the
actual start is postponed to (e.g.) a ringbuffer commit. But since EOS has
arrived, there will be no more _commit, so the ringbuffer does not advance,
therefore clock time does not advance (though in PLAYING). So, the _wait_eos
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