GNOME Bugzilla – Bug 775474
decodebin: multiqueue overrun does not directly cause streams to be exposed
Last modified: 2018-05-06 15:14:14 UTC
This file http://samples.mplayerhq.hu/ffmpeg-bugs/trac/ticket1294/AVCI50_Test.mxf hangs with gst-discoverer until timeout.
Looks similar to bug #775270, but not completely.
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).
*** Bug 775270 has been marked as a duplicate of this bug. ***
Actually exactly the same.
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...
playbin3 fixes this by working different.
Have you had any further thoughts on this?
Let's close this, if people run into this they should use playbin3/decodebin3.