From e016324d31626e9f1c172ddf107ca7ca2c25d67d Mon Sep 17 00:00:00 2001 From: Julien Isorce Date: Tue, 24 Jun 2014 19:23:01 +0100 Subject: [PATCH] glfilter: prepend intersection to src caps Prefer to stay in the same memory space if possible. Also it let a chance to do passthrough. See https://bugzilla.gnome.org/show_bug.cgi?id=732178 --- gst-libs/gst/gl/gstglfilter.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c index 250ae39eea..c0c79f3b11 100644 --- a/gst-libs/gst/gl/gstglfilter.c +++ b/gst-libs/gst/gl/gstglfilter.c @@ -757,6 +757,12 @@ gst_gl_filter_transform_caps (GstBaseTransform * bt, result = tmp; } + /* if output still intersects input then prefer the intersection */ + if (direction == GST_PAD_SINK) { + tmp = gst_caps_intersect_full (result, caps, GST_CAPS_INTERSECT_FIRST); + result = gst_caps_merge (tmp, result); + } + GST_DEBUG_OBJECT (bt, "returning caps: %" GST_PTR_FORMAT, result); return result;