diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-11-21 20:50:14 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-11-23 17:59:53 +0800 |
commit | f25f43bb57d892d433d5a61e40d100440fd0f222 (patch) | |
tree | dd23c4ac5aeb4fc4453fa153d2f3a90a828e0257 | |
parent | d15f750dcfb31415cb6d8d39122593863e7fcd37 (diff) | |
download | gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.tar gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.tar.gz gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.tar.bz2 gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.tar.lz gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.tar.xz gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.tar.zst gsoc2013-empathy-f25f43bb57d892d433d5a61e40d100440fd0f222.zip |
restart the camera only if it's already running
Always restarting it will enable the camera in an audio only call.
https://bugzilla.gnome.org/show_bug.cgi?id=664459
-rw-r--r-- | src/empathy-call-window.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 6e2df7961..7a4994c93 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -4181,10 +4181,17 @@ empathy_call_window_change_webcam (EmpathyCallWindow *self, const gchar *device) { EmpathyGstVideoSrc *video; + gboolean running; + /* Restart the camera only if it's already running */ + running = (self->priv->video_preview != NULL); video = empathy_call_window_get_video_src (self); - empathy_call_window_play_camera (self, FALSE); + if (running) + empathy_call_window_play_camera (self, FALSE); + empathy_video_src_change_device (video, device); - empathy_call_window_play_camera (self, TRUE); + + if (running) + empathy_call_window_play_camera (self, TRUE); } |