From 0d69b9d3ccb943f416a87cb3d1a6c6b1f519a891 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Fri, 9 Feb 2018 12:32:52 +1100 Subject: [PATCH] gldownload: remove texture-target field from dmabuf/sysmem caps https://bugzilla.gnome.org/show_bug.cgi?id=792342 --- ext/gl/gstgldownloadelement.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ext/gl/gstgldownloadelement.c b/ext/gl/gstgldownloadelement.c index c8f101eaab..826e98350c 100644 --- a/ext/gl/gstgldownloadelement.c +++ b/ext/gl/gstgldownloadelement.c @@ -159,6 +159,18 @@ _set_caps_features (const GstCaps * caps, const gchar * feature_name) return tmp; } +static void +_remove_field (GstCaps * caps, const gchar * field) +{ + guint n = gst_caps_get_size (caps); + guint i = 0; + + for (i = 0; i < n; i++) { + GstStructure *s = gst_caps_get_structure (caps, i); + gst_structure_remove_field (s, field); + } +} + static GstCaps * gst_gl_download_element_transform_caps (GstBaseTransform * bt, GstPadDirection direction, GstCaps * caps, GstCaps * filter) @@ -174,10 +186,12 @@ gst_gl_download_element_transform_caps (GstBaseTransform * bt, #if GST_GL_HAVE_PLATFORM_EGL && GST_GL_HAVE_DMABUF newcaps = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_DMABUF); + _remove_field (newcaps, "texture-target"); tmp = gst_caps_merge (tmp, newcaps); #endif newcaps = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY); + _remove_field (newcaps, "texture-target"); tmp = gst_caps_merge (tmp, newcaps); }