camerabin: Check the source scene mode when creating it
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>
Thu, 21 Oct 2010 19:06:08 +0000 (16:06 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>
Thu, 21 Oct 2010 19:43:45 +0000 (16:43 -0300)
As camerabin only gets notified of the changes from the
video source element, it should query the initial value
once the source is created so it initializes itself
correctly.

gst/camerabin/gstcamerabin.c

index 000b69d35546540543bb36b75b6a374e26537707..6984acd05a9c707a86d25ff2f56e0f1ced2a8337 100644 (file)
@@ -2552,11 +2552,16 @@ gst_camerabin_monitor_video_source_properties (GstCameraBin * camera)
   if (GST_IS_ELEMENT (camera->src_vid_src) &&
       gst_element_implements_interface (camera->src_vid_src,
           GST_TYPE_PHOTOGRAPHY)) {
+    gint scene_mode;
     GST_DEBUG_OBJECT (camera,
         "connecting to %" GST_PTR_FORMAT " - notify::scene-mode",
         camera->src_vid_src);
     g_signal_connect (G_OBJECT (camera->src_vid_src), "notify::scene-mode",
         (GCallback) gst_camerabin_scene_mode_notify_cb, camera);
+    g_object_get (G_OBJECT (camera->src_vid_src), "scene-mode", &scene_mode,
+        NULL);
+    camera->night_mode = scene_mode == GST_PHOTOGRAPHY_SCENE_MODE_NIGHT;
+
     GST_DEBUG_OBJECT (camera,
         "connecting to %" GST_PTR_FORMAT " - notify::zoom",
         camera->src_vid_src);