Modified queries for thumbnail 55/174455/1 accepted/tizen/unified/20180403.182359 submit/tizen/20180403.002429
authorMinje Ahn <minje.ahn@samsung.com>
Mon, 2 Apr 2018 07:42:24 +0000 (16:42 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Mon, 2 Apr 2018 07:42:24 +0000 (16:42 +0900)
Change-Id: I9282be2b1230d1acdaca31bda3f7edb9d0089da8
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-media.c
src/common/media-svc-util.c
src/common/media-svc.c
src/include/common/media-svc-media.h

index d54c923..cb73bf0 100755 (executable)
@@ -404,7 +404,7 @@ int _media_svc_get_thumbnail_path_by_path(sqlite3 *handle, const char *path, cha
        int ret = MS_MEDIA_ERR_NONE;
        sqlite3_stmt *sql_stmt = NULL;
 
-       char *sql = sqlite3_mprintf("SELECT thumbnail_path FROM '%q' WHERE path='%q'", MEDIA_SVC_DB_TABLE_MEDIA, path);
+       char *sql = sqlite3_mprintf("SELECT thumbnail_path FROM '%q' WHERE path='%q'", MEDIA_SVC_DB_VIEW_MEDIA, path);
 
        ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
 
@@ -546,11 +546,11 @@ int _media_svc_update_item_validity(const char *storage_id, const char *path, in
        return ret;
 }
 
-int _media_svc_update_thumbnail_path(const char *path, const char *thumb_path, uid_t uid)
+int _media_svc_update_thumbnail_path(const char *storage_id, const char *path, const char *thumb_path, uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
 
-       char *sql = sqlite3_mprintf("UPDATE '%q' SET thumbnail_path=%Q WHERE path= %Q;", MEDIA_SVC_DB_TABLE_MEDIA, thumb_path, path);
+       char *sql = sqlite3_mprintf("UPDATE '%q' SET thumbnail_path=%Q WHERE path=%Q;", storage_id, thumb_path, path);
 
        ret = _media_svc_sql_query(sql, uid);
        SQLITE3_SAFE_FREE(sql);
index ad25acc..cceedba 100755 (executable)
@@ -1856,6 +1856,11 @@ int _media_svc_create_thumbnail(const char *path, char *thumb_path, int max_leng
                        return MS_MEDIA_ERR_INTERNAL;
                }
 
+               if (image_type == IMG_CODEC_UNKNOWN_TYPE) {
+                       media_svc_error("Unsupported image codec");
+                       return MS_MEDIA_ERR_UNSUPPORTED_CONTENT;
+               }
+
                if ((image_type != IMG_CODEC_JPEG) && (origin_w * origin_h > THUMB_MAX_ALLOWED_MEM)) {
                        media_svc_error("This original image is too big");
                        SAFE_STRLCPY(thumb_path, "", MAX_FILEPATH_LEN);
index b131670..10207c5 100755 (executable)
@@ -776,7 +776,7 @@ int media_svc_refresh_item(MediaSvcHandle *handle, const char *storage_id, media
                                media_svc_error("_media_svc_remove_file failed : %s", thumb_path);
                }
 
-               ret = _media_svc_update_thumbnail_path(path, NULL, uid);
+               ret = _media_svc_update_thumbnail_path(storage_id, path, NULL, uid);
                if (ret != MS_MEDIA_ERR_NONE) {
                        _media_svc_destroy_content_info(&content_info);
                        return ret;
@@ -1821,8 +1821,11 @@ int media_svc_create_thumbnail(const char *storage_id, const char *file_path, in
 
        // 2. try to create thumbnail
        ret = _media_svc_create_thumbnail(file_path, thumb_path, MEDIA_SVC_PATHNAME_SIZE, media_type, uid);
-       if (ret != MS_MEDIA_ERR_NONE)
+       if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("Failed to create thumbnail [%d]", ret);
+               if (ret == MS_MEDIA_ERR_UNSUPPORTED_CONTENT)
+                       return ret;
+       }
 
        // 3. Update creation result to media db
        sql = sqlite3_mprintf("UPDATE '%q' SET thumbnail_path='%q' WHERE path='%q';", storage_id, thumb_path, file_path);
index b0d60e5..815bcfb 100755 (executable)
@@ -43,7 +43,7 @@ int _media_svc_update_recursive_folder_item_validity(const char *storage_id, con
 int _media_svc_update_item_validity(const char *storage_id, const char *path, int validity, bool stack_query, uid_t uid);
 int _media_svc_update_item_by_path(const char *org_storage_id, const char *src_path, const char *dst_storage_id, media_svc_storage_type_e dest_storage, const char *dest_path, const char *file_name, int modified_time, const char *folder_uuid, uid_t uid);
 int _media_svc_list_query_do(media_svc_query_type_e query_type, uid_t uid);
-int _media_svc_update_thumbnail_path(const char *path, const char *thumb_path, uid_t uid);
+int _media_svc_update_thumbnail_path(const char *storage_id, const char *path, const char *thumb_path, uid_t uid);
 int _media_svc_get_noti_info(sqlite3 *handle, const char *storage_id, const char *path, int update_item, media_svc_noti_item **item);
 int _media_svc_get_fileinfo_by_path(sqlite3 *handle, const char *storage_id, const char *path, time_t *modified_time, unsigned long long *size);
 int _media_svc_update_meta_with_data(media_svc_content_info_s *content_info);