GNOME Bugzilla – Bug 637324
oggdemux: unable to demux Ogg files with Skeleton in push mode
Last modified: 2010-12-22 23:50:52 UTC
Steps to reproduce: $ wget http://v2v.cc/~j/theora_testsuite/320x240.skeleton+cmml.ogv $ gst-launch filesrc location=320x240.skeleton+cmml.ogv ! queue ! decodebin2 ! autovideosink It fails like this: Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0: Could not demultiplex stream. Additional debug info: gstoggdemux.c(1421): gst_ogg_demux_sink_event (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0: can't get first chain ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... Removing the queue event makes it possible to play, thus my assumption that this is a bug in the push mode code.
This also fails, of course: $ gst-launch uridecodebin uri=http://v2v.cc/~j/theora_testsuite/320x240.skeleton+cmml.ogv ! autovideosink
I don't see any problem with this pipeline gst-launch -v filesrc location=320x240.skeleton+cmml.ogv ! queue ! decodebin2 ! autovideosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = application/x-annodex /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0.GstPad:sink: caps = application/x-annodex /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = text/x-cmml /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink1: caps = video/x-theora, width=(int)320, height=(int)240, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = text/x-cmml /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstCmmlDec:cmmldec0.GstPad:sink: caps = text/x-cmml (gst-launch-0.10:9619): GStreamer-WARNING **: Trying to set NULL string on field 'title' on taglist. Please file a bug. /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src1: caps = video/x-theora, width=(int)320, height=(int)240, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTheoraDec:theoradec0.GstPad:sink: caps = video/x-theora, width=(int)320, height=(int)240, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTheoraDec:theoradec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0 /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152 /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg /GstPipeline:pipeline0/GstDecodeBin2:decodebin20.GstDecodePad:src0.GstProxyPad:proxypad6: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30000299/1000000, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "pipeline0". Execution ended after 4000001024 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTheoraDec:theoradec0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTheoraDec:theoradec0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstCmmlDec:cmmldec0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink1: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src1: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0.GstOggPad:serial_3aa5a330: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0.GstOggPad:serial_2ea9944e: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstOggDemux:oggdemux0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = NULL Setting pipeline to NULL ... Freeing pipeline ...
I've installed git repo - I tried both the pipelines & works fine for me. gst-launch filesrc location=320x240.skeleton+cmml.ogv ! queue ! decodebin2 ! autovideosink & gst-launch uridecodebin uri=http://v2v.cc/~j/theora_testsuite/320x240.skeleton+cmml.ogv ! autovideosink
Sorry, I thought my gst-uninstalled was up to date, but apparently not. This was fixed by <http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=64dfad46f29799f99cfe10178556c361bd9918ff>, possibly by accident since the commit message doesn't mention any bug.