GNOME Bugzilla – Bug 710615
mpeg2dec: gst_video_decoder_allocate_output_frame: assertion 'frame->output_buffer == NULL' failed
Last modified: 2013-11-29 15:51:14 UTC
I use this pipe to decode dvd dump: gst-launch-1.0 -v filesrc location=../stream.dump ! mpegpsdemux name=demux demux.video_e0 ! mpegvideoparse ! mpeg2dec ! fakesink for some wersions it worked without problems but now i get fallowing error: ** (gst-launch-1.0:4826): CRITICAL **: gst_video_decoder_allocate_output_frame: assertion 'frame->output_buffer == NULL' failed ERROR: from element /GstPipeline:pipeline0/GstMpegPSDemux:demux: Internal data stream error. Additional debug info: gstmpegdemux.c(2937): gst_flups_demux_loop (): /GstPipeline:pipeline0/GstMpegPSDemux:demux: stream stopped, reason error as workaround i replaced mpeg2dec with avdec_mpeg2video. It works but periodically i get this errors: 0:16:16.289976290 4584 0x1592b20 ERROR libav :0:: get_buffer() failed (-1 2 (nil)) 0:16:16.290095159 4584 0x1592b20 ERROR libav :0:: warning: first frame is no keyframe 0:16:16.290139508 4584 0x1592b20 ERROR libav :0:: get_buffer() failed (-1 2 (nil)) 0:16:22.511200089 4584 0x1592b20 ERROR libav :0:: get_buffer() failed (-1 2 (nil)) 0:16:22.511317004 4584 0x1592b20 ERROR libav :0:: warning: first frame is no keyframe 0:16:22.511334394 4584 0x1592b20 ERROR libav :0:: get_buffer() failed (-1 2 (nil)) 0:16:39.176169708 4584 0x1592b20 ERROR libav :0:: get_buffer() failed (-1 2 (nil)) Right not i was not able to locate where exactly the problem is, mpegpsdemux, mpegvideoparse or mpeg2dec.
i get similar problem with rsndvdbin, on some other dvd: gst-launch-1.0 rsndvdbin device=/dev/sr0 ! autovideosink ** (gst-launch-1.0:5401): CRITICAL **: gst_video_decoder_allocate_output_frame: assertion 'frame->output_buffer == NULL' failed ERROR: from element /GstPipeline:pipeline0/RsnDvdBin:rsndvdbin0/resinDvdSrc:dvdsrc: Internal data flow error. Additional debug info: gstbasesrc.c(2865): gst_base_src_loop (): /GstPipeline:pipeline0/RsnDvdBin:rsndvdbin0/resinDvdSrc:dvdsrc: streaming task paused, reason error (-5) Execution ended after 0:00:23.606484598
the log was too big, so here is link https://www.dropbox.com/s/myzovt4jc144gy7/log.gz
this link includes part of stream dump which makes possible to teproduce this bug https://www.dropbox.com/s/jqfljxdbpotkn6h/bug.dump
It seems not reproducible with recent git. I suspect this has been due to some recent tinkering with mpegvideoparse (for field-picture parsing), which has settled down with some fixes (more) recently. Failing that, following commit should help dealing with residual glitches: commit 8c1be8796e58bfcab7c9b9ac2ca089b10bf803b4 Author: Mark Nauwelaerts <mnauw@users.sourceforge.net> Date: Mon Nov 11 13:15:54 2013 +0100 mpeg2dec: graceful degradation for badly parsed input
Your mpeg2dec commit fixed this for me (I updated to that before updating to latest mpegvideoparse).
works for me too. Thank you :)
*** Bug 712577 has been marked as a duplicate of this bug. ***