summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2008-03-23 23:45:22 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2008-03-23 23:45:22 +0000
commit1829a9456b97dae2dd917f112873516eb713d4c5 (patch)
treee9865365acf38752bcb04d644a590f92a85949fe /media-video/cheese/files
parentppc stable, bug #214077 (diff)
downloadhistorical-1829a9456b97dae2dd917f112873516eb713d4c5.tar.gz
historical-1829a9456b97dae2dd917f112873516eb713d4c5.tar.bz2
historical-1829a9456b97dae2dd917f112873516eb713d4c5.zip
Initial ebuild for cheese. Thanks to Mikel Olasagasti for ebuild submission and guys on bug #184115.
Include fixes from bug #213221. Package-Manager: portage-2.1.4.4
Diffstat (limited to 'media-video/cheese/files')
-rw-r--r--media-video/cheese/files/cheese-2.22.0-strcmp-device-name.patch12
-rw-r--r--media-video/cheese/files/cheese-2.22.0-webcam-caps.patch67
2 files changed, 79 insertions, 0 deletions
diff --git a/media-video/cheese/files/cheese-2.22.0-strcmp-device-name.patch b/media-video/cheese/files/cheese-2.22.0-strcmp-device-name.patch
new file mode 100644
index 000000000000..ab8bda475c24
--- /dev/null
+++ b/media-video/cheese/files/cheese-2.22.0-strcmp-device-name.patch
@@ -0,0 +1,12 @@
+diff -ru cheese-2.22.0.orig/src/cheese-webcam.c cheese-2.22.0/src/cheese-webcam.c
+--- cheese-2.22.0.orig/src/cheese-webcam.c 2008-03-10 13:36:59.000000000 -0400
++++ cheese-2.22.0/src/cheese-webcam.c 2008-03-12 21:10:54.012657588 -0400
+@@ -579,7 +579,7 @@
+ selected_device = 0;
+ for (i = 1; i < priv->num_webcam_devices ; i++)
+ {
+- if (strcmp (priv->webcam_devices[i].video_device, priv->device_name) == 0)
++ if (g_strcmp0 (priv->webcam_devices[i].video_device, priv->device_name) == 0)
+ selected_device = i;
+ }
+ CheeseWebcamDevice *selected_webcam = &(priv->webcam_devices[selected_device]);
diff --git a/media-video/cheese/files/cheese-2.22.0-webcam-caps.patch b/media-video/cheese/files/cheese-2.22.0-webcam-caps.patch
new file mode 100644
index 000000000000..15e9ef4cdeee
--- /dev/null
+++ b/media-video/cheese/files/cheese-2.22.0-webcam-caps.patch
@@ -0,0 +1,67 @@
+--- trunk/src/cheese-webcam.c 2008/03/13 12:32:22 592
++++ trunk/src/cheese-webcam.c 2008/03/13 12:37:16 594
+@@ -562,11 +562,10 @@
+ CheeseWebcamPrivate* priv = CHEESE_WEBCAM_GET_PRIVATE (webcam);
+ GError *err = NULL;
+ char *webcam_input;
+-
++
+ if (priv->num_webcam_devices == 0)
+ {
+- priv->webcam_source_bin = gst_parse_bin_from_description ("videotestsrc name=video_source",
+- TRUE, &err);
++ goto fallback;
+ }
+ else
+ {
+@@ -588,12 +587,16 @@
+ format = &(g_array_index (selected_webcam->video_formats, CheeseVideoFormat, 0));
+ for (i = 1; i < selected_webcam->num_video_formats; i++)
+ {
+-
++
+ if (g_array_index (selected_webcam->video_formats, CheeseVideoFormat, i).width > format->width)
+ {
+ format = &(g_array_index (selected_webcam->video_formats, CheeseVideoFormat, i));
+ }
+ }
++
++ if (format == NULL)
++ goto fallback;
++
+ /* Select the highest framerate up to 30 Hz*/
+ framerate_numerator = 1;
+ framerate_denominator = 1;
+@@ -620,15 +623,29 @@
+
+ priv->webcam_source_bin = gst_parse_bin_from_description (webcam_input,
+ TRUE, &err);
+- g_free (webcam_input);
++ g_free (webcam_input);
++
++ if ( priv->webcam_source_bin == NULL)
++ goto fallback;
+ }
++
++ priv->video_source = gst_bin_get_by_name (GST_BIN (priv->webcam_source_bin), "video_source");
++ return TRUE;
++
++fallback:
+ if (err != NULL)
+ {
+ g_error_free (err);
+- return FALSE;
++ err = NULL;
+ }
+
+- priv->video_source = gst_bin_get_by_name (GST_BIN (priv->webcam_source_bin), "video_source");
++ priv->webcam_source_bin = gst_parse_bin_from_description ("videotestsrc name=video_source",
++ TRUE, &err);
++ if (err != NULL)
++ {
++ g_error_free (err);
++ return FALSE;
++ }
+ return TRUE;
+ }
+