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 321386 - [SEGFAULT] basetransform when doing reverse caps negotiation
[SEGFAULT] basetransform when doing reverse caps negotiation
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: High critical
: 0.9.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-11-13 18:46 UTC by Julien MOUTTE
Modified: 2005-11-22 20:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Here is a patch for this bug (961 bytes, patch)
2005-11-13 18:48 UTC, Julien MOUTTE
none Details | Review

Description Julien MOUTTE 2005-11-13 18:46:50 UTC
When preparing the output buffer base transform passes the caps of the source
pad using the GST_PAD_CAPS macro. This prepare_output_buf function calls
gst_pad_alloc_buffer and check the returned caps for reverse negotiation.

The problem here is that the out_caps have been unreffed by the configuration of
the source pad that happened in gst_pad_alloc_buffer. This is a crasher with
gst_caps_is_equal on this out_caps variable.

As we definitely want to use the original caps for the output buffer in this
case we need to ref/unref out_caps in the prepare_output_buf function.
Comment 1 Julien MOUTTE 2005-11-13 18:48:04 UTC
Created attachment 54707 [details] [review]
Here is a patch for this bug

That fixes caps negotiation correctly for me.