[gstreamer-bugs] [Bug 328279] New: [decodebin] timeout issue when pre-rolling

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Jan 23 02:10:33 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=328279
 GStreamer | gst-plugins-base | Ver: HEAD CVS

           Summary: [decodebin] timeout issue when pre-rolling
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bilboed at bilboed.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Decodebin currently uses a fakesink and GstPadBlockCallbacks on raw pads to
establish asynchronous state change from NULL/READY to PAUSED (i.e.
prerolling).

The problem is that if the demuxer contained within decodebin goes to EOS while
prerolling, decodebin won't know about it and will hang in READY->PAUSED.

The hang is because fakesink is only removed when all raw src pads have
outputted one buffer (using the GstPadBlockCallbacks), but doesn't handle the
case when you have EOS.

The provided patch solves this issue by replacing the blocking pad callbacks
with pad data probes, and removing fakesink if every pad has outputted a buffer
or an EOS event has come through that pad.


-- 
Configure bugmail: http://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