mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 09:40:37 +00:00
basetransform: Handle buffers with NULL caps correctly
This means that the caps didn't change so don't try to handle the NULL caps as the new caps.
This commit is contained in:
parent
b3d30dd459
commit
0a0c32ef88
1 changed files with 3 additions and 2 deletions
|
@ -1253,7 +1253,7 @@ gst_base_transform_prepare_output_buffer (GstBaseTransform * trans,
|
||||||
/* check if we got different caps on this new output buffer */
|
/* check if we got different caps on this new output buffer */
|
||||||
newcaps = GST_BUFFER_CAPS (*out_buf);
|
newcaps = GST_BUFFER_CAPS (*out_buf);
|
||||||
newsize = GST_BUFFER_SIZE (*out_buf);
|
newsize = GST_BUFFER_SIZE (*out_buf);
|
||||||
if (!gst_caps_is_equal (newcaps, oldcaps)) {
|
if (newcaps && !gst_caps_is_equal (newcaps, oldcaps)) {
|
||||||
GstCaps *othercaps;
|
GstCaps *othercaps;
|
||||||
gboolean can_convert;
|
gboolean can_convert;
|
||||||
|
|
||||||
|
@ -1394,7 +1394,8 @@ gst_base_transform_prepare_output_buffer (GstBaseTransform * trans,
|
||||||
* check. This is needed when we receive different pointers on the sinkpad
|
* check. This is needed when we receive different pointers on the sinkpad
|
||||||
* that mean the same caps. What we then want to do is prefer those caps over
|
* that mean the same caps. What we then want to do is prefer those caps over
|
||||||
* the ones on the srcpad and set the srcpad caps to the buffer caps */
|
* the ones on the srcpad and set the srcpad caps to the buffer caps */
|
||||||
setcaps = (newcaps != outcaps) && (!gst_caps_is_equal (newcaps, outcaps));
|
setcaps = !newcaps || ((newcaps != outcaps)
|
||||||
|
&& (!gst_caps_is_equal (newcaps, outcaps)));
|
||||||
/* we need to modify the metadata when the element is not gap aware,
|
/* we need to modify the metadata when the element is not gap aware,
|
||||||
* passthrough is not used and the gap flag is set */
|
* passthrough is not used and the gap flag is set */
|
||||||
copymeta |= !trans->priv->gap_aware && !trans->passthrough
|
copymeta |= !trans->priv->gap_aware && !trans->passthrough
|
||||||
|
|
Loading…
Reference in a new issue