After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 668363 - [Unkown error] - ERROR:gstaudiodecoder.c:984:gst_audio_decoder_push_buffers: assertion failed
[Unkown error] - ERROR:gstaudiodecoder.c:984:gst_audio_decoder_push_buffers: ...
Status: VERIFIED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: dont know
0.10.35
Other All
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-20 18:16 UTC by IamTrying
Modified: 2012-01-26 18:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description IamTrying 2012-01-20 18:16:47 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
Comment 1 Vincent Penquerc'h 2012-01-20 18:33:56 UTC
Can you make available the few hundreds of KB or so of that file, if the issue happens with it too ?
Comment 2 IamTrying 2012-01-20 19:22:43 UTC
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)
Comment 3 Vincent Penquerc'h 2012-01-20 22:59:25 UTC
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?
Comment 4 IamTrying 2012-01-20 23:34:43 UTC
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 ...
Comment 5 Vincent Penquerc'h 2012-01-22 17:23:35 UTC
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.
Comment 6 IamTrying 2012-01-22 17:52:42 UTC
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.
Comment 7 Tim-Philipp Müller 2012-01-22 17:58:16 UTC
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?
Comment 8 IamTrying 2012-01-22 18:08:18 UTC
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.
Comment 9 IamTrying 2012-01-26 18:18:03 UTC
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