GNOME Bugzilla – Bug 662871
Crash in theoradec when using uridecodebin and filtered caps
Last modified: 2011-10-28 09:54:30 UTC
It seems the pad alloc gets us a 0 byte buffer when we asked for a frame sized one, and the memcpy overwrites what should not be overwritten. Repro command line: gst-launch-0.10 uridecodebin uri=file://wherever ! 'video/x-raw-yuv' ! ffmpegcolorspace ! 'video/x-raw-rgb' ! ximagesink Introduced by: commit 341d7a4c0dbd69f86faaf1ffd2e94e99bac6f8c9 Author: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Date: Wed Jul 20 14:05:27 2011 +0200 capsfilter: don't assume _get_caps still has to be _set_caps only gets called when the buffer is actually pushed, so there is a reasonably big window between when the initial caps are retrieved and when the caps are set on our src pad. So we can't assume the not having negotiated caps on our src pad means _get_caps still has to be called. Instead simply always suggest the new caps on buffer_alloc. (or at least that's what git bisect points to).
*** This bug has been marked as a duplicate of bug 662199 ***