into gnome-3.10 but not all have been merged yet, re-add the non merged ones - Fix video recording not working - Allow changing effects while recording - Disallow changing camera settings while recording - Fix cheese misbehavior when going from 0 -> 1 or 1 -> 0 camera devices
57 lines
1.8 KiB
Diff
57 lines
1.8 KiB
Diff
From 632e0253bf899a40c5f90a0584fad936189be821 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
Date: Tue, 18 Jun 2013 13:45:38 +0200
|
|
Subject: [PATCH 09/13] cheese: Avoid unnecessary calls to
|
|
switch_camera_device()
|
|
|
|
And thus avoid stopping and restarting the stream for no reason.
|
|
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
---
|
|
src/cheese-preferences.vala | 12 ++++++++++--
|
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala
|
|
index 04a77ac..e962062 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;
|
|
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
|
|
device = camera.get_selected_device ();
|
|
if (device == null)
|
|
return;
|
|
- settings.set_string ("camera", device.get_device_node ());
|
|
+ camera_device_node = device.get_device_node ();
|
|
+ settings.set_string ("camera", camera_device_node);
|
|
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
|
|
|
|
TreeIter iter;
|
|
Cheese.CameraDevice dev;
|
|
+ string dev_node;
|
|
|
|
combo.get_active_iter (out iter);
|
|
combo.model.get (iter, 1, out dev);
|
|
- camera.set_device_by_device_node (dev.get_device_node ());
|
|
+ dev_node = dev.get_device_node ();
|
|
+
|
|
+ if (dev_node == camera_device_node)
|
|
+ return;
|
|
+
|
|
+ camera.set_device_by_device_node (dev_node);
|
|
camera.switch_camera_device ();
|
|
camera_play ();
|
|
}
|
|
--
|
|
1.8.3.1
|
|
|