X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcommon%2Fmedia-svc.c;h=c8837f0b93cd9bd4ba15a99b83cc9995d6225569;hb=f64c28a18827b4995b8cd73d98ea8b875205895f;hp=1c5cad7ab36707195b1f4457760976a5f20bace9;hpb=c8d7a2ae719b9eee9eb219dd215cccfd0c8a1407;p=platform%2Fcore%2Fmultimedia%2Flibmedia-service.git diff --git a/src/common/media-svc.c b/src/common/media-svc.c index 1c5cad7..c8837f0 100755 --- a/src/common/media-svc.c +++ b/src/common/media-svc.c @@ -210,19 +210,14 @@ int media_svc_insert_item_bulk(sqlite3 *handle, const char *storage_id, const ch break; case MEDIA_SVC_MEDIA_TYPE_SOUND: case MEDIA_SVC_MEDIA_TYPE_MUSIC: - ret = _media_svc_extract_audio_metadata(handle, true, &content_info, uid); + _media_svc_extract_audio_metadata(handle, true, &content_info, uid); break; case MEDIA_SVC_MEDIA_TYPE_BOOK: ret = _media_svc_extract_book_metadata(&content_info); - /* The 'TITLE' should always be filled in */ - if (!content_info.media_meta.title || strlen(content_info.media_meta.title) == 0) { - g_free(content_info.media_meta.title); - content_info.media_meta.title = _media_svc_get_title_by_path(content_info.path); - } break; default: /* The 'TITLE' should always be filled in */ - content_info.media_meta.title = _media_svc_get_title_by_path(content_info.path); + content_info.media_meta.title = _media_svc_get_title_from_filename(content_info.file_name); break; } @@ -235,7 +230,7 @@ int media_svc_insert_item_bulk(sqlite3 *handle, const char *storage_id, const ch content_info.folder_id = folder_id; media_svc_retv_del_if(content_info.folder_id <= 0, MS_MEDIA_ERR_INTERNAL, &content_info); - ret = _media_svc_insert_item_with_data(true, &content_info, true, uid); + ret = _media_svc_insert_item_stack(&content_info); media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info); if (g_insert_with_noti) @@ -283,19 +278,14 @@ int media_svc_insert_item_immediately(sqlite3 *handle, const char *storage_id, c break; case MEDIA_SVC_MEDIA_TYPE_SOUND: case MEDIA_SVC_MEDIA_TYPE_MUSIC: - ret = _media_svc_extract_audio_metadata(handle, false, &content_info, uid); + _media_svc_extract_audio_metadata(handle, false, &content_info, uid); break; case MEDIA_SVC_MEDIA_TYPE_BOOK: ret = _media_svc_extract_book_metadata(&content_info); - /* The 'TITLE' should always be filled in */ - if (!content_info.media_meta.title || strlen(content_info.media_meta.title) == 0) { - g_free(content_info.media_meta.title); - content_info.media_meta.title = _media_svc_get_title_by_path(content_info.path); - } break; default: /* The 'TITLE' should always be filled in */ - content_info.media_meta.title = _media_svc_get_title_by_path(content_info.path); + content_info.media_meta.title = _media_svc_get_title_from_filename(content_info.file_name); break; } @@ -319,8 +309,7 @@ int media_svc_insert_item_immediately(sqlite3 *handle, const char *storage_id, c } } - ret = _media_svc_insert_item_with_data(false, &content_info, false, uid); - + ret = _media_svc_insert_item(&content_info, uid); if (ret == MS_MEDIA_ERR_NONE) { media_svc_debug("Insertion is successful. Sending noti for this"); _media_svc_publish_noti(MS_MEDIA_ITEM_INSERT, content_info.path, content_info.media_type, content_info.media_uuid, content_info.mime_type); @@ -471,7 +460,7 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *storage_ if (ret != MS_MEDIA_ERR_NONE && ret != MS_MEDIA_ERR_DB_NO_RECORD) goto REFRESH_FINALIZE; - if (STRING_VALID(thumb_path)) { + if (strlen(thumb_path) > 0) { _media_svc_remove_file(thumb_path); ret = _media_svc_update_thumbnail_path(path, NULL, uid); @@ -496,19 +485,14 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *storage_ break; case MEDIA_SVC_MEDIA_TYPE_SOUND: case MEDIA_SVC_MEDIA_TYPE_MUSIC: - ret = _media_svc_extract_audio_metadata(handle, is_direct, &content_info, uid); + _media_svc_extract_audio_metadata(handle, is_direct, &content_info, uid); break; case MEDIA_SVC_MEDIA_TYPE_BOOK: ret = _media_svc_extract_book_metadata(&content_info); - /* The 'TITLE' should always be filled in */ - if (!content_info.media_meta.title || strlen(content_info.media_meta.title) == 0) { - g_free(content_info.media_meta.title); - content_info.media_meta.title = _media_svc_get_title_by_path(content_info.path); - } break; default: /* The 'TITLE' should always be filled in */ - content_info.media_meta.title = _media_svc_get_title_by_path(content_info.path); + content_info.media_meta.title = _media_svc_get_title_from_filename(content_info.file_name); break; } @@ -554,28 +538,21 @@ REFRESH_FINALIZE: return ret; } -int media_svc_send_dir_update_noti(const char *dir_path, const char *folder_id, media_item_update_type_e update_type, int pid) +int media_svc_send_dir_update_noti(const char *dir_path, const char *folder_id, int update_type, int pid) { media_svc_retvm_if(!STRING_VALID(dir_path), MS_MEDIA_ERR_INVALID_PARAMETER, "dir_path is NULL"); - return _media_svc_publish_dir_noti(update_type, dir_path, folder_id, pid); + return _media_svc_publish_dir_noti((media_item_update_type_e)update_type, dir_path, folder_id, pid); } -int media_svc_publish_noti(media_item_update_type_e update_type, const char *path, media_type_e media_type, const char *uuid, const char *mime_type) +int media_svc_publish_update_noti(const char *path, int media_type, const char *uuid, const char *mime_type) { - return _media_svc_publish_noti(update_type, path, media_type, uuid, mime_type); + return _media_svc_publish_noti(MS_MEDIA_ITEM_UPDATE, path, media_type, uuid, mime_type); } -int media_svc_set_storage_validity(sqlite3 *handle, const char *storage_id, int validity, uid_t uid) +int media_svc_set_storage_validity(const char *storage_id, int validity, uid_t uid) { - int ret = MS_MEDIA_ERR_NONE; - - media_svc_retvm_if(handle == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "Handle is NULL"); - - ret = _media_svc_update_storage_validity(storage_id, validity, uid); - media_svc_retvm_if(ret != MS_MEDIA_ERR_NONE, ret, "update storage validity failed: %d", ret); - - return ret; + return _media_svc_update_storage_validity(storage_id, validity, uid); } int media_svc_get_storage_id(sqlite3 *handle, const char *path, char *storage_id, uid_t uid) @@ -652,7 +629,7 @@ int media_svc_create_thumbnail(const char *file_path, int media_type, uid_t uid, char *sql = NULL; // 1. Check media type - if (media_type != MS_MEDIA_IMAGE && media_type != MS_MEDIA_VIDEO) + if (media_type != MEDIA_SVC_MEDIA_TYPE_IMAGE && media_type != MEDIA_SVC_MEDIA_TYPE_VIDEO) return MS_MEDIA_ERR_THUMB_UNSUPPORTED; // 2. try to create thumbnail @@ -735,3 +712,18 @@ int media_svc_get_book_by_keyword(sqlite3 *handle, const char *keyword, uid_t ui return ret; } + +int media_svc_check_db(sqlite3 *handle, uid_t uid) +{ + int ret = MS_MEDIA_ERR_NONE; + bool exist = false; + + ret = media_svc_check_table_exist(handle, &exist); + if (ret != MS_MEDIA_ERR_NONE) + return ret; + + if (!exist) + ret = media_svc_create_table(uid); + + return ret; +} \ No newline at end of file