GNOME Bugzilla – Bug 680194
[0.11] mpeg2dec: gst_video_decoder_alloc_output_frame: assertion `frame->output_buffer == NULL' failed with cluttersink and fakesink
Last modified: 2012-07-19 08:42:03 UTC
+++ This bug was initially created as a clone of Bug #679878 +++ Re-opening, since original issue still remains: Starting program: /home/tpm/gst/0.11/gstreamer/tools/.libs/lt-gst-launch-1.0 filesrc location=/home/tpm/samples/misc/331301-xgl-gentoo-lycos-mpeg2dec-cropping.avi \! decodebin \! video/x-raw \! fakesink ** (gst-launch-1.0:20833): CRITICAL **: gst_video_decoder_alloc_output_frame: assertion `frame->output_buffer == NULL' failed Program received signal SIGTRAP, Trace/breakpoint trap.
+ Trace 230536
Thread 140737256408832 (LWP 20838)
This works fine now with xvimagesink, but still fails with other videosinks such as cluttersink or fakesink (that don't support the advanced video shizzle, presumably). Sample file: http://samplemedia.linaro.org/MPEG2/big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K_short.MPG Sample pipeline: $ gst-launch-1.0 filesrc location= /home/tpm/samples/linaro.org/MPEG2/big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K_short.MPG ! mpegpsdemux ! mpeg2dec ! fakesink -v
Created attachment 219199 [details] [review] mpeg2dec: Store temporary buffers out of the way When mpeg2dec needs to do cropping (because downstream can't handle it), we need temporary buffers to decode to. Use the user_data field to store those, and unify the rest of the code that needs to touch a buffer (regardless of how/where it was allocated).
commit e0a5d6de601686dfc496b25b0b96c0996f0d202f Author: Edward Hervey <edward.hervey@collabora.co.uk> Date: Thu Jul 19 09:56:17 2012 +0200 mpeg2dec: Store temporary buffers out of the way When mpeg2dec needs to do cropping (because downstream can't handle it), we need temporary buffers to decode to. Use the user_data field to store those, and unify the rest of the code that needs to touch a buffer (regardless of how/where it was allocated). https://bugzilla.gnome.org/show_bug.cgi?id=680194