From: Guillaume Desmottes Date: Mon, 21 Nov 2011 10:43:51 +0000 (+0100) Subject: factor out empathy_call_window_change_webcam() X-Git-Url: https://git.0d.be/?p=empathy.git;a=commitdiff_plain;h=d15f750dcfb31415cb6d8d39122593863e7fcd37 factor out empathy_call_window_change_webcam() https://bugzilla.gnome.org/show_bug.cgi?id=664459 --- diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 732f45e8..6e2df796 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -4175,3 +4175,16 @@ empathy_call_window_get_video_src (EmpathyCallWindow *self) { return EMPATHY_GST_VIDEO_SRC (self->priv->video_input); } + +void +empathy_call_window_change_webcam (EmpathyCallWindow *self, + const gchar *device) +{ + EmpathyGstVideoSrc *video; + + video = empathy_call_window_get_video_src (self); + + empathy_call_window_play_camera (self, FALSE); + empathy_video_src_change_device (video, device); + empathy_call_window_play_camera (self, TRUE); +} diff --git a/src/empathy-call-window.h b/src/empathy-call-window.h index 81cf170a..abaae276 100644 --- a/src/empathy-call-window.h +++ b/src/empathy-call-window.h @@ -78,6 +78,9 @@ EmpathyGstVideoSrc *empathy_call_window_get_video_src (EmpathyCallWindow *window void empathy_call_window_play_camera (EmpathyCallWindow *self, gboolean play); +void empathy_call_window_change_webcam (EmpathyCallWindow *self, + const gchar *device); + G_END_DECLS #endif /* #ifndef __EMPATHY_CALL_WINDOW_H__*/ diff --git a/src/empathy-camera-menu.c b/src/empathy-camera-menu.c index cee11d75..9633d84f 100644 --- a/src/empathy-camera-menu.c +++ b/src/empathy-camera-menu.c @@ -146,9 +146,7 @@ empathy_camera_menu_activate_cb (GtkAction *action, if (!tp_strdiff (device, current_device)) goto out; - 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); + empathy_call_window_change_webcam (self->priv->window, device); out: g_free (current_device);