Blob Blame History Raw
diff -up cheese-2.23.91/src/cheese-webcam.c.foo cheese-2.23.91/src/cheese-webcam.c
--- cheese-2.23.91/src/cheese-webcam.c.foo	2008-09-03 22:43:48.000000000 +0200
+++ cheese-2.23.91/src/cheese-webcam.c	2008-09-03 22:44:46.000000000 +0200
@@ -742,10 +742,13 @@ cheese_webcam_create_webcam_source_bin (
                             &framerate_denominator);
 
     webcam_input = g_strdup_printf (
-      "%s name=video_source device=%s ! capsfilter name=capsfilter caps=%s,width=%d,height=%d,framerate=%d/%d ! identity",
+      "%s name=video_source device=%s ! capsfilter name=capsfilter caps=video/x-raw-rgb,width=%d,height=%d,framerate=%d/%d;video/x-raw-yuv,width=%d,height=%d,framerate=%d/%d ! identity",
       selected_webcam->gstreamer_src,
       selected_webcam->video_device,
-      format->mimetype,
+      format->width,
+      format->height,
+      framerate_numerator,
+      framerate_denominator,
       format->width,
       format->height,
       framerate_numerator,
@@ -1541,7 +1544,7 @@ cheese_webcam_set_video_format (CheeseWe
 
   find_highest_framerate (format, &framerate_numerator, &framerate_denominator);
 
-  new_caps = gst_caps_new_simple (format->mimetype,
+  new_caps = gst_caps_new_simple ("video/x-raw-rgb",
                                   "width", G_TYPE_INT,
                                   format->width,
                                   "height", G_TYPE_INT,
@@ -1551,6 +1554,16 @@ cheese_webcam_set_video_format (CheeseWe
                                   framerate_denominator,
                                   NULL);
 
+  gst_caps_append(new_caps, gst_caps_new_simple ("video/x-raw-yuv",
+                                  "width", G_TYPE_INT,
+                                  format->width,
+                                  "height", G_TYPE_INT,
+                                  format->height,
+                                  "framerate", GST_TYPE_FRACTION,
+                                  framerate_numerator,
+                                  framerate_denominator,
+                                  NULL));
+
   priv->current_format = format;
 
   cheese_webcam_stop (webcam);