Blob Blame History Raw
diff --cc libcheese/cheese-camera-device.c
index e994c5f5,8f1e13af..00000000
--- a/libcheese/cheese-camera-device.c
+++ b/libcheese/cheese-camera-device.c
@@@ -181,18 -219,8 +181,19 @@@ cheese_camera_device_filter_caps (Chees
  {
    GstCaps *filter;
    GstCaps *allowed;
 +  gsize i;
 +
 +  filter = gst_caps_new_empty ();
  
 -    filter = format_caps (formats);
 +  for (i = 0; formats[i] != NULL; i++)
 +  {
 +    gst_caps_append (filter,
 +                     gst_caps_new_simple (formats[i],
 +                                          "framerate", GST_TYPE_FRACTION_RANGE,
 +                                          0, 1, CHEESE_MAXIMUM_RATE, 1,
++                                          "format", G_TYPE_STRING, "YUY2",
 +                                          NULL));
 +  }
  
    allowed = gst_caps_intersect (caps, filter);
  
diff --git a/libcheese/cheese-camera-device-monitor.c b/libcheese/cheese-camera-device-monitor.c
index 5b4b43b5..a15733bd 100644
--- a/libcheese/cheese-camera-device-monitor.c
+++ b/libcheese/cheese-camera-device-monitor.c
@@ -294,7 +294,7 @@ initable_init (GInitable     *initable,
   gst_bus_add_watch (bus, cheese_camera_device_monitor_bus_func, monitor);
   gst_object_unref (bus);
 
-  caps = gst_caps_new_empty_simple ("video/x-raw");
+  caps = gst_caps_new_simple ("video/x-raw", "format", G_TYPE_STRING, "YUY2", NULL);
   gst_device_monitor_add_filter (priv->monitor, "Video/Source", caps);
   gst_caps_unref (caps);