gst/base/gstbasetransform.c: Ref the source pad caps while we need them.

Original commit message from CVS:
2005-11-14  Julien MOUTTE  <julien@moutte.net>

* gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf):
Ref the source pad caps while we need them.
Fixes (#321386)
This commit is contained in:
Julien Moutte 2005-11-14 10:49:35 +00:00
parent c2ff34b778
commit be483e517b
4 changed files with 18 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2005-11-14 Julien MOUTTE <julien@moutte.net>
* gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buf):
Ref the source pad caps while we need them.
Fixes (#321386)
2005-11-11 Wim Taymans <wim@fluendo.com>
* docs/gst/gstreamer-sections.txt:

2
common

@ -1 +1 @@
Subproject commit 959da4a43c2e6218eb4f43e8c7e29c1db4157db1
Subproject commit c6e5de72d79afdcad7d7b3cf4a35305f7f3ddebc

View file

@ -809,6 +809,10 @@ gst_base_transform_prepare_output_buf (GstBaseTransform * trans,
* the old buffer. We will therefore delay the reconfiguration of the
* element until we have processed this last buffer. */
trans->delay_configure = TRUE;
/* out_caps is the caps of the src pad gathered through the GST_PAD_CAPS
macro. If a set_caps occurs during this function this caps will become
invalid. We want to keep them during preparation of the output buffer. */
gst_caps_ref (out_caps);
/* see if the subclass wants to alloc a buffer */
if (bclass->prepare_output_buffer) {
@ -869,6 +873,7 @@ gst_base_transform_prepare_output_buf (GstBaseTransform * trans,
}
done:
gst_caps_unref (out_caps);
trans->delay_configure = FALSE;
return ret;

View file

@ -809,6 +809,10 @@ gst_base_transform_prepare_output_buf (GstBaseTransform * trans,
* the old buffer. We will therefore delay the reconfiguration of the
* element until we have processed this last buffer. */
trans->delay_configure = TRUE;
/* out_caps is the caps of the src pad gathered through the GST_PAD_CAPS
macro. If a set_caps occurs during this function this caps will become
invalid. We want to keep them during preparation of the output buffer. */
gst_caps_ref (out_caps);
/* see if the subclass wants to alloc a buffer */
if (bclass->prepare_output_buffer) {
@ -869,6 +873,7 @@ gst_base_transform_prepare_output_buf (GstBaseTransform * trans,
}
done:
gst_caps_unref (out_caps);
trans->delay_configure = FALSE;
return ret;