GNOME Bugzilla – Bug 668363
[Unkown error] - ERROR:gstaudiodecoder.c:984:gst_audio_decoder_push_buffers: assertion failed
Last modified: 2012-01-26 18:18:03 UTC
When i use this pipe with old version it works great for several months. But since i have latest gstreamer it fails and also application crash. $ file idle.avi idle.avi: RIFF (little-endian) data, AVI, 1280 x 720, >30 fps, video: FFMpeg MPEG-4, audio: MPEG-1 Layer 1 or 2 (stereo, 44100 Hz) $ main.mp.play("filesrc location=/var/tmp/idle.avi name=mp ! decodebin2 name=dec ! queue ! xvimagesink name=gl dec. ! queue ! audioconvert ! audioresample ! autoaudiosink name=killme"); ** ERROR:gstaudiodecoder.c:984:gst_audio_decoder_push_buffers: assertion failed: (offset <= av) Aborted
Can you make available the few hundreds of KB or so of that file, if the issue happens with it too ?
Please find this file resize into 1.5M: http://81.164.41.67:7007/video/idle1.avi (please let me know if you downloaded, its confidential file from one Airport)
I got the file, but I don't get the assert with the command line above. I had the same using a52dec yesterday though, so I know more or less what the issue likely is (bug in frame parsing on the decoder). Can you attach a log with GST_DEBUG=*FACTORY*:3 so I know which audio decoder element gets used?
This is very strange. I have another box where i reinstalled everything exactly the other box where it was crashing. (unfortunately because of weekend i could not reach the box where it was crashed). But this one is another box showing following: $ export DISPLAY=:0.0 && GST_DEBUG=*FACTORY*:3 gst-launch -v filesrc location=idle.avi name=mp ! decodebin2 name=dec ! queue ! xvimagesink name=gl dec. ! queue ! audioconvert ! audioresample ! autoaudiosink name=killme 0:00:00.031611650 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "filesrc" 0:00:00.032020919 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "decodebin2" 0:00:00.032121678 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:374:gst_element_factory_create: creating element "typefind" named "typefind" 0:00:00.032296132 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "queue" 0:00:00.033446145 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "xvimagesink" 0:00:00.033617396 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "queue" 0:00:00.043556034 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "audioconvert" 0:00:00.044396583 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "audioresample" 0:00:00.044639601 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "autoaudiosink" 0:00:00.044699030 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:374:gst_element_factory_create: creating element "fakesink" named "tempsink" 0:00:00.044786734 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "pipeline" Setting pipeline to PAUSED ... 0:00:00.048477301 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:374:gst_element_factory_create: creating element "pulsesink" named "killme-actual-sink-pulse" /GstPipeline:pipeline0/GstDecodeBin2:dec/GstTypeFindElement:typefind.GstPad:src: caps = video/x-msvideo 0:00:00.074650916 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "avidemux" Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstDecodeBin2:dec/GstAviDemux:avidemux0.GstPad:sink: caps = video/x-msvideo 0:00:00.076058064 5632 0xdc52d0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "multiqueue" 0:00:00.086084676 5632 0xdc52d0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "ffdec_mpeg4" 0:00:00.091515666 5632 0xdc52d0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "mpegaudioparse" /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0: max-size-buffers = 5 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0: max-size-time = 0 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0: max-size-bytes = 2097152 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:sink0: caps = video/mpeg, mpegversion=(int)4, framerate=(fraction)50/1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:sink1: caps = audio/mpeg, mpegversion=(int)1, layer=(int)2, rate=(int)44100, channels=(int)2, codec_data=(buffer)020000fa000001000000010010000000000000000000 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:src1: caps = audio/mpeg, mpegversion=(int)1, layer=(int)2, rate=(int)44100, channels=(int)2, codec_data=(buffer)020000fa000001000000010010000000000000000000 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMpegAudioParse:mpegaudioparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)2, rate=(int)44100, channels=(int)2, codec_data=(buffer)020000fa000001000000010010000000000000000000 0:00:00.096637300 5632 0xe08dc0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:376:gst_element_factory_create: creating element "mad" /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMpegAudioParse:mpegaudioparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)2, rate=(int)44100, channels=(int)2, parsed=(boolean)true /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMad:mad0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)2, rate=(int)44100, channels=(int)2, parsed=(boolean)true /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMad:mad0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0: max-size-buffers = 5 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0: max-size-time = 0 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0: max-size-bytes = 2097152 /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:src0: caps = video/mpeg, mpegversion=(int)4, framerate=(fraction)50/1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstDecodeBin2:dec.GstDecodePad:src1.GstProxyPad:proxypad8: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAudioResample:audioresample0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAudioResample:audioresample0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstDecodeBin2:dec/ffdec_mpeg4:ffdec_mpeg40.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, framerate=(fraction)50/1, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstAutoAudioSink:killme/GstPulseSink:killme-actual-sink-pulse.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAutoAudioSink:killme.GstGhostPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAutoAudioSink:killme.GstGhostPad:sink.GstProxyPad:proxypad1: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstDecodeBin2:dec.GstDecodePad:src0: caps = video/x-raw-yuv, width=(int)1280, height=(int)720, framerate=(fraction)50/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDecodeBin2:dec/ffdec_mpeg4:ffdec_mpeg40.GstPad:src: caps = video/x-raw-yuv, width=(int)1280, height=(int)720, framerate=(fraction)50/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1280, height=(int)720, framerate=(fraction)50/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstDecodeBin2:dec.GstDecodePad:src0.GstProxyPad:proxypad4: caps = video/x-raw-yuv, width=(int)1280, height=(int)720, framerate=(fraction)50/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw-yuv, width=(int)1280, height=(int)720, framerate=(fraction)50/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstXvImageSink:gl.GstPad:sink: caps = video/x-raw-yuv, width=(int)1280, height=(int)720, framerate=(fraction)50/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock /GstPipeline:pipeline0/GstAutoAudioSink:killme/GstPulseSink:killme-actual-sink-pulse: volume = 1.000000 /GstPipeline:pipeline0/GstAutoAudioSink:killme/GstPulseSink:killme-actual-sink-pulse: mute = FALSE Got EOS from element "pipeline0". Execution ended after 40127132820 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... /GstPipeline:pipeline0/GstAutoAudioSink:killme/GstPulseSink:killme-actual-sink-pulse.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstAutoAudioSink:killme.GstGhostPad:sink: caps = NULL /GstPipeline:pipeline0/GstXvImageSink:gl.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstAudioResample:audioresample0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstAudioResample:audioresample0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec.GstDecodePad:src1: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec.GstDecodePad:src0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMad:mad0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMad:mad0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMpegAudioParse:mpegaudioparse0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMpegAudioParse:mpegaudioparse0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/ffdec_mpeg4:ffdec_mpeg40.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/ffdec_mpeg4:ffdec_mpeg40.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:sink1: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:src1: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:sink0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstMultiQueue:multiqueue0.GstPad:src0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstAviDemux:avidemux0.GstPad:audio_00: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstAviDemux:avidemux0.GstPad:video_00: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstAviDemux:avidemux0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin2:dec/GstTypeFindElement:typefind.GstPad:src: caps = NULL Setting pipeline to NULL ... 0:00:40.308454051 5632 0x9bd080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:374:gst_element_factory_create: creating element "fakesink" named "tempsink" Freeing pipeline ...
Do these two boxes have the exact same version of GStreamer, including plugins ? If it was indeed a decoder parsing bug, it might have been fixed recently.
Yes i have a setup like { Latest gstreamer > clone to my own repository > form there i do deploy to > all my end-point units (mostly they have same version) } Thanks for the update. I will now do a clone and test it. Will re-confirm if its gone.
I have seen this assertion too recently, but don't remember what I did to reproduce it. The question is: using the short sample you have provided, can you reproduce it with gstreamer master or 0.10 branch?
I think with the master its fixed now, because this two unit i have the very latest version. I just now tested there and it does not get reproduced. So i will apply this snapshot to my other boxes. Its fixed confirmed. Thanks a lot.
I have found this error why it was happening. And its happening again with latest too. Only when i do something like replay to the existing pipe: Java or other application triggers: pipe.seek(ClockTime.ZERO); ERROR:gstaudiodecoder.c:984:gst_audio_decoder_push_buffers: assertion failed