Update to 3.9.92

This commit is contained in:
Hans de Goede 2013-09-18 10:48:12 +02:00
parent 9b94ca029c
commit ab12a32299
16 changed files with 102 additions and 267 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -1,108 +0,0 @@
From d4288cd182064bca3bc3cd3d62c794737c9db426 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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 ()
{

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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;
}
--

View File

@ -1,55 +0,0 @@
From dcccb73f44970d7f8ed8e7d70986f9ffecfc6491 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
@ -10,7 +10,7 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
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)
{

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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);

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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)

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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;

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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);
}
}

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
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)
{

View File

@ -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 <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
@ -10,10 +10,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
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"));
}

View File

@ -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 <hdegoede@redhat.com> - 2:3.9.92-1
- Update to 3.9.92
* Thu Sep 12 2013 Hans de Goede <hdegoede@redhat.com> - 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

View File

@ -1 +1 @@
35e88a04fb1bacf522d694590bf03097 cheese-3.9.91.tar.xz
1ab2a4aad0d5b72fa1eb2cd8ca6801f6 cheese-3.9.92.tar.xz