GNOME Bugzilla – Bug 657805
matroska: webmmux streamable=true ! matroskademux fails
Last modified: 2015-09-10 20:09:36 UTC
I know the following pipeline is incorrect (I should set streamable=true on webmmux), but it should throw an error, which it doesn't do: GST_DEBUG=3 gst-launch -v videotestsrc ! vp8enc ! webmmux ! queue ! matroskademux ! vp8dec ! xvimagesink It seems that vp8enc doesn't handle GST_FLOW_ERROR the way it should; the pipeline just keeps on running without producing any more buffers instead of erroring.
It appears this particular bug has been fixed recently in git. However, it still doesn't *work* with streamable=true, which is what I would expect. So I'm hijacking the bug for that case. Specifically, this does not work: gst-launch videotestsrc ! vp8enc ! webmmux streamable=true ! queue ! matroskademux ! vp8dec ! xvimagesink sync=false The equivalent launch lines with theora/matroskamux, or vp8enc/oggmux, work as expected.
Okay, good to know that it has been fixed in git! Regarding it not actually working with streamable=true, both the pipeline you mention and a more involved program using this setup *do* work for me... Both on Debian Testing (gst-plugins-good 0.10.30) and on Ubuntu 11.04 (gst-plugins-good 0.10.28). I can provide some kind of debug logs if you want them.
(In reply to comment #1) > It appears this particular bug has been fixed recently in git. I am not so sure. eg., with 1.0.2 none of them error out. They are both stuck unless one presses ctrl+c: [rishi@kolache ~]$ gst-launch-1.0 videotestsrc ! vp8enc ! webmmux ! queue ! matroskademux ! vp8dec ! xvimagesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Redistribute latency... ^CCaught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... [rishi@kolache ~]$ gst-launch-1.0 videotestsrc ! vp8enc ! webmmux streamable=true ! queue ! matroskademux ! vp8dec ! xvimagesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Redistribute latency... ^CCaught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... [rishi@kolache ~]$ However both of them error out on gst-plugins-good-0.10.31. Something has changed since then, but I am not sure whether the change is correct or not.
All the pipelines above work fine on git master.
A patch for this is attached to bug #754768.
Closing as OBSOLETE as per Vincent's comment, and the pipelines work fine for me too. If anyone is still having problems with recent versions of GStreamer, please re-open this bug or file a new bug, thanks!