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 775474 - decodebin: multiqueue overrun does not directly cause streams to be exposed
decodebin: multiqueue overrun does not directly cause streams to be exposed
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
: 775270 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-12-01 14:36 UTC by Hanno Böck
Modified: 2018-05-06 15:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
decodebin: Mark all chains of a group as complete on multiqueue overrun (2.46 KB, patch)
2016-12-01 18:43 UTC, Sebastian Dröge (slomo)
needs-work Details | Review

Description Hanno Böck 2016-12-01 14:36:58 UTC
This file
http://samples.mplayerhq.hu/ffmpeg-bugs/trac/ticket1294/AVCI50_Test.mxf
hangs with gst-discoverer until timeout.
Comment 1 Sebastian Dröge (slomo) 2016-12-01 18:17:22 UTC
Looks similar to bug #775270, but not completely.
Comment 2 Sebastian Dröge (slomo) 2016-12-01 18:43:59 UTC
Created attachment 341173 [details] [review]
decodebin: Mark all chains of a group as complete on multiqueue overrun

We would otherwise wait here forever for something to happen if we don't
expose what we have now. Unless the multiqueue was just overrunning but
the srcpads of the multiqueue still have the possibility of pushing data
and getting things running.

We're basically trading one race condition (stuff just hangs sometimes
if it wouldn't work anyway) with another (stuff just fails sometimes
although it would work otherwise).
Comment 3 Sebastian Dröge (slomo) 2016-12-01 18:44:37 UTC
*** Bug 775270 has been marked as a duplicate of this bug. ***
Comment 4 Sebastian Dröge (slomo) 2016-12-01 18:44:55 UTC
Actually exactly the same.
Comment 5 Sebastian Dröge (slomo) 2016-12-01 18:49:02 UTC
Comment on attachment 341173 [details] [review]
decodebin: Mark all chains of a group as complete on multiqueue overrun

... and it generally breaks DASH streams unless you're lucky. Doesn't seem like a good trade :) Especially has "hang" here doesn't mean deadlock but something recoverable.

I wonder what more clever thing we could do here...
Comment 6 Sebastian Dröge (slomo) 2016-12-01 18:59:20 UTC
playbin3 fixes this by working different.
Comment 7 Jan Schmidt 2018-05-04 09:10:22 UTC
Have you had any further thoughts on this?
Comment 8 Sebastian Dröge (slomo) 2018-05-06 15:14:14 UTC
Let's close this, if people run into this they should use playbin3/decodebin3.