aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-08-19 01:14:27 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-08-19 18:11:02 +0800
commit7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84 (patch)
treea89fcf32f00b4c7c62f0a7e73a1e53ceb6c7bd5d /src
parent508b2cd4c64f2a1786a5e969bec208cb867ceb5e (diff)
downloadgsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.tar
gsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.tar.gz
gsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.tar.bz2
gsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.tar.lz
gsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.tar.xz
gsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.tar.zst
gsoc2013-empathy-7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84.zip
Reset all the necessary elements when switching cameras
https://bugzilla.gnome.org/show_bug.cgi?id=656579
Diffstat (limited to 'src')
-rw-r--r--src/empathy-camera-menu.c2
-rw-r--r--src/empathy-video-src.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/empathy-camera-menu.c b/src/empathy-camera-menu.c
index 6a7d20c15..a57253872 100644
--- a/src/empathy-camera-menu.c
+++ b/src/empathy-camera-menu.c
@@ -140,7 +140,9 @@ empathy_camera_menu_activate_cb (GtkAction *action,
device = gtk_action_get_name (action);
+ empathy_call_window_play_camera (self->priv->window, FALSE);
empathy_video_src_change_device (video, device);
+ empathy_call_window_play_camera (self->priv->window, TRUE);
}
static void
diff --git a/src/empathy-video-src.c b/src/empathy-video-src.c
index ceb344215..25d257f3d 100644
--- a/src/empathy-video-src.c
+++ b/src/empathy-video-src.c
@@ -370,9 +370,9 @@ empathy_video_src_change_device (EmpathyGstVideoSrc *self,
gst_element_get_state (priv->src, &state, NULL, 0);
- gst_element_set_state (priv->src, GST_STATE_NULL);
+ g_return_if_fail (state == GST_STATE_NULL);
+
g_object_set (priv->src, "device", device, NULL);
- gst_element_set_state (priv->src, state);
}
gchar *