summaryrefslogtreecommitdiff
path: root/gst/interleave
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-09-30 12:30:59 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-09-30 12:48:30 -0300
commitb71d9b178382a92daf40ab708fbdd2c2c3ac819a (patch)
treedd0eebfb93a39de9596b5c7ecd47179c75679585 /gst/interleave
parent74c05502f7cc40395e0f45bafa8eff88b595333d (diff)
downloadgstreamer-plugins-good-b71d9b178382a92daf40ab708fbdd2c2c3ac819a.tar.gz
deinterleave: use the caps query filter
It was being ignored and would lead to wrong results if the element doing the query would rely on the intersection being made.
Diffstat (limited to 'gst/interleave')
-rw-r--r--gst/interleave/deinterleave.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gst/interleave/deinterleave.c b/gst/interleave/deinterleave.c
index 074d812bb..345829f07 100644
--- a/gst/interleave/deinterleave.c
+++ b/gst/interleave/deinterleave.c
@@ -567,6 +567,14 @@ gst_deinterleave_getcaps (GstPad * pad, GstObject * parent, GstCaps * filter)
}
GST_OBJECT_UNLOCK (self);
+ if (filter) {
+ GstCaps *aux;
+
+ aux = gst_caps_intersect (ret, filter);
+ gst_caps_unref (ret);
+ ret = aux;
+ }
+
GST_DEBUG_OBJECT (pad, "Intersected caps to %" GST_PTR_FORMAT, ret);
return ret;