GNOME Bugzilla – Bug 642023
[mpeg4videoparse] assertion `a_d != 0' failed
Last modified: 2011-08-24 08:10:38 UTC
Created attachment 180574 [details] test file, works fine with mplayer Hi using this pipeline with the attached file I get: gst-launch-0.10 filesrc location=/tmp/test1.mp4 ! mpeg4videoparse ! decodebin ! xvimagesink Impostazione della pipeline a PAUSED ... La pipeline è in PREROLLING ... La pipeline è in PREROLLED ... Impostazione della pipeline a PLAYING ... New clock: GstSystemClock (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed (gst-launch-0.10:15151): GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed removing mpeg4videoparse from the pipe no error is given but the video is not gook the attached file works fine with mplayer
Looks like at some point mpeg4videoparse re-negotiates, and that makes ffdec_mpeg4 output things with width/height=0: $ gst-launch-0.10 -v filesrc location=642023-test.mpeg4 ! mpeg4videoparse ! ffdec_mpeg4 ! xvimagesink Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstMpeg4VParse:mpeg4vparse0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, parsed=(boolean)true, profile-level-id=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800cd0b04241463000001b24c61766335322e33312e32, pixel-aspect-ratio=(fraction)1/1, width=(int)352, height=(int)288 /GstPipeline:pipeline0/ffdec_mpeg4:ffdec_mpeg40.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, parsed=(boolean)true, profile-level-id=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800cd0b04241463000001b24c61766335322e33312e32, pixel-aspect-ratio=(fraction)1/1, width=(int)352, height=(int)288 /GstPipeline:pipeline0/ffdec_mpeg4:ffdec_mpeg40.GstPad:src: caps = video/x-raw-yuv, width=(int)352, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw-yuv, width=(int)352, height=(int)288, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock 0:00:00.408932482 31155 0x876a90 ERROR ffmpeg :0:: header damaged .. 0:00:02.121889278 31155 0x876a90 ERROR ffmpeg :0:: header damaged /GstPipeline:pipeline0/GstMpeg4VParse:mpeg4vparse0.GstPad:src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, parsed=(boolean)true, profile-level-id=(string)1, codec_data=(buffer)0000010300000000aa00 /GstPipeline:pipeline0/ffdec_mpeg4:ffdec_mpeg40.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, parsed=(boolean)true, profile-level-id=(string)1, codec_data=(buffer)0000010300000000aa00 0:00:02.122727094 31155 0x876a90 ERROR ffmpeg :0:: looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag /GstPipeline:pipeline0/ffdec_mpeg4:ffdec_mpeg40.GstPad:src: caps = video/x-raw-yuv, width=(int)0, height=(int)0, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false GStreamer-CRITICAL **: gst_util_fraction_multiply: assertion `a_d != 0' failed aborting... Program received signal SIGTRAP, Trace/breakpoint trap.
+ Trace 225924
Thread 140737244940032 (LWP 31159)
This seems fixed with current git, the attached file and given command line work fine for me, with no assertion, though ffmpeg complains about damaged headers.
I can confirm that git version is fine, thanks Nicola