v4l2object: Pool might be NULL in decide allocation
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 3 Jul 2014 19:21:18 +0000 (15:21 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 3 Jul 2014 19:30:01 +0000 (15:30 -0400)
If special stride is needed and downstream don't support VideoMeta,
pool might be NULL in order to let the baseclass create a generic
pool­. This would lead to assertion with on Exynos with:

gst-launch-1.0 -v filesrc location=mov ! qtdemux ! h264parse ! \
                    v4l2video8dec ! fakesink

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

sys/v4l2/gstv4l2object.c

index 83598ae..3b22b1a 100644 (file)
@@ -3360,11 +3360,13 @@ setup_other_pool:
     }
   }
 
-  /* For simplicity, simply read back the active configuration, so our base
-   * class get the right information */
-  config = gst_buffer_pool_get_config (pool);
-  gst_buffer_pool_config_get_params (config, NULL, &size, &min, &max);
-  gst_structure_free (config);
+  if (pool) {
+    /* For simplicity, simply read back the active configuration, so our base
+     * class get the right information */
+    config = gst_buffer_pool_get_config (pool);
+    gst_buffer_pool_config_get_params (config, NULL, &size, &min, &max);
+    gst_structure_free (config);
+  }
 
 done:
   if (update)