From: Minje Ahn Date: Mon, 2 Apr 2018 07:42:24 +0000 (+0900) Subject: Modified queries for thumbnail X-Git-Tag: accepted/tizen/unified/20180403.182359^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F55%2F174455%2F1;p=platform%2Fcore%2Fmultimedia%2Flibmedia-service.git Modified queries for thumbnail Change-Id: I9282be2b1230d1acdaca31bda3f7edb9d0089da8 Signed-off-by: Minje Ahn --- diff --git a/src/common/media-svc-media.c b/src/common/media-svc-media.c index d54c923..cb73bf0 100755 --- a/src/common/media-svc-media.c +++ b/src/common/media-svc-media.c @@ -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); diff --git a/src/common/media-svc-util.c b/src/common/media-svc-util.c index ad25acc..cceedba 100755 --- a/src/common/media-svc-util.c +++ b/src/common/media-svc-util.c @@ -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); diff --git a/src/common/media-svc.c b/src/common/media-svc.c index b131670..10207c5 100755 --- a/src/common/media-svc.c +++ b/src/common/media-svc.c @@ -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); diff --git a/src/include/common/media-svc-media.h b/src/include/common/media-svc-media.h index b0d60e5..815bcfb 100755 --- a/src/include/common/media-svc-media.h +++ b/src/include/common/media-svc-media.h @@ -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);