[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

  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

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