Fix get filename convert issue 17/90217/3 accepted/tizen/common/20160929.163457 accepted/tizen/ivi/20160929.233827 accepted/tizen/mobile/20160929.233823 accepted/tizen/tv/20160929.233814 accepted/tizen/wearable/20160929.233819 submit/tizen/20160929.030608 submit/tizen/20160929.072529
authorHaesu Gwon <haesu.gwon@samsung.com>
Thu, 29 Sep 2016 05:01:18 +0000 (14:01 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Thu, 29 Sep 2016 06:19:28 +0000 (15:19 +0900)
[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 <haesu.gwon@samsung.com>
packaging/capi-media-recorder.spec
src/recorder.c
test/recorder_test.c

index 3899ba8..a87bc07 100644 (file)
@@ -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
index ee89521..b545e8e 100644 (file)
@@ -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;
        }
 
index 46360c6..afa19cb 100644 (file)
@@ -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"