diff --git a/.gitignore b/.gitignore index 24138ea..42a1427 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ cheese-2.31.1.tar.bz2 /cheese-3.9.5.tar.xz /cheese-3.9.90.tar.xz /cheese-3.9.91.tar.xz +/cheese-3.9.92.tar.xz diff --git a/0001-cheese-Don-t-allow-changing-the-camera-and-or-its-re.patch b/0001-cheese-Don-t-allow-changing-the-camera-and-or-its-re.patch deleted file mode 100644 index 0492bfe..0000000 --- a/0001-cheese-Don-t-allow-changing-the-camera-and-or-its-re.patch +++ /dev/null @@ -1,108 +0,0 @@ -From d4288cd182064bca3bc3cd3d62c794737c9db426 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 7 Aug 2013 15:13:57 +0200 -Subject: [PATCH 01/13] cheese: Don't allow changing the camera and/or its - resolution while recording - -Signed-off-by: Hans de Goede ---- - src/cheese-application.vala | 1 + - src/cheese-preferences.vala | 16 +++++++++++++++- - src/cheese-window.vala | 7 +++++++ - 3 files changed, 23 insertions(+), 1 deletion(-) - -diff --git a/src/cheese-application.vala b/src/cheese-application.vala -index 4cbfa49..0f9f33d 100644 ---- a/src/cheese-application.vala -+++ b/src/cheese-application.vala -@@ -160,6 +160,7 @@ public class Cheese.Application : Gtk.Application - main_window.show (); - setup_camera (); - preferences_dialog = new PreferencesDialog (camera); -+ main_window.mode_change_changed.connect (preferences_dialog.enable_camera_controls); - this.add_window (main_window); - } - } -diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index e078cbb..bad3c71 100644 ---- a/src/cheese-preferences.vala -+++ b/src/cheese-preferences.vala -@@ -24,6 +24,7 @@ using Gtk; - public class Cheese.PreferencesDialog : GLib.Object - { - private Cheese.Camera camera; -+ private bool camera_controls_sensitive; - - private GLib.Settings settings; - -@@ -56,6 +57,7 @@ public class Cheese.PreferencesDialog : GLib.Object - public PreferencesDialog (Cheese.Camera camera) - { - this.camera = camera; -+ this.camera_controls_sensitive = true; - - settings = new GLib.Settings ("org.gnome.Cheese"); - -@@ -499,7 +501,7 @@ public class Cheese.PreferencesDialog : GLib.Object - if (camera.get_selected_device ().get_device_node () == dev.get_device_node ()) - source_combo.set_active_iter (iter); - -- if (camera_model.iter_n_children (null) > 1) -+ if (camera_model.iter_n_children (null) > 1 && camera_controls_sensitive) - source_combo.sensitive = true; - } - -@@ -548,6 +550,18 @@ public class Cheese.PreferencesDialog : GLib.Object - } - - /** -+ * Set camera controls sensitivity -+ */ -+ public void enable_camera_controls (bool sensitive) -+ { -+ camera_controls_sensitive = sensitive; -+ photo_resolution_combo.sensitive = sensitive; -+ video_resolution_combo.sensitive = sensitive; -+ if (camera_model.iter_n_children (null) > 1) -+ source_combo.sensitive = sensitive; -+ } -+ -+ /** - * Show the dialog. - */ - public void show () -diff --git a/src/cheese-window.vala b/src/cheese-window.vala -index a406288..bc53b4e 100644 ---- a/src/cheese-window.vala -+++ b/src/cheese-window.vala -@@ -373,6 +373,11 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - } - - /** -+ * Signal raised when mode_change changes -+ */ -+ public signal void mode_change_changed (bool enabled); -+ -+ /** - * Make the media capture mode actions sensitive. - */ - private void enable_mode_change () -@@ -381,6 +386,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - mode.set_enabled (true); - var effects = this.application.lookup_action ("effects") as SimpleAction; - effects.set_enabled (true); -+ mode_change_changed (true); - } - - /** -@@ -392,6 +398,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - mode.set_enabled (false); - var effects = this.application.lookup_action ("effects") as SimpleAction; - effects.set_enabled (false); -+ mode_change_changed (false); - } - - /** --- -1.8.3.1 - diff --git a/0003-cheese-window-Allow-changing-effects-while-shooting-.patch b/0001-cheese-window-Allow-changing-effects-while-shooting-.patch similarity index 78% rename from 0003-cheese-window-Allow-changing-effects-while-shooting-.patch rename to 0001-cheese-window-Allow-changing-effects-while-shooting-.patch index 9fc57eb..fa64a35 100644 --- a/0003-cheese-window-Allow-changing-effects-while-shooting-.patch +++ b/0001-cheese-window-Allow-changing-effects-while-shooting-.patch @@ -1,7 +1,7 @@ -From 1537ad2673843e033035edfe144ffc78bdab5a43 Mon Sep 17 00:00:00 2001 +From 65027bed3ef54b18534e7f3a552bb7275df48b33 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 6 Aug 2013 14:50:00 +0200 -Subject: [PATCH 03/13] cheese-window: Allow changing effects while shooting / +Subject: [PATCH 01/11] cheese-window: Allow changing effects while shooting / recording a video There is no technical reason to disable the effect selector while shooting @@ -18,10 +18,10 @@ Signed-off-by: Hans de Goede 2 files changed, 3 insertions(+), 26 deletions(-) diff --git a/src/cheese-application.vala b/src/cheese-application.vala -index 0f9f33d..9cb5ac5 100644 +index 253e57c..0b6689f 100644 --- a/src/cheese-application.vala +++ b/src/cheese-application.vala -@@ -368,17 +368,8 @@ public class Cheese.Application : Gtk.Application +@@ -369,17 +369,8 @@ public class Cheese.Application : Gtk.Application switch (new_state) { case Gst.State.PLAYING: @@ -41,7 +41,7 @@ index 0f9f33d..9cb5ac5 100644 effects.set_enabled (true); main_window.camera_state_change_playing (); -@@ -491,17 +482,7 @@ public class Cheese.Application : Gtk.Application +@@ -492,17 +483,7 @@ public class Cheese.Application : Gtk.Application { return_if_fail (value != null); @@ -61,27 +61,27 @@ index 0f9f33d..9cb5ac5 100644 } diff --git a/src/cheese-window.vala b/src/cheese-window.vala -index 675a92e..07cf0f4 100644 +index 4585a66..dd8fbfc 100644 --- a/src/cheese-window.vala +++ b/src/cheese-window.vala -@@ -384,8 +384,6 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -379,8 +379,6 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow { var mode = this.application.lookup_action ("mode") as SimpleAction; mode.set_enabled (true); - var effects = this.application.lookup_action ("effects") as SimpleAction; - effects.set_enabled (true); - mode_change_changed (true); + var preferences = this.application.lookup_action ("preferences") as SimpleAction; + preferences.set_enabled (true); } - -@@ -396,8 +394,6 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -392,8 +390,6 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow { var mode = this.application.lookup_action ("mode") as SimpleAction; mode.set_enabled (false); - var effects = this.application.lookup_action ("effects") as SimpleAction; - effects.set_enabled (false); - mode_change_changed (false); + var preferences = this.application.lookup_action ("preferences") as SimpleAction; + preferences.set_enabled (false); } - -- 1.8.3.1 diff --git a/0002-cheese-window-Add-cancel_running_action-method.patch b/0002-cheese-window-Add-cancel_running_action-method.patch index b0d9612..241ef18 100644 --- a/0002-cheese-window-Add-cancel_running_action-method.patch +++ b/0002-cheese-window-Add-cancel_running_action-method.patch @@ -1,7 +1,7 @@ -From 8c401d7fe5c85e60e84d08f1562fd721bef01be0 Mon Sep 17 00:00:00 2001 +From e898276f5fd5c4748766748340fd2cde898ca2e3 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 09:05:19 +0200 -Subject: [PATCH 02/13] cheese-window: Add cancel_running_action () method +Subject: [PATCH 02/11] cheese-window: Add cancel_running_action () method And use it to stop recording / the photo countdown when we get an error while either one is active. @@ -12,10 +12,10 @@ Signed-off-by: Hans de Goede 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/src/cheese-window.vala b/src/cheese-window.vala -index bc53b4e..675a92e 100644 +index dd8fbfc..e117ec2 100644 --- a/src/cheese-window.vala +++ b/src/cheese-window.vala -@@ -724,6 +724,34 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -717,6 +717,34 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow } /** @@ -50,7 +50,7 @@ index bc53b4e..675a92e 100644 * Cancel the current activity if the escape key is pressed. * * @param event the key event, to check which key was pressed -@@ -736,23 +764,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -729,23 +757,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow key = Gdk.keyval_name (event.keyval); if (strcmp (key, "Escape") == 0) { @@ -76,7 +76,7 @@ index bc53b4e..675a92e 100644 } else if (is_effects_selector_active) { -@@ -1154,6 +1168,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -1147,6 +1161,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow */ public void camera_state_change_null () { diff --git a/0005-cheese-preferences-Add-camera_changed-method.patch b/0003-cheese-preferences-Add-camera_changed-method.patch similarity index 81% rename from 0005-cheese-preferences-Add-camera_changed-method.patch rename to 0003-cheese-preferences-Add-camera_changed-method.patch index 5f81bdb..3208677 100644 --- a/0005-cheese-preferences-Add-camera_changed-method.patch +++ b/0003-cheese-preferences-Add-camera_changed-method.patch @@ -1,7 +1,7 @@ -From ce2689370cc4cfd8e2fb3f2fba154a979792d934 Mon Sep 17 00:00:00 2001 +From 6ddb9d4fd4ccf98028c83b924705f66753a16524 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 11:14:16 +0200 -Subject: [PATCH 05/13] cheese-preferences: Add camera_changed () method +Subject: [PATCH 03/11] cheese-preferences: Add camera_changed () method This centralizes camera-change handling, and adds a check for their being no camera removing a whole bunch of glib Critical messages being printed @@ -13,10 +13,10 @@ Signed-off-by: Hans de Goede 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index bad3c71..2f2d679 100644 +index f04660a..44e3547 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -130,6 +130,28 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -128,6 +128,28 @@ public class Cheese.PreferencesDialog : GLib.Object } /** @@ -45,7 +45,7 @@ index bad3c71..2f2d679 100644 * Initialize and populate the camera device combo box model. */ private void initialize_camera_devices () -@@ -142,8 +164,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -140,8 +162,7 @@ public class Cheese.PreferencesDialog : GLib.Object devices.foreach(add_camera_device); @@ -55,7 +55,7 @@ index bad3c71..2f2d679 100644 } /** -@@ -229,8 +250,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -227,8 +248,7 @@ public class Cheese.PreferencesDialog : GLib.Object combo.model.get (iter, 1, out dev); camera.set_device_by_device_node (dev.get_device_node ()); camera.switch_camera_device (); @@ -65,7 +65,7 @@ index bad3c71..2f2d679 100644 } /** -@@ -476,8 +496,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -474,8 +494,7 @@ public class Cheese.PreferencesDialog : GLib.Object } } @@ -75,14 +75,14 @@ index bad3c71..2f2d679 100644 } /** -@@ -498,9 +517,6 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -496,9 +515,6 @@ public class Cheese.PreferencesDialog : GLib.Object 0, dev.get_name () + " (" + dev.get_device_node () + ")", 1, dev); - if (camera.get_selected_device ().get_device_node () == dev.get_device_node ()) - source_combo.set_active_iter (iter); - - if (camera_model.iter_n_children (null) > 1 && camera_controls_sensitive) + if (camera_model.iter_n_children (null) > 1) source_combo.sensitive = true; } -- diff --git a/0004-cheese-camera-Fix-video-recording-with-gstreamer-1.1.patch b/0004-cheese-camera-Fix-video-recording-with-gstreamer-1.1.patch deleted file mode 100644 index 87dd313..0000000 --- a/0004-cheese-camera-Fix-video-recording-with-gstreamer-1.1.patch +++ /dev/null @@ -1,55 +0,0 @@ -From dcccb73f44970d7f8ed8e7d70986f9ffecfc6491 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 3 Sep 2013 15:56:25 +0200 -Subject: [PATCH 04/13] cheese-camera: Fix video recording with gstreamer >= - 1.1.4 - -gstreamer >= 1.1.4 requires us to fully specify the video-capture-source caps, -otherwise cheese prints this: - -(cheese:22606): cheese-WARNING **: Filter caps do not completely specify the output format: gstcapsfilter.c(348): gst_capsfilter_prepare_buf (): /GstCameraBin:camerabin/GstCapsFilter:videobin-capsfilter: -Output caps are unfixed: video/x-raw, framerate=(fraction)30/1, width=(int)640, height=(int)480, format=(string){ YUY2, YV12, BGR, RGB, I420 }, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive - -And video-recording is broken. - -Signed-off-by: Hans de Goede ---- - libcheese/cheese-camera.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/libcheese/cheese-camera.c b/libcheese/cheese-camera.c -index a625359..fdeb973 100644 ---- a/libcheese/cheese-camera.c -+++ b/libcheese/cheese-camera.c -@@ -743,7 +743,7 @@ cheese_camera_set_new_caps (CheeseCamera *camera) - { - CheeseCameraPrivate *priv; - CheeseCameraDevice *device; -- GstCaps *caps; -+ GstCaps *caps, *i420_caps, *video_caps; - gchar *caps_desc; - int width, height; - -@@ -768,8 +768,17 @@ cheese_camera_set_new_caps (CheeseCamera *camera) - g_object_set (gst_bin_get_by_name (GST_BIN (priv->video_source), - "video_source_filter"), "caps", caps, NULL); - g_object_set (priv->camerabin, "viewfinder-caps", caps, -- "image-capture-caps", caps, "video-capture-caps", caps, -- NULL); -+ "image-capture-caps", caps, NULL); -+ -+ /* We must pick a format for the video-source, otherwise gstreamer -+ becomes unhappy */ -+ i420_caps = gst_caps_new_simple ("video/x-raw", -+ "format", G_TYPE_STRING, "I420", NULL); -+ video_caps = gst_caps_intersect (caps, i420_caps); -+ g_object_set (priv->camerabin, "video-capture-caps", video_caps, NULL); -+ -+ gst_caps_unref (i420_caps); -+ gst_caps_unref (video_caps); - gst_caps_unref (caps); - - width = priv->current_format->width; --- -1.8.3.1 - diff --git a/0006-cheese_camera_get_camera_devices-Allow-calling-befor.patch b/0004-cheese_camera_get_camera_devices-Allow-calling-befor.patch similarity index 83% rename from 0006-cheese_camera_get_camera_devices-Allow-calling-befor.patch rename to 0004-cheese_camera_get_camera_devices-Allow-calling-befor.patch index 1fa34a1..3200e6a 100644 --- a/0006-cheese_camera_get_camera_devices-Allow-calling-befor.patch +++ b/0004-cheese_camera_get_camera_devices-Allow-calling-befor.patch @@ -1,7 +1,7 @@ -From 0d94fa92ab66b43f08b2b9d906fe0f4c963424af Mon Sep 17 00:00:00 2001 +From e3480dd3e55665e9e48a39a74fd7ee4e56bc0736 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 11:38:05 +0200 -Subject: [PATCH 06/13] cheese_camera_get_camera_devices: Allow calling before +Subject: [PATCH 04/11] cheese_camera_get_camera_devices: Allow calling before cheese_camera_setup() Signed-off-by: Hans de Goede @@ -10,7 +10,7 @@ Signed-off-by: Hans de Goede 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libcheese/cheese-camera.c b/libcheese/cheese-camera.c -index fdeb973..332780a 100644 +index ab5490d..de066af 100644 --- a/libcheese/cheese-camera.c +++ b/libcheese/cheese-camera.c @@ -363,6 +363,9 @@ cheese_camera_detect_camera_devices (CheeseCamera *camera) @@ -23,7 +23,7 @@ index fdeb973..332780a 100644 priv->num_camera_devices = 0; priv->camera_devices = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); -@@ -1650,13 +1653,11 @@ cheese_camera_setup (CheeseCamera *camera, const gchar *uuid, GError **error) +@@ -1649,13 +1652,11 @@ cheese_camera_setup (CheeseCamera *camera, const gchar *uuid, GError **error) GPtrArray * cheese_camera_get_camera_devices (CheeseCamera *camera) { diff --git a/0007-cheese-Move-camera_setup-to-cheese-preferences.patch b/0005-cheese-Move-camera_setup-to-cheese-preferences.patch similarity index 85% rename from 0007-cheese-Move-camera_setup-to-cheese-preferences.patch rename to 0005-cheese-Move-camera_setup-to-cheese-preferences.patch index 2b0cb51..9e5040e 100644 --- a/0007-cheese-Move-camera_setup-to-cheese-preferences.patch +++ b/0005-cheese-Move-camera_setup-to-cheese-preferences.patch @@ -1,7 +1,7 @@ -From de2a756fd016ecf41963d46bb6c9389ee931611d Mon Sep 17 00:00:00 2001 +From 27d41d89a35c3c6b25f5c908d05c3365721e09bc Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 11:40:41 +0200 -Subject: [PATCH 07/13] cheese: Move camera_setup to cheese-preferences +Subject: [PATCH 05/11] cheese: Move camera_setup to cheese-preferences cheese-preferences already keeps track of which cameras there are and is in control of selecting camera resolution and the source-device. This patch also @@ -19,7 +19,7 @@ Signed-off-by: Hans de Goede 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/cheese-application.vala b/src/cheese-application.vala -index 9cb5ac5..b0d0dbe 100644 +index 0b6689f..aa62a2e 100644 --- a/src/cheese-application.vala +++ b/src/cheese-application.vala @@ -158,8 +158,10 @@ public class Cheese.Application : Gtk.Application @@ -31,10 +31,10 @@ index 9cb5ac5..b0d0dbe 100644 preferences_dialog = new PreferencesDialog (camera); + preferences_dialog.camera_error.connect (main_window.show_error); + preferences_dialog.camera_play (); - main_window.mode_change_changed.connect (preferences_dialog.enable_camera_controls); + var preferences = this.lookup_action ("preferences"); + preferences.notify["enabled"].connect (on_preferences_enabled); this.add_window (main_window); - } -@@ -266,7 +268,7 @@ public class Cheese.Application : Gtk.Application +@@ -267,7 +269,7 @@ public class Cheese.Application : Gtk.Application /** * Setup the camera listed in GSettings. */ @@ -43,7 +43,7 @@ index 9cb5ac5..b0d0dbe 100644 { var effects = this.lookup_action ("effects") as SimpleAction; var mode = this.lookup_action ("mode") as SimpleAction; -@@ -280,19 +282,6 @@ public class Cheese.Application : Gtk.Application +@@ -281,19 +283,6 @@ public class Cheese.Application : Gtk.Application settings.get_int ("photo-x-resolution"), settings.get_int ("photo-y-resolution")); @@ -63,7 +63,7 @@ index 9cb5ac5..b0d0dbe 100644 double value; value = settings.get_double ("brightness"); -@@ -321,7 +310,6 @@ public class Cheese.Application : Gtk.Application +@@ -322,7 +311,6 @@ public class Cheese.Application : Gtk.Application camera.state_flags_changed.connect (on_camera_state_flags_changed); main_window.set_camera (camera); @@ -72,10 +72,10 @@ index 9cb5ac5..b0d0dbe 100644 /** diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index 2f2d679..5bd2ced 100644 +index 44e3547..a73bb46 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -113,6 +113,28 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -111,6 +111,28 @@ public class Cheese.PreferencesDialog : GLib.Object } /** @@ -104,7 +104,7 @@ index 2f2d679..5bd2ced 100644 * Set up combo box cell renderers. */ private void setup_combo_box_models () -@@ -163,8 +185,6 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -161,8 +183,6 @@ public class Cheese.PreferencesDialog : GLib.Object source_combo.sensitive = false; devices.foreach(add_camera_device); diff --git a/0008-cheese-Properly-deal-with-going-from-0-1-devices.patch b/0006-cheese-Properly-deal-with-going-from-0-1-devices.patch similarity index 76% rename from 0008-cheese-Properly-deal-with-going-from-0-1-devices.patch rename to 0006-cheese-Properly-deal-with-going-from-0-1-devices.patch index d4d327d..df0381a 100644 --- a/0008-cheese-Properly-deal-with-going-from-0-1-devices.patch +++ b/0006-cheese-Properly-deal-with-going-from-0-1-devices.patch @@ -1,7 +1,7 @@ -From 55491c023d2d08795c156beb0a43ae8292d74a49 Mon Sep 17 00:00:00 2001 +From a1805cadf3e6f7396a323c26e391cd91c28c829f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 11:59:55 +0200 -Subject: [PATCH 08/13] cheese: Properly deal with going from 0 -> 1 devices +Subject: [PATCH 06/11] cheese: Properly deal with going from 0 -> 1 devices Before this patch cheese showed a "No device found" message when started without any devices connected, and would keep showing this after the user @@ -18,10 +18,10 @@ Signed-off-by: Hans de Goede 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/cheese-application.vala b/src/cheese-application.vala -index b0d0dbe..be4837e 100644 +index aa62a2e..fbb1145 100644 --- a/src/cheese-application.vala +++ b/src/cheese-application.vala -@@ -367,6 +367,7 @@ public class Cheese.Application : Gtk.Application +@@ -368,6 +368,7 @@ public class Cheese.Application : Gtk.Application mode.set_enabled (false); shoot.set_enabled (false); @@ -30,19 +30,19 @@ index b0d0dbe..be4837e 100644 break; default: diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index 5bd2ced..04a77ac 100644 +index a73bb46..06929f5 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -25,6 +25,8 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -24,6 +24,8 @@ using Gtk; + public class Cheese.PreferencesDialog : GLib.Object { private Cheese.Camera camera; - private bool camera_controls_sensitive; + private bool camera_is_setup; + private bool camera_is_playing; private GLib.Settings settings; -@@ -124,8 +126,16 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -122,8 +124,16 @@ public class Cheese.PreferencesDialog : GLib.Object { try { @@ -61,7 +61,7 @@ index 5bd2ced..04a77ac 100644 camera_changed (); } catch (Error err) -@@ -135,6 +145,14 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -133,6 +143,14 @@ public class Cheese.PreferencesDialog : GLib.Object } /** @@ -76,7 +76,7 @@ index 5bd2ced..04a77ac 100644 * Set up combo box cell renderers. */ private void setup_combo_box_models () -@@ -270,7 +288,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -268,7 +286,7 @@ public class Cheese.PreferencesDialog : GLib.Object combo.model.get (iter, 1, out dev); camera.set_device_by_device_node (dev.get_device_node ()); camera.switch_camera_device (); @@ -85,7 +85,7 @@ index 5bd2ced..04a77ac 100644 } /** -@@ -531,6 +549,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -529,6 +547,7 @@ public class Cheese.PreferencesDialog : GLib.Object { TreeIter iter; Cheese.CameraDevice dev = (Cheese.CameraDevice) device; @@ -93,9 +93,9 @@ index 5bd2ced..04a77ac 100644 camera_model.append (out iter); camera_model.set (iter, -@@ -539,6 +558,9 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -537,6 +556,9 @@ public class Cheese.PreferencesDialog : GLib.Object - if (camera_model.iter_n_children (null) > 1 && camera_controls_sensitive) + if (camera_model.iter_n_children (null) > 1) source_combo.sensitive = true; + + if (was_empty) diff --git a/0009-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch b/0007-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch similarity index 79% rename from 0009-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch rename to 0007-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch index 0728f9b..0fe5e1c 100644 --- a/0009-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch +++ b/0007-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch @@ -1,7 +1,7 @@ -From 632e0253bf899a40c5f90a0584fad936189be821 Mon Sep 17 00:00:00 2001 +From 2a27acbbb6786e8a9b35e1c483ceb9dc5b097839 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 13:45:38 +0200 -Subject: [PATCH 09/13] cheese: Avoid unnecessary calls to +Subject: [PATCH 07/11] cheese: Avoid unnecessary calls to switch_camera_device() And thus avoid stopping and restarting the stream for no reason. @@ -12,18 +12,18 @@ Signed-off-by: Hans de Goede 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index 04a77ac..e962062 100644 +index 06929f5..723a916 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -27,6 +27,7 @@ public class Cheese.PreferencesDialog : GLib.Object - private bool camera_controls_sensitive; +@@ -26,6 +26,7 @@ public class Cheese.PreferencesDialog : GLib.Object + private Cheese.Camera camera; private bool camera_is_setup; private bool camera_is_playing; + private string camera_device_node; private GLib.Settings settings; -@@ -180,7 +181,8 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -178,7 +179,8 @@ public class Cheese.PreferencesDialog : GLib.Object device = camera.get_selected_device (); if (device == null) return; @@ -33,7 +33,7 @@ index 04a77ac..e962062 100644 setup_resolutions_for_device (device); for (bool next = camera_model.get_iter_first (out iter); next; -@@ -283,10 +285,16 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -281,10 +283,16 @@ public class Cheese.PreferencesDialog : GLib.Object TreeIter iter; Cheese.CameraDevice dev; diff --git a/0010-on_camera_update_num_camera_devices-Remove-unnecessa.patch b/0008-on_camera_update_num_camera_devices-Remove-unnecessa.patch similarity index 74% rename from 0010-on_camera_update_num_camera_devices-Remove-unnecessa.patch rename to 0008-on_camera_update_num_camera_devices-Remove-unnecessa.patch index 2881e8f..fe900ee 100644 --- a/0010-on_camera_update_num_camera_devices-Remove-unnecessa.patch +++ b/0008-on_camera_update_num_camera_devices-Remove-unnecessa.patch @@ -1,7 +1,7 @@ -From ec54a4dcbe7b814ab7b8ee60a44faefc091a3f96 Mon Sep 17 00:00:00 2001 +From e0bf5c088e7d438b3f64cd9ceeee639a03bf484a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 18 Jun 2013 14:01:45 +0200 -Subject: [PATCH 10/13] on_camera_update_num_camera_devices: Remove unnecessary +Subject: [PATCH 08/11] on_camera_update_num_camera_devices: Remove unnecessary camera_changed() call If the camera is actually changed then camera_changed already gets called @@ -13,10 +13,10 @@ Signed-off-by: Hans de Goede 1 file changed, 2 deletions(-) diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index e962062..2120432 100644 +index 723a916..c46a1a5 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -541,8 +541,6 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -539,8 +539,6 @@ public class Cheese.PreferencesDialog : GLib.Object remove_camera_device (iter, old_device, active_device); } } diff --git a/0011-cheese-preferences-Simplify-remove_camera_device.patch b/0009-cheese-preferences-Simplify-remove_camera_device.patch similarity index 86% rename from 0011-cheese-preferences-Simplify-remove_camera_device.patch rename to 0009-cheese-preferences-Simplify-remove_camera_device.patch index 9354868..8c4ccdd 100644 --- a/0011-cheese-preferences-Simplify-remove_camera_device.patch +++ b/0009-cheese-preferences-Simplify-remove_camera_device.patch @@ -1,7 +1,7 @@ -From 7be2bcd05f80ffa8ee5ec7847a527ac07b6f8b87 Mon Sep 17 00:00:00 2001 +From edaf892e8fdcf2ceb956e8dc0a41c928c3fff13f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 19 Jun 2013 16:47:41 +0200 -Subject: [PATCH 11/13] cheese-preferences: Simplify remove_camera_device +Subject: [PATCH 09/11] cheese-preferences: Simplify remove_camera_device Now that we cache the device-node for the active camera, remove_camera_device and its callers can be simplified. @@ -12,10 +12,10 @@ Signed-off-by: Hans de Goede 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index 2120432..faf6877 100644 +index c46a1a5..6e0bbd5 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -508,12 +508,6 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -506,12 +506,6 @@ public class Cheese.PreferencesDialog : GLib.Object TreeIter iter; camera_model.get_iter_first (out iter); @@ -28,7 +28,7 @@ index 2120432..faf6877 100644 // Find which device was removed. bool device_removed = false; devices.foreach ((device) => -@@ -525,7 +519,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -523,7 +517,7 @@ public class Cheese.PreferencesDialog : GLib.Object // Found the device that was removed. if (strcmp (old_device.device_node, new_device.device_node) != 0) { @@ -37,7 +37,7 @@ index 2120432..faf6877 100644 device_removed = true; // Remember, this is from the anonymous function! return; -@@ -538,7 +532,7 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -536,7 +530,7 @@ public class Cheese.PreferencesDialog : GLib.Object { Cheese.CameraDevice old_device; camera_model.get (iter, 1, out old_device, -1); @@ -46,7 +46,7 @@ index 2120432..faf6877 100644 } } } -@@ -573,16 +567,15 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -571,16 +565,15 @@ public class Cheese.PreferencesDialog : GLib.Object * Remove the supplied camera device from the device combo box model. * * @param iter the iterator of the device to remove diff --git a/0012-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch b/0010-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch similarity index 87% rename from 0012-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch rename to 0010-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch index 33f3402..581b164 100644 --- a/0012-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch +++ b/0010-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch @@ -1,7 +1,7 @@ -From 51ff0d863bc0e160094ec684018ee0068b7b612a Mon Sep 17 00:00:00 2001 +From 0c841182b61efe48e98c6d2dea1f8c7ab7f464ef Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 19 Jun 2013 17:29:28 +0200 -Subject: [PATCH 12/13] cheese-preferences: Cleanly handle going from 1 -> 0 +Subject: [PATCH 10/11] cheese-preferences: Cleanly handle going from 1 -> 0 devices Cleanly handle going from 1 -> 0 devices and going from 1 -> 0 -> 1 devices. @@ -12,10 +12,10 @@ Signed-off-by: Hans de Goede 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index faf6877..cad7eba 100644 +index 6e0bbd5..fc72435 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala -@@ -280,13 +280,13 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -278,13 +278,13 @@ public class Cheese.PreferencesDialog : GLib.Object [CCode (instance_pos = -1)] public void on_source_change (Gtk.ComboBox combo) { @@ -32,7 +32,7 @@ index faf6877..cad7eba 100644 combo.get_active_iter (out iter); combo.model.get (iter, 1, out dev); dev_node = dev.get_device_node (); -@@ -572,16 +572,20 @@ public class Cheese.PreferencesDialog : GLib.Object +@@ -570,16 +570,20 @@ public class Cheese.PreferencesDialog : GLib.Object private void remove_camera_device (TreeIter iter, Cheese.CameraDevice device) { diff --git a/0013-cheese-window-Disable-effect-switching-buttons-on-we.patch b/0011-cheese-window-Disable-effect-switching-buttons-on-we.patch similarity index 82% rename from 0013-cheese-window-Disable-effect-switching-buttons-on-we.patch rename to 0011-cheese-window-Disable-effect-switching-buttons-on-we.patch index fb2fbb3..e5a3354 100644 --- a/0013-cheese-window-Disable-effect-switching-buttons-on-we.patch +++ b/0011-cheese-window-Disable-effect-switching-buttons-on-we.patch @@ -1,7 +1,7 @@ -From 462287f28f87c5dd9f30f734132b5c6193a1daa1 Mon Sep 17 00:00:00 2001 +From 82d8c27242efcf40612edaccc47c37a79aeaf6c8 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 3 Sep 2013 15:39:49 +0200 -Subject: [PATCH 13/13] cheese-window: Disable effect switching buttons on +Subject: [PATCH 11/11] cheese-window: Disable effect switching buttons on webcam error Signed-off-by: Hans de Goede @@ -10,10 +10,10 @@ Signed-off-by: Hans de Goede 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cheese-window.vala b/src/cheese-window.vala -index 07cf0f4..bc2d3b7 100644 +index e117ec2..8e31611 100644 --- a/src/cheese-window.vala +++ b/src/cheese-window.vala -@@ -1030,9 +1030,11 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -1027,9 +1027,11 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow var effects_next = this.lookup_action ("effects-next") as SimpleAction; var effects_previous = this.lookup_action ("effects-previous") as SimpleAction; @@ -27,7 +27,7 @@ index 07cf0f4..bc2d3b7 100644 && current_effects_page != 0); } -@@ -1151,6 +1153,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -1148,6 +1150,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow public void camera_state_change_playing () { show_error (null); @@ -35,7 +35,7 @@ index 07cf0f4..bc2d3b7 100644 Effect effect = effects_manager.get_effect (settings.get_string ("selected-effect")); if (effect != null) -@@ -1169,6 +1172,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow +@@ -1166,6 +1169,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow { show_error (_("There was an error playing video from the webcam")); } diff --git a/cheese.spec b/cheese.spec index 51a4567..d53ed7c 100644 --- a/cheese.spec +++ b/cheese.spec @@ -1,7 +1,7 @@ Name: cheese Epoch: 2 -Version: 3.9.91 -Release: 3%{?dist} +Version: 3.9.92 +Release: 1%{?dist} Summary: Application for taking pictures and movies from a webcam Group: Amusements/Graphics @@ -12,23 +12,19 @@ Source0: http://download.gnome.org/sources/cheese/3.9/%{name}-%{version}. # https://bugzilla.gnome.org/show_bug.cgi?id=678447 # Patch2: 0002-Setup-vp8enc-in-a-way-suitable-for-realtime-encoding.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=707386 -Patch1: 0001-cheese-Don-t-allow-changing-the-camera-and-or-its-re.patch -Patch2: 0002-cheese-window-Add-cancel_running_action-method.patch # https://bugzilla.gnome.org/show_bug.cgi?id=707387 -Patch3: 0003-cheese-window-Allow-changing-effects-while-shooting-.patch -# https://bugzilla.gnome.org/show_bug.cgi?id=707391 -Patch4: 0004-cheese-camera-Fix-video-recording-with-gstreamer-1.1.patch +Patch1: 0001-cheese-window-Allow-changing-effects-while-shooting-.patch # https://bugzilla.gnome.org/show_bug.cgi?id=603612 -Patch5: 0005-cheese-preferences-Add-camera_changed-method.patch -Patch6: 0006-cheese_camera_get_camera_devices-Allow-calling-befor.patch -Patch7: 0007-cheese-Move-camera_setup-to-cheese-preferences.patch -Patch8: 0008-cheese-Properly-deal-with-going-from-0-1-devices.patch -Patch9: 0009-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch -Patch10: 0010-on_camera_update_num_camera_devices-Remove-unnecessa.patch -Patch11: 0011-cheese-preferences-Simplify-remove_camera_device.patch -Patch12: 0012-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch -Patch13: 0013-cheese-window-Disable-effect-switching-buttons-on-we.patch +Patch2: 0002-cheese-window-Add-cancel_running_action-method.patch +Patch3: 0003-cheese-preferences-Add-camera_changed-method.patch +Patch4: 0004-cheese_camera_get_camera_devices-Allow-calling-befor.patch +Patch5: 0005-cheese-Move-camera_setup-to-cheese-preferences.patch +Patch6: 0006-cheese-Properly-deal-with-going-from-0-1-devices.patch +Patch7: 0007-cheese-Avoid-unnecessary-calls-to-switch_camera_devi.patch +Patch8: 0008-on_camera_update_num_camera_devices-Remove-unnecessa.patch +Patch9: 0009-cheese-preferences-Simplify-remove_camera_device.patch +Patch10: 0010-cheese-preferences-Cleanly-handle-going-from-1-0-dev.patch +Patch11: 0011-cheese-window-Disable-effect-switching-buttons-on-we.patch BuildRequires: gtk3-devel >= 3.0.0 BuildRequires: gstreamer1-devel @@ -96,8 +92,6 @@ for writing applications that require a webcam display widget. %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 -%patch13 -p1 %build @@ -171,6 +165,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_datadir}/gir-1.0/Cheese-3.0.gir %changelog +* Wed Sep 18 2013 Hans de Goede - 2:3.9.92-1 +- Update to 3.9.92 + * Thu Sep 12 2013 Hans de Goede - 2:3.9.91-3 - In F-19 we had a long list of bugfix patches, most of these have been merged into gnome-3.10 but not all have been merged yet, re-add the non merged ones diff --git a/sources b/sources index 83bacaf..9382b51 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -35e88a04fb1bacf522d694590bf03097 cheese-3.9.91.tar.xz +1ab2a4aad0d5b72fa1eb2cd8ca6801f6 cheese-3.9.92.tar.xz