Skip unneeded pixelformats during probe
authorJussi Saavalainen <jussi.saavalainen@ixonos.com>
Fri, 8 Feb 2013 13:22:21 +0000 (15:22 +0200)
committerJussi Saavalainen <jussi.saavalainen@ixonos.com>
Fri, 8 Feb 2013 13:22:21 +0000 (15:22 +0200)
Change-Id: Ic431e6d78f0f15df66cc023e2005d1b2abc90853

gst/mfldv4l2cam/v4l2camsrc_calls.c

index 849ac17..d6a600a 100644 (file)
@@ -1303,6 +1303,15 @@ gst_v4l2camsrc_format_cmp_func (gconstpointer a, gconstpointer b)
       gst_v4l2camsrc_format_get_rank (fa);
 }
 
+static gboolean is_supported_pixelformat(guint32 fourcc)
+{
+  if(fourcc == V4L2_PIX_FMT_NV12
+      || fourcc == V4L2_PIX_FMT_YUV420
+      || fourcc == V4L2_PIX_FMT_SGRBG10)
+    return TRUE;
+  return FALSE;
+}
+
 /******************************************************
  * gst_v4l2camsrc_fill_format_list():
  *   create list of supported capture formats
@@ -1331,6 +1340,10 @@ gst_v4l2camsrc_fill_format_list (GstMFLDV4l2CamSrc * v4l2camsrc)
         goto failed;
       }
     }
+    if(!is_supported_pixelformat(format->pixelformat)) {
+      GST_LOG_OBJECT(v4l2camsrc, "  (skipping format %" GST_FOURCC_FORMAT ")",GST_FOURCC_ARGS (format->pixelformat));
+      continue;
+    }
 
     GST_LOG_OBJECT (v4l2camsrc, "index:       %u", format->index);
     GST_LOG_OBJECT (v4l2camsrc, "type:        %d", format->type);