From dc6c30c147b26af8c134cca48d7a14e8b40705a9 Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Thu, 29 Sep 2016 14:01:18 +0900 Subject: Fix get filename convert issue [Version] 0.2.36 [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_20160928.2] Change-Id: I30d759f3c28b683a37cee757b1d9f3268ca9fea8 Signed-off-by: Haesu Gwon --- packaging/capi-media-recorder.spec | 2 +- src/recorder.c | 44 +++++++++++++++++--------------------- test/recorder_test.c | 2 +- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/packaging/capi-media-recorder.spec b/packaging/capi-media-recorder.spec index 3899ba8..a87bc07 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.35 +Version: 0.2.36 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/recorder.c b/src/recorder.c index ee89521..b545e8e 100644 --- a/src/recorder.c +++ b/src/recorder.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -1407,27 +1408,6 @@ _ERR_RECORDER_EXIT: } -int _recorder_replace_path(const char *path, char *replace_path) -{ - const char *old_path = "/opt/usr/media"; - - memset(replace_path, 0, RECORDER_FILENAME_MAX); - if (strncmp(path, old_path, strlen(old_path)) == 0) { - snprintf(replace_path, RECORDER_FILENAME_MAX, "%s%s", tzplatform_getenv(TZ_USER_CONTENT), path + strlen(old_path)); - LOGD("replaced path : %s -> %s", path, replace_path); - } else { - snprintf(replace_path, RECORDER_FILENAME_MAX, "%s", path); - } - - if (!(replace_path != NULL && strlen(replace_path) > 0)) { - LOGE("replace failed"); - return RECORDER_ERROR_INVALID_OPERATION; - } - - return RECORDER_ERROR_NONE; -} - - int recorder_create_videorecorder(camera_h camera, recorder_h *recorder) { return _recorder_create_common(recorder, MUSE_RECORDER_TYPE_VIDEO, camera); @@ -1834,7 +1814,7 @@ int recorder_set_filename(recorder_h recorder, const char *filename) muse_recorder_api_e api = MUSE_RECORDER_API_SET_FILENAME; recorder_cli_s *pc = (recorder_cli_s *)recorder; recorder_msg_param param; - char set_filename[RECORDER_FILENAME_MAX]; + char set_filename[RECORDER_FILENAME_MAX] = {0, }; if (!pc || !pc->cb_info) { LOGE("NULL handle"); @@ -1848,7 +1828,13 @@ int recorder_set_filename(recorder_h recorder, const char *filename) LOGD("ENTER"); - _recorder_replace_path(filename, set_filename); + if (storage_get_origin_internal_path(filename, RECORDER_FILENAME_MAX, set_filename) < 0) { + /* Cannot convert. Use original path. */ + strncpy(set_filename, filename, strlen(filename)); + } else { + /* Converted. Use converted path. */ + LOGD("Converted filename : %s -> %s", filename, set_filename); + } RECORDER_MSG_PARAM_SET(param, STRING, set_filename); @@ -1865,6 +1851,7 @@ int recorder_get_filename(recorder_h recorder, char **filename) int ret = RECORDER_ERROR_NONE; muse_recorder_api_e api = MUSE_RECORDER_API_GET_FILENAME; recorder_cli_s *pc = (recorder_cli_s *)recorder; + char compat_filename[RECORDER_FILENAME_MAX] = {0, }; if (!pc || !pc->cb_info) { LOGE("NULL handle"); @@ -1881,7 +1868,16 @@ int recorder_get_filename(recorder_h recorder, char **filename) _recorder_msg_send(api, pc->cb_info, &ret); if (ret == RECORDER_ERROR_NONE) { - *filename = pc->cb_info->get_filename; + if (storage_get_compat_internal_path(pc->cb_info->get_filename, RECORDER_FILENAME_MAX, compat_filename) < 0) { + /* Cannot convert. Use original path. */ + *filename = pc->cb_info->get_filename; + } else { + /* Converted. Use converted path. */ + LOGD("Converted filename : %s -> %s", pc->cb_info->get_filename, compat_filename); + *filename = strdup(compat_filename); + free(pc->cb_info->get_filename); + } + pc->cb_info->get_filename = NULL; } diff --git a/test/recorder_test.c b/test/recorder_test.c index 46360c6..afa19cb 100644 --- a/test/recorder_test.c +++ b/test/recorder_test.c @@ -92,7 +92,7 @@ void *display; #define EXT_AMR "amr" #define EXT_MKV "mkv" -#define TARGET_FILENAME_PATH "/home/owner/content/Sounds/" +#define TARGET_FILENAME_PATH "/opt/usr/home/owner/media/Sounds/" #define IMAGE_CAPTURE_EXIF_PATH TARGET_FILENAME_PATH"exif.raw" #define TARGET_FILENAME_VIDEO TARGET_FILENAME_PATH"test_rec_video.mp4" #define TARGET_FILENAME_AUDIO TARGET_FILENAME_PATH"test_rec_audio.m4a" -- cgit v1.2.3