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 662871 - Crash in theoradec when using uridecodebin and filtered caps
Crash in theoradec when using uridecodebin and filtered caps
Status: RESOLVED DUPLICATE of bug 662199
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-10-27 18:09 UTC by Vincent Penquerc'h
Modified: 2011-10-28 09:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Vincent Penquerc'h 2011-10-27 18:09:53 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).
Comment 1 Vincent Penquerc'h 2011-10-28 09:54:30 UTC

*** This bug has been marked as a duplicate of bug 662199 ***