diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-08-19 01:14:27 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-08-19 18:11:02 +0800 |
commit | 7684cbad9c0b6f0ac8b9640b1b74e0dafc058e84 (patch) | |
tree | a89fcf32f00b4c7c62f0a7e73a1e53ceb6c7bd5d /src | |
parent | 508b2cd4c64f2a1786a5e969bec208cb867ceb5e (diff) | |
download | gsoc2013-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.c | 2 | ||||
-rw-r--r-- | src/empathy-video-src.c | 4 |
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 * |