glmemory: Fix n_wrapped_pointers usage
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Wed, 7 Jun 2017 16:00:08 +0000 (18:00 +0200)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 11 Sep 2018 03:02:46 +0000 (23:02 -0400)
gst_gl_memory_setup_buffer() was not properly using the number
of pointers to wrapped. This also fixes the validation, as we
only support 1 wrapper per view, or num_planes * views wrapper.

https://bugzilla.gnome.org/show_bug.cgi?id=783521

gst-libs/gst/gl/gstglmemory.c

index bf9782d..5ef783b 100644 (file)
@@ -1433,8 +1433,13 @@ gst_gl_memory_setup_buffer (GstGLMemoryAllocator * allocator,
   else
     views = 1;
 
+  if (n_wrapped_pointers == views)
+    n_mem = 1;
+
+  /* Sanity check for the code below; there should be as many pointers as the
+   * number of memory we are going to create */
   g_return_val_if_fail (!wrapped_data
-      || views * n_mem != n_wrapped_pointers, FALSE);
+      || n_mem * views == n_wrapped_pointers, FALSE);
 
   for (v = 0; v < views; v++) {
     for (i = 0; i < n_mem; i++) {