GNOME Bugzilla – Bug 321386
[SEGFAULT] basetransform when doing reverse caps negotiation
Last modified: 2005-11-22 20:31:09 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.
Created attachment 54707 [details] [review] Here is a patch for this bug That fixes caps negotiation correctly for me.