From 045aa4ee7ec58450db4b0cfd8153fafcc4d456d3 Mon Sep 17 00:00:00 2001 From: Julien Isorce Date: Tue, 24 Jun 2014 19:23:01 +0100 Subject: 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(+) (limited to 'gst-libs') diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c index 250ae39ee..c0c79f3b1 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; -- cgit v1.2.3