GNOME Bugzilla – Bug 315545
[oggdemux] problems with multi2.ogg
Last modified: 2006-03-09 14:34:34 UTC
flap [tim] - ~/samples/movies --->gst-launch-0.9 -v filesrc location=multi2.ogg ! decodebin ! audioconvert ! alsasink PAUSE pipeline ... /pipeline0/decodebin0/typefind.src: caps = application/ogg (process:22777): GStreamer-CRITICAL **: gst_query_new_convert: assertion `value >= 0' failed (process:22777): GStreamer-CRITICAL **: gst_pad_query: assertion `GST_IS_QUERY (query)' failed (process:22777): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object != NULL' failed ** (process:22777): WARNING **: could not convert granule to time /pipeline0/decodebin0/theoradec2.sink: caps = video/x-theora /pipeline0/decodebin0/theoradec2.src: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(double)5, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240 /pipeline0/decodebin0.src1: caps = NULL /pipeline0/decodebin0/vorbisdec5.sink: caps = audio/x-vorbis /pipeline0/decodebin0/vorbisdec5.src: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0 /pipeline0/decodebin0.src1: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0 /pipeline0/audioconvert0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/audioconvert0.sink: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0 /pipeline0/decodebin0.src1: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0 /pipeline0/decodebin0.src1.proxypad1: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0 /pipeline0/alsasink0.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 PREROLLED pipeline ... RUNNING pipeline ... WARNING: Element "alsasink0" warns: gstbasesink.c(516): gst_base_sink_handle_object: /pipeline0/alsasink0: Received buffer without a new-segment. Cannot sync to clock. /pipeline0/decodebin0/vorbisdec6.sink: caps = audio/x-vorbis /pipeline0/decodebin0/vorbisdec6.src: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0 Got EOS from element "pipeline0". Execution ended after 1889852000 ns. GStreamer-CRITICAL **: gst_query_new_convert: assertion `value >= 0' failed aborting... Program received signal SIGABRT, Aborted.
+ Trace 62769
Thread 1111174064 (LWP 22789)
Cheers -Tim
Created attachment 51968 [details] multi2.ogg I thought the file was in the media folder, but I can't find it there, so attaching it. No idea where it comes from (Ronald might know).
Theora needs to check explicitly for -1 values when doing the conversion. -1 values map to -1 always. (The check is there to prevent rounding errors, etc from accidentally mapping -1 to 0 or a large number or some such madness.)
The conversion problem is fixed now, it still complains about a missing newsegment event though: % gst-launch-0.9 -v filesrc location=multi2.ogg ! oggdemux name=d d. ! queue ! vorbisdec ! audioconvert ! alsasink d. ! queue ! theoradec ! xvimagesink PAUSE pipeline ... PREROLL pipeline ... /pipeline0/queue1.src: caps = video/x-theora /pipeline0/queue1.sink: caps = video/x-theora /pipeline0/theoradec0.sink: caps = video/x-theora /pipeline0/theoradec0.src: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(double)5, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240 /pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, format=(fourcc)I420, framerate=(double)5, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240 /pipeline0/queue0.src: caps = audio/x-vorbis /pipeline0/queue0.sink: caps = audio/x-vorbis /pipeline0/vorbisdec0.sink: caps = audio/x-vorbis /pipeline0/vorbisdec0.src: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32 /pipeline0/audioconvert0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/audioconvert0.sink: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32 /pipeline0/alsasink0.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 PREROLLED pipeline ... WARNING: Element "alsasink0" warns: gstbasesink.c(628): gst_base_sink_handle_object: /pipeline0/alsasink0: Received buffer without a new-segment. Cannot sync to clock. RUNNING pipeline ... New clock: audioclock0 Got EOS from element "pipeline0". Execution ended after 1865555000 ns. Cheers -Tim
Confirmed here...
happens on the chain boundary. chained oggs fail in general, marking as duplicate. *** This bug has been marked as a duplicate of 320984 ***