v4l2: don't check stride for encoded formats
authorBenjamin Gaignard <benjamin.gaignard@stericsson.com>
Fri, 15 Feb 2013 15:21:21 +0000 (16:21 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 15 Feb 2013 15:23:23 +0000 (16:23 +0100)
Don't try to check the stride for encoded formats. Some drivers output
something != 0 and then we don't want to fail on that.

sys/v4l2/gstv4l2bufferpool.c

index fba236c..0a94818 100644 (file)
@@ -266,10 +266,12 @@ gst_v4l2_buffer_pool_set_config (GstBufferPool * bpool, GstStructure * config)
       gst_buffer_pool_config_has_option (config,
       GST_BUFFER_POOL_OPTION_VIDEO_META);
 
-  if (!pool->add_videometa) {
+  if (!pool->add_videometa &&
+      GST_VIDEO_INFO_FORMAT (&obj->info) != GST_VIDEO_FORMAT_ENCODED) {
     gint stride;
 
-    /* we don't have video metadata, see if the strides are compatible */
+    /* we don't have video metadata, and we are not dealing with raw video,
+     * see if the strides are compatible */
     stride = GST_VIDEO_INFO_PLANE_STRIDE (&obj->info, 0);
 
     GST_DEBUG_OBJECT (pool, "no videometadata, checking strides %d and %u",