diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-11-20 21:33:59 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-11-20 21:37:24 +0100 |
commit | a7f3571d0230229a9f46bc09976631d520684d46 (patch) | |
tree | 6bf026bfd3876178eea1d57fb8fadc8221de92ad /libs | |
parent | c9264100dbcd787ac58b302c12c628dc7392132f (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.c | 2 |
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); } |