GNOME Bugzilla – Bug 562086
mpeg2 stream crashes something in gstreamer
Last modified: 2008-12-01 14:39:27 UTC
Please describe the problem: The stream available at https://trac.videolan.org/libmpeg2/browser/streams/twilight_zone/walken/chroma_444/stream?format=raw crashes gst-launch-0.10 playbin uri=https://trac.videolan.org/libmpeg2/browser/streams/twilight_zone/walken/chroma_444/stream?format=raw producing Setting pipeline to PAUSED ... Pipeline is PREROLLING ... WARNING: from element /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage: Internal data flow problem. Additional debug info: gstbasesink.c(2854): gst_base_sink_chain_unlocked (): /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage: Received buffer without a new-segment. Assuming timestamps start from 0. Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock *** glibc detected *** /usr/bin/gst-launch-0.10: free(): invalid pointer: 0xb5b55008 *** ======= Backtrace: ========= Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information: The backtrace from gdb
+ Trace 210164
Could be another instance of bug 327350. Are you running on a PPC machine?
(In reply to comment #1) > Could be another instance of bug 327350. Are you running on a PPC machine? Nope, I'm on x86.
Using the Debian 0.10.21-5 packages, I can reproduce this crash (so marking as NEW), but my error output is a little different. WARNING: from element /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage: Internal data flow problem. Additional debug info: gstbasesink.c(2689): gst_base_sink_chain_unlocked (): /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage: Received buffer without a new-segment. Assuming timestamps start from 0. Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "playbin0". Execution ended after 6139028703 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... *** glibc detected *** /usr/bin/gst-launch-0.10: free(): invalid pointer: 0xb4af5008 ***
+ Trace 210196
Created attachment 123346 [details] Valgrind log Just ran this through Valgrind. Full log is attached, but here's the first error (using libmpeg2-4 version 0.5.1-1): Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ==17621== Thread 2: ==17621== Invalid write of size 8 ==17621== at 0x703B668: mpeg2_idct_copy_sse2 (in /usr/lib/libmpeg2.so.0.1.0) ==17621== Address 0x8b7f170 is 691,208 bytes inside a block of size 691,215 alloc'd ==17621== at 0x4023D6E: malloc (vg_replace_malloc.c:207) ==17621== by 0x416D973: g_malloc (gmem.c:131) ==17621== by 0x405F46B: gst_buffer_new_and_alloc (gstbuffer.c:328) ==17621== by 0x701256A: gst_mpeg2dec_chain (gstmpeg2dec.c:474) ==17621== by 0x4085E88: gst_pad_chain_unchecked (gstpad.c:3877) ==17621== by 0x40870C9: gst_pad_push (gstpad.c:4045) ==17621== by 0x4AB8BF7: stop_typefinding (gsttypefindelement.c:476) ==17621== by 0x4AB9678: gst_type_find_element_chain (gsttypefindelement.c:692) ==17621== by 0x4085E88: gst_pad_chain_unchecked (gstpad.c:3877) ==17621== by 0x40870C9: gst_pad_push (gstpad.c:4045) ==17621== by 0x4077CA9: gst_proxy_pad_do_chain (gstghostpad.c:207) ==17621== by 0x4085E88: gst_pad_chain_unchecked (gstpad.c:3877)
The gstreamer element doesn't support 4:4:4 video. Well, now it does: 2008-11-24 David Schleef <ds@schleef.org> * ext/mpeg2dec/gstmpeg2dec.c: * ext/mpeg2dec/gstmpeg2dec.h: Add support for 4:4:4 video. Fixes #562086
This patch breaks playback of http://gstreamer.freedesktop.org/media/incoming/mxf/opencubetech.com/op1a-mpeg2-wave_hd.mxf and other files. Without the patch they play fine, with the patch mpeg2dec believes that they're 444 files and ffmpegcolorspace complains about wrong buffer sizes: ** (gst-launch-0.10:20094): WARNING **: vconv: size 6266880 is not a multiple of unit size 6220800
2008-12-01 Sebastian Dröge <sebastian.droege@collabora.co.uk> * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format): Last change introduced a regression that made mpeg2dec handle some 4:2:2 videos as 4:4:4. Fixes bug #562086.