Cleanup refresh function 49/314449/3 accepted/tizen/unified/20240715.155438 accepted/tizen/unified/dev/20240716.080844 accepted/tizen/unified/x/20240716.041627
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 12 Jul 2024 01:03:00 +0000 (10:03 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 12 Jul 2024 01:36:11 +0000 (10:36 +0900)
Change-Id: I41eaffcb01c10ecf4ab60eaef5e35234a1dba4d2
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/media-svc-util.c
src/media-svc.c

index a32c1df..6d97ba8 100644 (file)
@@ -348,6 +348,7 @@ int _media_svc_set_media_info(media_svc_content_info_s *content_info, const char
        struct stat st = { 0, };
 
        media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
+       media_svc_retvm_if(!content_info, MS_MEDIA_ERR_INVALID_PARAMETER, "info is NULL");
 
        content_info->path = g_strdup(path);
        content_info->file_name = g_path_get_basename(path);
@@ -359,30 +360,24 @@ int _media_svc_set_media_info(media_svc_content_info_s *content_info, const char
                media_svc_stderror("stat failed");
        }
 
-       /* refresh is TRUE when file modified. so only modified_time and size are changed*/
-       if (refresh) {
-               media_svc_debug("refresh");
-               return MS_MEDIA_ERR_NONE;
-       }
+       if (!refresh) {
+               content_info->storage_uuid = g_strdup(storage_id);
+               media_svc_retv_del_if(content_info->storage_uuid == NULL, MS_MEDIA_ERR_INTERNAL, content_info);
 
-       content_info->storage_uuid = g_strdup(storage_id);
-       media_svc_retv_del_if(content_info->storage_uuid == NULL, MS_MEDIA_ERR_INTERNAL, content_info);
-
-       content_info->media_uuid = __media_info_generate_uuid();
-       media_svc_retv_del_if(content_info->media_uuid == NULL, MS_MEDIA_ERR_INTERNAL, content_info);
+               content_info->media_uuid = __media_info_generate_uuid();
+               media_svc_retv_del_if(content_info->media_uuid == NULL, MS_MEDIA_ERR_INTERNAL, content_info);
+       }
 
        ret = __media_svc_get_mime_type(path, mime_type);
        media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
-       media_svc_debug("mime [%s]", mime_type);
-
        ret = __media_svc_get_media_type(path, mime_type, &media_type);
        media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, content_info);
 
        content_info->mime_type = g_strdup(mime_type);
        media_svc_retv_del_if(content_info->mime_type == NULL, MS_MEDIA_ERR_INTERNAL, content_info);
 
-       media_svc_sec_debug("path[%s], media_type[%d]", content_info->path, media_type);
+       media_svc_sec_debug("path[%s], media_type[%d] mime[%s]", content_info->path, media_type, content_info->mime_type);
 
        content_info->media_type = media_type;
 
@@ -636,6 +631,7 @@ void _media_svc_extract_video_metadata(media_svc_content_info_s *content_info)
                                content_info->media_meta.recorded_date = g_strdup(p);
                        }
                }
+
                if (content_info->media_meta.recorded_date == NULL)
                        content_info->media_meta.recorded_date = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
                content_info->media_meta.datetaken = g_strdup(content_info->media_meta.recorded_date);
@@ -644,6 +640,7 @@ void _media_svc_extract_video_metadata(media_svc_content_info_s *content_info)
                if (mmf_error != FILEINFO_ERROR_NONE)
                        media_svc_error("fail to free tag attr - err(%x)", mmf_error);
        }
+
        /* All metadata fields must be empty strings until media_video is deleted */
        content_info->media_meta.title = __media_svc_get_title_from_filename(content_info->file_name);
        content_info->media_meta.album = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
index 575c1c4..1dccf4d 100644 (file)
@@ -104,9 +104,6 @@ static int __media_svc_set_info(sqlite3 *handle,
        int ret = MS_MEDIA_ERR_NONE;
 
        media_svc_retvm_if(!handle, MS_MEDIA_ERR_INVALID_PARAMETER, "handle is NULL");
-       media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL");
-       media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
-       media_svc_retvm_if(!info, MS_MEDIA_ERR_INVALID_PARAMETER, "info is NULL");
 
        /*Set media info*/
        ret = _media_svc_set_media_info(info, storage_id, path, false);
@@ -120,7 +117,6 @@ static int __media_svc_set_info(sqlite3 *handle,
        case MEDIA_SVC_MEDIA_TYPE_VIDEO:
                _media_svc_extract_video_metadata(info);
                break;
-       case MEDIA_SVC_MEDIA_TYPE_SOUND:
        case MEDIA_SVC_MEDIA_TYPE_MUSIC:
                _media_svc_extract_audio_metadata(handle, is_direct, info, uid);
                break;
@@ -320,14 +316,14 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *path, ui
 {
        int ret = MS_MEDIA_ERR_NONE;
        char thumb_path[MEDIA_SVC_PATHNAME_SIZE + 1] = {0, };
-       media_svc_content_info_s content_info = {0, };
-       media_svc_noti_item *noti_item = NULL;
+       media_svc_content_info_s info = {0, };
+       media_svc_noti_item *noti = NULL;
 
-       media_svc_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!handle, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
        media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
 
        /*Set media info*/
-       ret = _media_svc_set_media_info(&content_info, NULL, path, true);
+       ret = _media_svc_set_media_info(&info, NULL, path, true);
        media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        /* Initialize thumbnail information to remake thumbnail. */
@@ -343,31 +339,22 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *path, ui
                        goto REFRESH_FINALIZE;
        }
 
-       /* Get notification info */
-       ret = _media_svc_get_noti_info(handle, path, &noti_item);
-       if (ret != MS_MEDIA_ERR_NONE)
-               goto REFRESH_FINALIZE;
-
-       content_info.media_type = noti_item->media_type;
-       content_info.mime_type = g_strdup(noti_item->mime_type);
-
-       switch (content_info.media_type) {
+       switch (info.media_type) {
        case MEDIA_SVC_MEDIA_TYPE_IMAGE:
-               ret = _media_svc_extract_image_metadata(&content_info);
+               ret = _media_svc_extract_image_metadata(&info);
                break;
        case MEDIA_SVC_MEDIA_TYPE_VIDEO:
-               _media_svc_extract_video_metadata(&content_info);
+               _media_svc_extract_video_metadata(&info);
                break;
-       case MEDIA_SVC_MEDIA_TYPE_SOUND:
        case MEDIA_SVC_MEDIA_TYPE_MUSIC:
-               _media_svc_extract_audio_metadata(handle, is_direct, &content_info, uid);
+               _media_svc_extract_audio_metadata(handle, is_direct, &info, uid);
                break;
        case MEDIA_SVC_MEDIA_TYPE_BOOK:
-               ret = _media_svc_extract_book_metadata(&content_info);
+               ret = _media_svc_extract_book_metadata(&info);
                break;
        default:
                /* The 'TITLE' should always be filled in */
-               content_info.media_meta.title = _media_svc_get_title_from_filename(content_info.file_name);
+               info.media_meta.title = _media_svc_get_title_from_filename(info.file_name);
                break;
        }
 
@@ -375,17 +362,17 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *path, ui
                goto REFRESH_FINALIZE;
 
        /* Extracting thumbnail */
-       if (content_info.thumbnail_path == NULL) {
-               if (content_info.media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE || content_info.media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO) {
+       if (info.thumbnail_path == NULL) {
+               if (info.media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE || info.media_type == MEDIA_SVC_MEDIA_TYPE_VIDEO) {
                        memset(thumb_path, 0, sizeof(thumb_path));
 
-                       ret = _media_svc_create_thumbnail(content_info.path, thumb_path, content_info.media_type, uid);
+                       ret = _media_svc_create_thumbnail(info.path, thumb_path, info.media_type, uid);
                        if (ret == MS_MEDIA_ERR_NONE)
-                               content_info.thumbnail_path = g_strdup(thumb_path);
+                               info.thumbnail_path = g_strdup(thumb_path);
                }
        }
 
-       ret = _media_svc_update_item_with_data(is_direct, &content_info, uid);
+       ret = _media_svc_update_item_with_data(is_direct, &info, uid);
 
        if (ret == MS_MEDIA_ERR_NONE) {
                if (is_direct) {
@@ -398,17 +385,20 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *path, ui
                                g_media_svc_cur_data_cnt = 0;
                        }
                } else {
-                       /* Except scanner case */
                        media_svc_debug("Update is successful. Sending noti for this");
-                       _media_svc_publish_noti(MS_MEDIA_ITEM_UPDATE, content_info.path, noti_item->media_type, noti_item->media_uuid, noti_item->mime_type);
+                       ret = _media_svc_get_noti_info(handle, path, &noti);
+                       if (ret != MS_MEDIA_ERR_NONE)
+                               goto REFRESH_FINALIZE;
+
+                       _media_svc_publish_noti(MS_MEDIA_ITEM_UPDATE, info.path, info.media_type, noti->media_uuid, info.mime_type);
                }
        } else {
                media_svc_error("_media_svc_update_item_with_data failed : %d", ret);
        }
 
 REFRESH_FINALIZE:
-       _media_svc_destroy_content_info(&content_info);
-       _media_svc_destroy_noti_item(noti_item);
+       _media_svc_destroy_content_info(&info);
+       _media_svc_destroy_noti_item(noti);
 
        return ret;
 }
@@ -465,7 +455,7 @@ int media_svc_insert_storage(sqlite3 *handle, const char *storage_id, const char
 
 int media_svc_insert_folder(sqlite3 *handle, const char *storage_id, const char *path, uid_t uid)
 {
-       media_svc_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
+       media_svc_retvm_if(!handle, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL");
        media_svc_retvm_if(!STRING_VALID(storage_id), MS_MEDIA_ERR_INVALID_PARAMETER, "storage_id is NULL");
        media_svc_retvm_if(!STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");