diff options
author | Thiago Santos <thiago.sousa.santos@collabora.com> | 2011-11-25 21:12:31 -0300 |
---|---|---|
committer | Oleksij Rempel <bug-track@fisher-privat.net> | 2012-03-24 09:34:44 +0100 |
commit | db212f73b2bd13c77f27b3c8625cdbc8f8477aff (patch) | |
tree | 20ae30fbf1ff32227beea4c888541a137844bba2 | |
parent | 039b8d1a2bf1c9946fb4daa683e4e1fb7e2cbdfd (diff) | |
download | cheese-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.c | 7 |
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 { |