glcolorconvert: don't intersect with the input caps

that limits our formats to whatever is in the input caps
This commit is contained in:
Matthew Waters 2015-02-05 11:04:05 +11:00
parent 2cd9d30340
commit 8c91da6f75

View file

@ -635,20 +635,17 @@ GstCaps *
gst_gl_color_convert_transform_caps (GstGLContext * convert, gst_gl_color_convert_transform_caps (GstGLContext * convert,
GstPadDirection direction, GstCaps * caps, GstCaps * filter) GstPadDirection direction, GstCaps * caps, GstCaps * filter)
{ {
GstCaps *templ, *result, *tmp; GstCaps *templ, *result;
templ = templ =
gst_caps_from_string (GST_VIDEO_CAPS_MAKE_WITH_FEATURES gst_caps_from_string (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_GL_MEMORY, GST_GL_COLOR_CONVERT_FORMATS)); (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, GST_GL_COLOR_CONVERT_FORMATS));
tmp = gst_caps_intersect_full (caps, templ, GST_CAPS_INTERSECT_FIRST);
gst_caps_unref (templ);
if (filter) { if (filter) {
result = gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST); result = gst_caps_intersect_full (filter, templ, GST_CAPS_INTERSECT_FIRST);
gst_caps_unref (tmp); gst_caps_unref (templ);
} else { } else {
result = tmp; result = templ;
} }
return result; return result;