[gstreamer-bugs] [Bug 612223] New: [base(audio)sink] hangs in _wait_eos
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Mar 8 10:44:42 PST 2010
https://bugzilla.gnome.org/show_bug.cgi?id=612223
GStreamer | gstreamer (core) | git
Summary: [base(audio)sink] hangs in _wait_eos
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
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
hangs.
--
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