After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 794099 - decodebin2: Fix detecting when a group or chain is really done
decodebin2: Fix detecting when a group or chain is really done
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-03-05 23:44 UTC by GstBlub
Modified: 2018-11-03 12:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
decodebin2: Fix detecting when a group or chain is really done (1.98 KB, patch)
2018-03-05 23:44 UTC, GstBlub
none Details | Review

Description GstBlub 2018-03-05 23:44:43 UTC
Created attachment 369367 [details] [review]
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.
Comment 1 GStreamer system administrator 2018-11-03 12:04:00 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/424.