glupload: allow system memory for dmabuf in transform_caps
authorMichael Olbrich <m.olbrich@pengutronix.de>
Thu, 5 Jul 2018 13:17:30 +0000 (15:17 +0200)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 11 Sep 2018 03:03:03 +0000 (23:03 -0400)
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

gst-libs/gst/gl/gstglupload.c

index 899cc00..d609c8a 100644 (file)
@@ -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++) {