summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiago.sousa.santos@collabora.com>2011-11-25 21:12:31 -0300
committerOleksij Rempel <bug-track@fisher-privat.net>2012-03-24 09:34:44 +0100
commitdb212f73b2bd13c77f27b3c8625cdbc8f8477aff (patch)
tree20ae30fbf1ff32227beea4c888541a137844bba2
parent039b8d1a2bf1c9946fb4daa683e4e1fb7e2cbdfd (diff)
downloadcheese-db212f73b2bd13c77f27b3c8625cdbc8f8477aff.tar.gz
cheese-camera: stop-capture is asynchronous in camerabin2
Wait for video-done message to signal that capture is over
-rw-r--r--libcheese/cheese-camera.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libcheese/cheese-camera.c b/libcheese/cheese-camera.c
index 66f734f4..880455be 100644
--- a/libcheese/cheese-camera.c
+++ b/libcheese/cheese-camera.c
@@ -276,6 +276,11 @@ cheese_camera_bus_message_cb (GstBus *bus, GstMessage *message, CheeseCamera *ca
g_signal_emit (camera, camera_signals[PHOTO_SAVED], 0);
}
}
+ else if (strcmp (gst_structure_get_name (structure), "video-done") == 0)
+ {
+ g_signal_emit (camera, camera_signals[VIDEO_SAVED], 0);
+ priv->is_recording = FALSE;
+ }
}
break;
}
@@ -1059,8 +1064,6 @@ cheese_camera_stop_video_recording (CheeseCamera *camera)
if (state == GST_STATE_PLAYING)
{
g_signal_emit_by_name (priv->camerabin, "stop-capture", 0);
- g_signal_emit (camera, camera_signals[VIDEO_SAVED], 0);
- priv->is_recording = FALSE;
}
else
{