]> git.0d.be Git - empathy.git/blobdiff - src/empathy-video-src.c
VideoSrc: add API to change the input device
[empathy.git] / src / empathy-video-src.c
index e249633c737db1053ff4af9758b7ac19d56c5972..4017990a2ffb3f35a90af446abbea6c769ef7ff2 100644 (file)
@@ -361,3 +361,16 @@ out:
   return result;
 }
 
+void
+empathy_video_src_change_device (EmpathyGstVideoSrc *self,
+    const gchar *device)
+{
+  EmpathyGstVideoSrcPrivate *priv = EMPATHY_GST_VIDEO_SRC_GET_PRIVATE (self);
+  GstState state;
+
+  gst_element_get_state (priv->src, &state, NULL, 0);
+
+  gst_element_set_state (priv->src, GST_STATE_NULL);
+  g_object_set (priv->src, "device", device, NULL);
+  gst_element_set_state (priv->src, state);
+}