GNOME Bugzilla – Bug 738543
decodebin: doesn't expose pads when one stream contains garbage
Last modified: 2018-11-03 11:31:37 UTC
We have a .mpg file (here for the next 7 days) http://wikisend.com/download/408582/ir.mpg that contains two streams. One is "mpeg video" and is either MetaData, Encrypted, or corrupt. The second stream is a valid H264 stream. UriDecodeBin does not produce a pad. It stops at two proxy pads within the bin. It seems to get confused and waits forever for the bad stream to "settle out". Thaytan, __Tim, have witnessed. I can reached at above email address for the mpg.
I can confirm, and decodebin should really just ignore that stream :)
I didn't drill down far enough to understand exactly what's wrong in decodebin. It looks like it tries to grow the multiqueue multiple times as the H.264 queue fills up, and the MPEG-2 queue underflows (because mpegvideoparse is just discarding everything). Instead of actually growing the queue though, it sets it to 2MB/5buffers repeatedly and never triggers overrun to expose the one working stream.
Andrew, does that issue still happen with latest gstreamer (1.12 or master) ?
-- 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/135.