v4l2allocator: Fix userptr importation
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 13 Jul 2018 18:41:13 +0000 (14:41 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Sat, 14 Jul 2018 02:58:35 +0000 (22:58 -0400)
The length passed to the driver was always 0 instead of the size of
the memory. This would fail validation in videobuf2.

sys/v4l2/gstv4l2allocator.c

index 34a581b..7e0e7c2 100644 (file)
@@ -1149,13 +1149,11 @@ gst_v4l2_allocator_import_userptr (GstV4l2Allocator * allocator,
   for (i = 0; i < group->n_mem; i++) {
     gsize maxsize, psize;
 
-    if (V4L2_TYPE_IS_MULTIPLANAR (obj->type)) {
-      maxsize = group->planes[i].length;
-      psize = size[i];
-    } else {
-      maxsize = group->planes[i].length;
-      psize = img_size;
-    }
+    /* TODO request used size and maxsize seperatly */
+    if (V4L2_TYPE_IS_MULTIPLANAR (obj->type))
+      maxsize = psize = size[i];
+    else
+      maxsize = psize = img_size;
 
     g_assert (psize <= img_size);