[Bug 794099] New: decodebin2: Fix detecting when a group or chain is really done

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Mar 5 23:44:43 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=794099

            Bug ID: 794099
           Summary: decodebin2: Fix detecting when a group or chain is
                    really done
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: gstblub at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 369367
  --> https://bugzilla.gnome.org/attachment.cgi?id=369367&action=edit
decodebin2: Fix detecting when a group or chain is really done

I ran into a problem where decodebin2 accidentally emits the "drained" signal
(which an application could act on) and then causes the pipeline to stall with
the demuxer continuing on.  This happened when using hlsdemux with a video
stream, but without any (suitable) video decoder plugin present.  The
application intentionally ignores the typefind error as we're only interested
in the audio portion.  This works fine until hlsdemux triggers a bitrate
switch, which causes decodebin2 to believe everything is drained (despite the
new pads being added and properly signalled).  When this happens there are two
chains in a group, one for the video portion (that isn't active) and one for
the audio portion.  

I attached a patch that appears to fix this issue for me.  Since I'm not too
familiar with this code, I'd appreciate any feedback.

-- 
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