summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2018-07-05 15:17:30 +0200
committerNicolas Dufresne <nicolas.dufresne@collabora.com>2018-09-10 23:03:03 -0400
commitd7eb48cce7ddb2b9f0d0bee84f66516c8113d167 (patch)
treeca59aacbd8f611fef34a41b54e06dc1471ebfe73
parentb1299c179bb185bc78df58dd3af9988e6e1f5490 (diff)
downloadgst-plugins-base-d7eb48cce7ddb2b9f0d0bee84f66516c8113d167.tar.gz
gst-plugins-base-d7eb48cce7ddb2b9f0d0bee84f66516c8113d167.tar.xz
glupload: allow system memory for dmabuf in transform_caps
This should not be necessary, but currently not all plugins that provide dmabuf memory announce this with caps features, e.g. v4l2. The static caps already contain the system memory. It didn't break before because other upload methods provide the necessary transformation. https://bugzilla.gnome.org/show_bug.cgi?id=783521
-rw-r--r--gst-libs/gst/gl/gstglupload.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index 899cc0016..d609c8a07 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -533,10 +533,16 @@ _dma_buf_upload_transform_caps (gpointer impl, GstGLContext * context,
ret = tmp;
} else {
gint i, n;
+ GstCaps *tmp;
ret =
_set_caps_features_with_passthrough (caps,
GST_CAPS_FEATURE_MEMORY_DMABUF, passthrough);
+ tmp =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY, passthrough);
+ gst_caps_append (ret, tmp);
+
n = gst_caps_get_size (ret);
for (i = 0; i < n; i++) {