diff options
Diffstat (limited to 'src/recorder.c')
-rw-r--r-- | src/recorder.c | 44 |
1 files changed, 20 insertions, 24 deletions
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 <sound_manager.h> #include <sound_manager_internal.h> #include <storage.h> +#include <storage-internal.h> #include <muse_recorder.h> #include <muse_recorder_msg.h> #include <muse_core_ipc.h> @@ -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; } |