From: Jeongmo Yang Date: Thu, 6 Oct 2016 06:24:36 +0000 (+0900) Subject: Fix crash on device state changed callback and update recorder_test code X-Git-Tag: accepted/tizen/3.0/mobile/20161015.034135^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=eca728593616eac92d7fd370cdf3685f3b0d01e1;p=platform%2Fcore%2Fapi%2Frecorder.git Fix crash on device state changed callback and update recorder_test code 1. Fix crash - user_data from user is not set 2. Update recorder_test code - Video recording test is failed because of invalid API usage. - Fix typo [Version] 0.2.39 [Profile] Common [Issue Type] Bug fix [Dependency module] N/A [Dependency commit] N/A [Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-mobile_20161006.1] Change-Id: I63905d7e59ac2318b34132044139b6932bc3231d Signed-off-by: Jeongmo Yang --- diff --git a/packaging/capi-media-recorder.spec b/packaging/capi-media-recorder.spec index cdd8f1d..aad428f 100644 --- a/packaging/capi-media-recorder.spec +++ b/packaging/capi-media-recorder.spec @@ -1,6 +1,6 @@ Name: capi-media-recorder Summary: A Recorder API -Version: 0.2.38 +Version: 0.2.39 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/recorder.c b/src/recorder.c index c8d52c2..869ccd1 100644 --- a/src/recorder.c +++ b/src/recorder.c @@ -3202,6 +3202,7 @@ int recorder_add_device_state_changed_cb(recorder_device_state_changed_cb callba info->id = ++g_rec_dev_state_changed_cb_id; info->callback = (void *)callback; + info->user_data = user_data; *cb_id = info->id; diff --git a/test/recorder_test.c b/test/recorder_test.c index 7a22a0c..0b81fa6 100644 --- a/test/recorder_test.c +++ b/test/recorder_test.c @@ -627,7 +627,7 @@ static void print_menu() g_print("\n\t=======================================\n"); g_print("\t RECORDER_TESTSUIT\n"); g_print("\t=======================================\n"); - g_print("\t '1' Video Capture - Rear Camera\n"); + g_print("\t '1' Video Recording - Rear Camera\n"); g_print("\t '2' Audio Recording - MIC\n"); g_print("\t '3' Audio Recording - MODEM\n"); g_print("\t '4' Add recorder device changed callback\n"); @@ -750,6 +750,15 @@ static void main_menu(gchar buf) break; case 'b': /* back */ + recorder_unprepare(hcamcorder->recorder); + recorder_destroy(hcamcorder->recorder); + hcamcorder->recorder = NULL; + + if (hcamcorder->camera) { + camera_destroy(hcamcorder->camera); + hcamcorder->camera = NULL; + } + hcamcorder->menu_state = MENU_STATE_INIT; print_menu(); break; @@ -825,6 +834,10 @@ static void main_menu(gchar buf) break; case 'b': /* back */ + recorder_unprepare(hcamcorder->recorder); + recorder_destroy(hcamcorder->recorder); + hcamcorder->recorder = NULL; + hcamcorder->menu_state = MENU_STATE_INIT; print_menu(); break; @@ -1543,14 +1556,6 @@ static gboolean mode_change(gchar buf) return FALSE; } - err = camera_start_preview(hcamcorder->camera); - if (err != CAMERA_ERROR_NONE) { - g_print("start preview failed 0x%d\n", err); - camera_destroy(hcamcorder->camera); - hcamcorder->camera = NULL; - return FALSE; - } - err = recorder_create_videorecorder(hcamcorder->camera, &hcamcorder->recorder); if (err != RECORDER_ERROR_NONE) { g_print("video recorder create failed 0x%d\n", err);