summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-11-20 21:33:59 +0100
committerSebastian Dröge <sebastian@centricular.com>2014-11-20 21:37:24 +0100
commita7f3571d0230229a9f46bc09976631d520684d46 (patch)
tree6bf026bfd3876178eea1d57fb8fadc8221de92ad /libs
parentc9264100dbcd787ac58b302c12c628dc7392132f (diff)
basetransform: Fix caps equality check
Instead of checking if our outcaps are equivalent to the previous incaps, and if that is the case not setting any caps on the pad... compare against our previous outcaps because that's what we care about. Fixes some cases where the outcaps became equivalent to the previous incaps, but the previous outcaps were different and we were then sending buffers downstream that were corresponding to the caps we forgot to set on the pad. Resulting in crashes or image corruption.
Diffstat (limited to 'libs')
-rw-r--r--libs/gst/base/gstbasetransform.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 4153d91dc..285cdc489 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -1374,7 +1374,7 @@ gst_base_transform_setcaps (GstBaseTransform * trans, GstPad * pad,
if (!(ret = gst_base_transform_configure_caps (trans, incaps, outcaps)))
goto failed_configure;
- if (!prev_incaps || !gst_caps_is_equal (outcaps, prev_incaps))
+ if (!prev_incaps || !gst_caps_is_equal (outcaps, prev_outcaps))
/* let downstream know about our caps */
ret = gst_pad_set_caps (trans->srcpad, outcaps);
}