-int media_info_move_to_db(media_info_h media, const char* dst_path)
-{
- int ret = MEDIA_CONTENT_ERROR_NONE;
- bool ignore_file = FALSE;
- bool ignore_dir = FALSE;
- char *folder_path = NULL;
- media_svc_storage_type_e src_storage_type = 0;
- media_svc_storage_type_e dst_storage_type = 0;
- char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0, };
-
- media_content_retvm_if(media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid media");
- media_content_retvm_if(!STRING_VALID(dst_path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid dst_path");
-
- media_info_s *_media = (media_info_s*)media;
-
- ret = _media_util_check_ignore_file(dst_path, &ignore_file);
- media_content_retvm_if(ignore_file == TRUE, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
-
- ret = _media_util_check_file_exist(dst_path);
- media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-
- folder_path = g_path_get_dirname(dst_path);
- ret = _media_util_check_ignore_dir(folder_path, &ignore_dir);
- SAFE_FREE(folder_path);
-
- media_content_retvm_if(ignore_dir == TRUE, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid folder path");
-
- ret = media_svc_get_storage_type(_media->file_path, &src_storage_type, tzplatform_getuid(TZ_USER_NAME));
- if (ret != MS_MEDIA_ERR_NONE) {
- media_content_sec_error("media_svc_get_storage_type failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
- }
-
- ret = media_svc_get_storage_type(dst_path, &dst_storage_type, tzplatform_getuid(TZ_USER_NAME));
- if (ret != MS_MEDIA_ERR_NONE) {
- media_content_sec_error("media_svc_get_storage_type failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
- }
-
- memset(storage_id, 0x00, sizeof(storage_id));
- ret = media_svc_get_storage_id(_content_get_db_handle(), _media->file_path, storage_id);
- if (ret != MS_MEDIA_ERR_NONE) {
- media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
- }
-
- ret = media_svc_move_item(_content_get_db_handle(), storage_id, src_storage_type, _media->file_path, dst_storage_type, dst_path, tzplatform_getuid(TZ_USER_NAME));
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
-}
-
-int media_info_create_thumbnail(media_info_h media, media_thumbnail_completed_cb callback, void *user_data)
-{
- int ret = MEDIA_CONTENT_ERROR_NONE;
- static unsigned int req_id = 0;
- media_info_s *_media = (media_info_s*)media;
-
- if (_media != NULL && STRING_VALID(_media->media_id) && STRING_VALID(_media->file_path)) {
- media_thumbnail_cb_s *_thumb_cb = (media_thumbnail_cb_s*)calloc(1, sizeof(media_thumbnail_cb_s));
- media_content_retvm_if(_thumb_cb == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- req_id++;
- _media->request_id = req_id;
-
- _thumb_cb->handle = _media;
- _thumb_cb->user_data = user_data;
- _thumb_cb->thumbnail_completed_cb = callback;
-
- ret = thumbnail_request_from_db_async(_media->request_id, _media->file_path, (ThumbFunc)__media_info_thumbnail_completed_cb, (void *)_thumb_cb, tzplatform_getuid(TZ_USER_NAME));
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
- } else {
- media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return ret;
-}
-
-int media_info_cancel_thumbnail(media_info_h media)
-{
- int ret = MEDIA_CONTENT_ERROR_NONE;
- media_info_s *_media = (media_info_s*)media;
-
- if (_media != NULL && STRING_VALID(_media->media_id) && STRING_VALID(_media->file_path) && _media->request_id > 0) {
- ret = thumbnail_request_cancel_media(_media->request_id, _media->file_path);
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
- } else {
- media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return ret;
-}
-
-static int __media_info_map_data_usr_to_svc(media_info_s *media, media_svc_content_info_s **service_content, media_content_storage_e storage_type)
-{
- media_content_retvm_if(media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle");
-
- media_svc_content_info_s *svc_content_info = calloc(1, sizeof(media_svc_content_info_s));
- media_content_retvm_if(svc_content_info == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-
- svc_content_info->path = g_strdup(media->file_path);
- svc_content_info->file_name = g_strdup(media->display_name);
- svc_content_info->media_type = media->media_type;
- svc_content_info->mime_type = g_strdup(media->mime_type);
- svc_content_info->size = media->size;
- svc_content_info->storage_type = storage_type;
- svc_content_info->storage_uuid = g_strdup(media->storage_uuid);
-
- svc_content_info->added_time = media->added_time;
- svc_content_info->modified_time = media->modified_time;
- svc_content_info->thumbnail_path = g_strdup(media->thumbnail_path);
- svc_content_info->is_drm = media->is_drm;
- svc_content_info->last_played_time = media->played_time;
- svc_content_info->played_count = media->played_count;
- svc_content_info->favourate = media->favourite;
-
- svc_content_info->media_meta.title = g_strdup(media->title);
- svc_content_info->media_meta.rating = media->rating;
- svc_content_info->media_meta.description = g_strdup(media->description);
- svc_content_info->media_meta.longitude = media->longitude;
- svc_content_info->media_meta.latitude = media->latitude;
- svc_content_info->media_meta.altitude = media->altitude;
- svc_content_info->media_meta.weather = g_strdup(media->weather);
- svc_content_info->media_meta.category = g_strdup(media->category);
- svc_content_info->media_meta.keyword = g_strdup(media->keyword);
- svc_content_info->media_meta.location_tag = g_strdup(media->location_tag);
- svc_content_info->media_meta.content_name = g_strdup(media->content_name);
- svc_content_info->media_meta.age_rating = g_strdup(media->age_rating);
- svc_content_info->media_meta.author = g_strdup(media->author);
- svc_content_info->media_meta.provider = g_strdup(media->provider);
-
- svc_content_info->media_meta.album = g_strdup(media->audio_meta->album);
- svc_content_info->media_meta.artist = g_strdup(media->audio_meta->artist);
- svc_content_info->media_meta.genre = g_strdup(media->audio_meta->genre);
- svc_content_info->media_meta.recorded_date = g_strdup(media->audio_meta->recorded_date);
-
- if (storage_type == MEDIA_CONTENT_STORAGE_CLOUD) {
- switch (media->media_type) {
- case MEDIA_CONTENT_TYPE_IMAGE:
- svc_content_info->media_meta.width = media->image_meta->width;
- svc_content_info->media_meta.height = media->image_meta->height;
- svc_content_info->media_meta.datetaken = g_strdup(media->image_meta->date_taken);
- svc_content_info->media_meta.orientation = media->image_meta->orientation;
- break;
- case MEDIA_CONTENT_TYPE_VIDEO:
- svc_content_info->media_meta.album_artist = g_strdup(media->audio_meta->album_artist);
- svc_content_info->media_meta.composer = g_strdup(media->audio_meta->composer);
- svc_content_info->media_meta.year = g_strdup(media->audio_meta->year);
- svc_content_info->media_meta.copyright = g_strdup(media->audio_meta->copyright);
- svc_content_info->media_meta.track_num = g_strdup(media->audio_meta->track_num);
- svc_content_info->media_meta.bitrate = media->audio_meta->bitrate;
- svc_content_info->media_meta.duration = media->audio_meta->duration;
- svc_content_info->media_meta.width = media->image_meta->width;
- svc_content_info->media_meta.height = media->image_meta->height;
- break;
- case MEDIA_CONTENT_TYPE_SOUND:
- case MEDIA_CONTENT_TYPE_MUSIC:
- svc_content_info->media_meta.album_artist = g_strdup(media->audio_meta->album_artist);
- svc_content_info->media_meta.composer = g_strdup(media->audio_meta->composer);
- svc_content_info->media_meta.year = g_strdup(media->audio_meta->year);
- svc_content_info->media_meta.copyright = g_strdup(media->audio_meta->copyright);
- svc_content_info->media_meta.track_num = g_strdup(media->audio_meta->track_num);
- svc_content_info->media_meta.bitrate = media->audio_meta->bitrate;
- svc_content_info->media_meta.duration = media->audio_meta->duration;
- svc_content_info->media_meta.channel = media->audio_meta->channel;
- svc_content_info->media_meta.samplerate = media->audio_meta->samplerate;
- break;
- case MEDIA_CONTENT_TYPE_OTHERS:
- default:
- break;
- }
- }
-
- *service_content = svc_content_info;
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-static int __media_info_set_str_data(media_info_h media, media_info_item_e data_type, const char *str_data)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- switch (data_type) {
- case MEDIA_INFO_PATH:
- SAFE_FREE(_media->file_path);
- if (STRING_VALID(str_data)) {
- _media->file_path = strdup(str_data);
- media_content_retvm_if(_media->file_path == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- } else {
- _media->file_path = NULL;
- }
- break;
- case MEDIA_INFO_MIME_TYPE:
- SAFE_FREE(_media->mime_type);
- if (STRING_VALID(str_data)) {
- _media->mime_type = strdup(str_data);
- media_content_retvm_if(_media->mime_type == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- } else {
- _media->mime_type = NULL;
- }
- break;
- case MEDIA_INFO_THUMBNAIL_PATH:
- SAFE_FREE(_media->thumbnail_path);
- if (STRING_VALID(str_data)) {
- _media->thumbnail_path = strdup(str_data);
- media_content_retvm_if(_media->thumbnail_path == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- } else {
- _media->thumbnail_path = NULL;
- }
- break;
- case MEDIA_INFO_TITLE:
- SAFE_FREE(_media->title);
- if (STRING_VALID(str_data)) {
- _media->title = strdup(str_data);
- media_content_retvm_if(_media->title == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- } else {
- _media->title = NULL;
- }
- break;
- case MEDIA_INFO_STORAGE_UUID:
- SAFE_FREE(_media->storage_uuid);
- if (STRING_VALID(str_data)) {
- _media->storage_uuid = strdup(str_data);
- media_content_retvm_if(_media->storage_uuid == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- } else {
- _media->storage_uuid = NULL;
- }
- break;
- case MEDIA_INFO_ALBUM:
- if (STRING_VALID(_media->media_id)) {
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO) {
- SAFE_FREE(_media->video_meta->album);
- if (str_data != NULL) {
- _media->video_meta->album = strdup(str_data);
- media_content_retvm_if(_media->video_meta->album == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- } else if ((_media->media_type == MEDIA_CONTENT_TYPE_MUSIC) || (_media->media_type == MEDIA_CONTENT_TYPE_SOUND)) {
- SAFE_FREE(_media->audio_meta->album);
- if (str_data != NULL) {
- _media->audio_meta->album = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->album == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- } else {
- SAFE_FREE(_media->video_meta->album);
- if (str_data != NULL) {
- _media->video_meta->album = strdup(str_data);
- media_content_retvm_if(_media->video_meta->album == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
-
- SAFE_FREE(_media->audio_meta->album);
- if (str_data != NULL) {
- _media->audio_meta->album = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->album == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- break;
- case MEDIA_INFO_ARTIST:
- if (STRING_VALID(_media->media_id)) {
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO) {
- SAFE_FREE(_media->video_meta->artist);
- if (str_data != NULL) {
- _media->video_meta->artist = strdup(str_data);
- media_content_retvm_if(_media->video_meta->artist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- } else if ((_media->media_type == MEDIA_CONTENT_TYPE_MUSIC) || (_media->media_type == MEDIA_CONTENT_TYPE_SOUND)) {
- SAFE_FREE(_media->audio_meta->artist);
- if (str_data != NULL) {
- _media->audio_meta->artist = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->artist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- } else {
- SAFE_FREE(_media->video_meta->artist);
- if (str_data != NULL) {
- _media->video_meta->artist = strdup(str_data);
- media_content_retvm_if(_media->video_meta->artist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
-
- SAFE_FREE(_media->audio_meta->artist);
- if (str_data != NULL) {
- _media->audio_meta->artist = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->artist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- break;
- case MEDIA_INFO_GENRE:
- if (STRING_VALID(_media->media_id)) {
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO) {
- SAFE_FREE(_media->video_meta->genre);
- if (str_data != NULL) {
- _media->video_meta->genre = strdup(str_data);
- media_content_retvm_if(_media->video_meta->genre == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- } else if ((_media->media_type == MEDIA_CONTENT_TYPE_MUSIC) || (_media->media_type == MEDIA_CONTENT_TYPE_SOUND)) {
- SAFE_FREE(_media->audio_meta->genre);
- if (str_data != NULL) {
- _media->audio_meta->genre = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->genre == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- } else {
- SAFE_FREE(_media->video_meta->genre);
- if (str_data != NULL) {
- _media->video_meta->genre = strdup(str_data);
- media_content_retvm_if(_media->video_meta->genre == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
-
- SAFE_FREE(_media->audio_meta->genre);
- if (str_data != NULL) {
- _media->audio_meta->genre = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->genre == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- break;
- case MEDIA_INFO_RECORDED_DATE:
- if (STRING_VALID(_media->media_id)) {
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO) {
- SAFE_FREE(_media->video_meta->recorded_date);
- if (str_data != NULL) {
- _media->video_meta->recorded_date = strdup(str_data);
- media_content_retvm_if(_media->video_meta->recorded_date == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- } else if ((_media->media_type == MEDIA_CONTENT_TYPE_MUSIC) || (_media->media_type == MEDIA_CONTENT_TYPE_SOUND)) {
- SAFE_FREE(_media->audio_meta->recorded_date);
- if (str_data != NULL) {
- _media->audio_meta->recorded_date = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->recorded_date == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- } else {
- SAFE_FREE(_media->video_meta->recorded_date);
- if (str_data != NULL) {
- _media->video_meta->recorded_date = strdup(str_data);
- media_content_retvm_if(_media->video_meta->recorded_date == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
-
- SAFE_FREE(_media->audio_meta->recorded_date);
- if (str_data != NULL) {
- _media->audio_meta->recorded_date = strdup(str_data);
- media_content_retvm_if(_media->audio_meta->recorded_date == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- }
- break;
- default:
- media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-static int __media_info_destroy(media_info_h media)
-{
- int ret = MEDIA_CONTENT_ERROR_NONE;
- media_info_s *_media = (media_info_s*)media;
-
- if (_media) {
- SAFE_FREE(_media->media_id);
- SAFE_FREE(_media->file_path);
- SAFE_FREE(_media->display_name);
- SAFE_FREE(_media->mime_type);
- SAFE_FREE(_media->thumbnail_path);
- SAFE_FREE(_media->description);
- SAFE_FREE(_media->author);
- SAFE_FREE(_media->provider);
- SAFE_FREE(_media->content_name);
- SAFE_FREE(_media->category);
- SAFE_FREE(_media->location_tag);
- SAFE_FREE(_media->age_rating);
- SAFE_FREE(_media->keyword);
- SAFE_FREE(_media->title);
- SAFE_FREE(_media->weather);
- SAFE_FREE(_media->storage_uuid);
-
- if (_media->image_meta) {
- SAFE_FREE(_media->image_meta->media_id);
- SAFE_FREE(_media->image_meta->date_taken);
- SAFE_FREE(_media->image_meta->burst_id);
- SAFE_FREE(_media->image_meta->exposure_time);
- SAFE_FREE(_media->image_meta->model);
- SAFE_FREE(_media->image_meta->title);
- SAFE_FREE(_media->image_meta->weather);
-
- SAFE_FREE(_media->image_meta);
- }
-
- if (_media->video_meta) {
- SAFE_FREE(_media->video_meta->media_id);
- SAFE_FREE(_media->video_meta->title);
- SAFE_FREE(_media->video_meta->album);
- SAFE_FREE(_media->video_meta->artist);
- SAFE_FREE(_media->video_meta->album_artist);
- SAFE_FREE(_media->video_meta->genre);
- SAFE_FREE(_media->video_meta->composer);
- SAFE_FREE(_media->video_meta->year);
- SAFE_FREE(_media->video_meta->recorded_date);
- SAFE_FREE(_media->video_meta->copyright);
- SAFE_FREE(_media->video_meta->track_num);
-
- SAFE_FREE(_media->video_meta);
- }
-
- if (_media->audio_meta) {
- SAFE_FREE(_media->audio_meta->media_id);
- SAFE_FREE(_media->audio_meta->title);
- SAFE_FREE(_media->audio_meta->album);
- SAFE_FREE(_media->audio_meta->artist);
- SAFE_FREE(_media->audio_meta->album_artist);
- SAFE_FREE(_media->audio_meta->genre);
- SAFE_FREE(_media->audio_meta->composer);
- SAFE_FREE(_media->audio_meta->year);
- SAFE_FREE(_media->audio_meta->recorded_date);
- SAFE_FREE(_media->audio_meta->copyright);
- SAFE_FREE(_media->audio_meta->track_num);
-
- SAFE_FREE(_media->audio_meta);
- }
-
- ret = MEDIA_CONTENT_ERROR_NONE;
- } else {
- media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return ret;
-}
-
-int media_info_insert_to_db_with_data(media_info_h media)
-{
- int ret = MEDIA_CONTENT_ERROR_NONE;
-
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
- media_content_retvm_if(!STRING_VALID(_media->file_path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid file_path");
- media_content_retvm_if(!STRING_VALID(_media->storage_uuid), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid storage_uuid");
- media_content_retvm_if(_media->storage_type < 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid storage_type [%d]", _media->storage_type);
-
- /* Cloud Item should be filled whole info*/
- if (_media->storage_type == MEDIA_CONTENT_STORAGE_CLOUD) {
- media_content_retvm_if(!STRING_VALID(_media->mime_type), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid mime_type");
- media_content_retvm_if(!STRING_VALID(_media->title), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid title");
- media_content_retvm_if(_media->size <= 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid size [%d]", _media->size);
- media_content_retvm_if(_media->modified_time <= 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid modified_time [%d]", _media->modified_time);
-
- if ((_media->media_type < MEDIA_CONTENT_TYPE_IMAGE) || (_media->media_type > MEDIA_CONTENT_TYPE_OTHERS)) {
- media_content_error("invalid media type [%d]", _media->media_type);
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
- }
-
- media_content_sec_debug("storage[%d], path[%s], media_type[%d]", _media->storage_type, _media->file_path, _media->media_type);
-
- media_svc_content_info_s *svc_content_info = NULL;
-
- ret = __media_info_map_data_usr_to_svc(_media, &svc_content_info, _media->storage_type);
- media_content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "__media_info_map_data_usr_to_svc fail");
-
- ret = media_svc_insert_item_immediately_with_data(_content_get_db_handle(), svc_content_info, tzplatform_getuid(TZ_USER_NAME));
- if (ret != MS_MEDIA_ERR_NONE) {
- media_content_sec_error("media_svc_insert_item_immediately_with_data failed : %d (%s)", ret, _media->file_path);
- media_svc_destroy_content_info(svc_content_info);
- SAFE_FREE(svc_content_info);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
- }
- /*free the svc_content_info*/
- media_svc_destroy_content_info(svc_content_info);
- SAFE_FREE(svc_content_info);
-
- /*Fill out the handle*/
- char *media_file_path = g_strdup(_media->file_path);
- char *media_string_uuid = g_strdup(_media->storage_uuid);
-
- __media_info_destroy(media);
- ret = _media_info_get_media_info_from_db(media_file_path, media_string_uuid, media);
- if (ret != MEDIA_CONTENT_ERROR_NONE)
- media_content_error("_media_info_get_media_info_from_db fail", ret);
-
- SAFE_FREE(media_file_path);
- SAFE_FREE(media_string_uuid);
-
- return ret;
-}
-
-int media_info_create(const char *path, media_info_h *media)
-{
- int ret = MEDIA_CONTENT_ERROR_NONE;
- char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0, };
- media_svc_storage_type_e storage_type = 0;
- bool ignore_file = FALSE;
-
- media_content_retvm_if(!STRING_VALID(path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
- media_content_retvm_if(media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- ret = _media_util_check_ignore_file(path, &ignore_file);
- media_content_retvm_if(ignore_file == TRUE, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
-
- memset(storage_id, 0x00, sizeof(storage_id));
-
- if (STRING_VALID(MEDIA_ROOT_PATH_CLOUD) && (strstr(path, MEDIA_ROOT_PATH_CLOUD) == NULL)) {
- bool ignore_dir = FALSE;
- char *folder_path = NULL;
-
- ret = _media_util_check_file_exist(path);
- media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-
- folder_path = g_path_get_dirname(path);
- ret = _media_util_check_ignore_dir(folder_path, &ignore_dir);
- SAFE_FREE(folder_path);
- media_content_retvm_if(ignore_dir == TRUE, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid folder path");
-
- ret = media_svc_get_storage_id(_content_get_db_handle(), path, storage_id);
- if (ret != MS_MEDIA_ERR_NONE) {
- media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
- }
-
- ret = media_svc_get_storage_type(path, &storage_type, tzplatform_getuid(TZ_USER_NAME));
- if (ret != MS_MEDIA_ERR_NONE) {
- media_content_sec_error("media_svc_get_storage_type failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
- }
- }
-
- media_info_s *_media = (media_info_s*)calloc(1, sizeof(media_info_s));
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-
- _media->audio_meta = (audio_meta_s *)calloc(1, sizeof(audio_meta_s));
- if (_media->audio_meta == NULL) {
- SAFE_FREE(_media);
- media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
-
- _media->video_meta = (video_meta_s *)calloc(1, sizeof(video_meta_s));
- if (_media->video_meta == NULL) {
- SAFE_FREE(_media->audio_meta);
- SAFE_FREE(_media);
- media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
-
- _media->image_meta = (image_meta_s *)calloc(1, sizeof(image_meta_s));
- if (_media->image_meta == NULL) {
- SAFE_FREE(_media->audio_meta);
- SAFE_FREE(_media->video_meta);
- SAFE_FREE(_media);
- media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
-
- _media->file_path = g_strdup(path);
- _media->storage_type = -1;
- _media->media_type = 0;
- _media->modified_time = 0;
- _media->size = 0;
- _media->request_id = 0;
- _media->longitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
- _media->latitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
- _media->altitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
-
- if (STRING_VALID(storage_id)) {
- _media->storage_uuid = g_strdup(storage_id);
- _media->storage_type = storage_type;
- }
-
- *media = (media_info_h)_media;
-
- return ret;
-}
-
-int media_info_set_mime_type(media_info_h media, const char *mime_type)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_MIME_TYPE, mime_type);
-}
-
-int media_info_set_title(media_info_h media, const char *title)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_TITLE, title);
-}
-
-int media_info_set_album(media_info_h media, const char *album)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_ALBUM, album);
-}
-
-int media_info_set_artist(media_info_h media, const char *artist)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_ARTIST, artist);
-}
-
-int media_info_set_genre(media_info_h media, const char *genre)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_GENRE, genre);
-}
-
-int media_info_set_recorded_date(media_info_h media, const char *recorded_date)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_RECORDED_DATE, recorded_date);
-}
-
-int media_info_set_thumbnail_path(media_info_h media, const char *thumbnail_path)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_THUMBNAIL_PATH, thumbnail_path);
-}
-
-int media_info_set_storage_id(media_info_h media, const char *storage_id)
-{
- return __media_info_set_str_data(media, MEDIA_INFO_STORAGE_UUID, storage_id);
-}
-
-int media_info_set_size(media_info_h media, unsigned long long size)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- _media->size = size;
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-int media_info_set_modified_time(media_info_h media, time_t modified_time)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- _media->modified_time = modified_time;
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-int media_info_set_media_type(media_info_h media, media_content_type_e type)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- _media->media_type = type;
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-int media_info_set_duration(media_info_h media, int duration)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO)
- _media->video_meta->duration = duration;
- else if ((_media->media_type == MEDIA_CONTENT_TYPE_MUSIC) || (_media->media_type == MEDIA_CONTENT_TYPE_SOUND))
- _media->audio_meta->duration = duration;
- else {
- media_content_error("Invalid media type");
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-int media_info_set_width(media_info_h media, int width)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO)
- _media->video_meta->width = width;
- else if (_media->media_type == MEDIA_CONTENT_TYPE_IMAGE)
- _media->image_meta->width = width;
- else {
- media_content_error("Invalid media type");
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-int media_info_set_height(media_info_h media, int height)
-{
- media_info_s *_media = (media_info_s*)media;
-
- media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media");
-
- if (_media->media_type == MEDIA_CONTENT_TYPE_VIDEO)
- _media->video_meta->height = height;
- else if (_media->media_type == MEDIA_CONTENT_TYPE_IMAGE)
- _media->image_meta->height = height;
- else {
- media_content_error("Invalid media type");
- return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return MEDIA_CONTENT_ERROR_NONE;
-}
-
-int media_info_set_storage_type(media_info_h media, media_content_storage_e storage_type)