46 lines
2.1 KiB
Diff
46 lines
2.1 KiB
Diff
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);
|