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 710615 - mpeg2dec: gst_video_decoder_allocate_output_frame: assertion 'frame->output_buffer == NULL' failed
mpeg2dec: gst_video_decoder_allocate_output_frame: assertion 'frame->output_b...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal critical
: 1.2.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 712577 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-10-22 08:51 UTC by Oleksij Rempel
Modified: 2013-11-29 15:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Oleksij Rempel 2013-10-22 08:51:32 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.
Comment 1 Oleksij Rempel 2013-10-22 09:12:49 UTC
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
Comment 2 Oleksij Rempel 2013-10-22 09:18:14 UTC
the log was too big, so here is link https://www.dropbox.com/s/myzovt4jc144gy7/log.gz
Comment 3 Oleksij Rempel 2013-10-22 09:25:49 UTC
this link includes part of stream dump which makes possible to teproduce this bug https://www.dropbox.com/s/jqfljxdbpotkn6h/bug.dump
Comment 4 Mark Nauwelaerts 2013-11-12 18:27:20 UTC
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
Comment 5 Tim-Philipp Müller 2013-11-12 19:45:12 UTC
Your mpeg2dec commit fixed this for me (I updated to that before updating to latest mpegvideoparse).
Comment 6 Oleksij Rempel 2013-11-12 19:57:22 UTC
works for me too. Thank you :)
Comment 7 Eric 2013-11-18 13:38:51 UTC
*** Bug 712577 has been marked as a duplicate of this bug. ***