From 9d4579b38aab0b669e0492e40502ea02b1075637 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Thu, 6 Sep 2012 16:31:00 +0200 Subject: [PATCH] deinterlace: support filter in getcaps --- gst/deinterlace/gstdeinterlace.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gst/deinterlace/gstdeinterlace.c b/gst/deinterlace/gstdeinterlace.c index 5f2fe2c9a6..d4597ad3e4 100644 --- a/gst/deinterlace/gstdeinterlace.c +++ b/gst/deinterlace/gstdeinterlace.c @@ -2115,7 +2115,6 @@ gst_fraction_double (gint * n_out, gint * d_out, gboolean half) return TRUE; } -/* FIXME: use filter in getcaps */ static GstCaps * gst_deinterlace_getcaps (GstDeinterlace * self, GstPad * pad, GstCaps * filter) { @@ -2246,6 +2245,16 @@ gst_deinterlace_getcaps (GstDeinterlace * self, GstPad * pad, GstCaps * filter) } } + if (filter) { + GstCaps *filter_caps; + + GST_LOG_OBJECT (pad, "intersecting with %" GST_PTR_FORMAT, filter); + filter_caps = gst_caps_intersect_full (filter, ret, + GST_CAPS_INTERSECT_FIRST); + gst_caps_unref (ret); + ret = filter_caps; + } + GST_DEBUG_OBJECT (pad, "Returning caps %" GST_PTR_FORMAT, ret); return ret;