GNOME Bugzilla – Bug 334707
ffmpeg reads past the end of data passed to it
Last modified: 2008-01-23 18:46:42 UTC
Steps to reproduce: 1. Load the attached file in gstreamer 2. Seek forwards to about half way 3. Seek consecutively backwards a few times by dragging the slider. Totem (gstreamer will crash) Stack trace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1269171280 (LWP 5585)] 0xb4706b1e in compute_mb_neighboors () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/gstreamer-0.10/libgstffmpeg.so (gdb) * Undefined command: "". Try "help". (gdb) Undefined command: "". Try "help". (gdb) thread apply all bt
+ Trace 66971
Thread 1 (Thread -1224853824 (LWP 5569))
Other information: Running Ubuntu Dapper Flight5 with latest updates. I have installed all available debug debs. This doesnt happen when seeking forwards ony when seeking backwards
The file which causes the crash can be found at http://john.greenbirdsystems.com/files/bugs/narf2006_xp_mac.mov
crashes in ffmpeg, possibly caused by qtdemux not doing proper keyframe seeks.
moving to -bad as this is where qtdemux lives.
implementing keyframe seeking makes this file not crash so this bug will technically be fixed in 0.10.2. There are however a few cases where ffmpeg reads past the end of the buffer, changing the subject to reflect new bug we're trying to fix.
*** Bug 411220 has been marked as a duplicate of this bug. ***
*** Bug 424809 has been marked as a duplicate of this bug. ***
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (get_output_buffer), (gst_ffmpegdec_chain), (gst_ffmpegdec_change_state), (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): Add padding to input data before feeding it to ffmpeg. Also add option to disable this (although it does not seem to cause slowdown).