diff options
author | Minje Ahn <minje.ahn@samsung.com> | 2024-04-11 12:31:15 +0900 |
---|---|---|
committer | Minje ahn <minje.ahn@samsung.com> | 2024-04-11 06:57:25 +0000 |
commit | fa4f1db33dba003be620bad5f79d78c376df6111 (patch) | |
tree | f6711043efacbd2249561e15fd3039d75b52eb8a /src | |
parent | aec47cdda3c4369b876f46d794885c0dc4160bf4 (diff) | |
download | libmedia-service-fa4f1db33dba003be620bad5f79d78c376df6111.tar.gz libmedia-service-fa4f1db33dba003be620bad5f79d78c376df6111.tar.bz2 libmedia-service-fa4f1db33dba003be620bad5f79d78c376df6111.zip |
Rollback recorded_date for web TC
Change-Id: I57066e691a7e950a7b269067fb5e735a39a7fa56
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-x | src/media-svc-media.c | 6 | ||||
-rw-r--r-- | src/media-svc-util.c | 37 |
2 files changed, 41 insertions, 2 deletions
diff --git a/src/media-svc-media.c b/src/media-svc-media.c index a24bdab..6c0c311 100755 --- a/src/media-svc-media.c +++ b/src/media-svc-media.c @@ -71,7 +71,7 @@ int _media_svc_get_modified_time(sqlite3 *handle, const char *path, int *modifie static char *__media_svc_make_insert_query(media_svc_content_info_s *content_info) { - return sqlite3_mprintf("INSERT INTO %q(media_id, media_path, media_display_name, media_type, media_mime_type, media_size, media_modified_time, folder_id, media_thumbnail_path, media_title, album_id, media_album, media_artist, media_album_artist, media_genre, media_year, media_track_num, media_width, media_height, media_datetaken, orientation, storage_uuid) VALUES (%Q, %Q, %Q, %d, %Q, %lld, %d, %lld, %Q, %Q, %d, %Q, %Q, %Q, %Q, %Q, %Q, %d, %d, %Q, %d, %Q);", + return sqlite3_mprintf("INSERT INTO %q(media_id, media_path, media_display_name, media_type, media_mime_type, media_size, media_modified_time, folder_id, media_thumbnail_path, media_title, album_id, media_album, media_artist, media_album_artist, media_genre, media_year, media_recorded_date, media_track_num, media_width, media_height, media_datetaken, orientation, storage_uuid) VALUES (%Q, %Q, %Q, %d, %Q, %lld, %d, %lld, %Q, %Q, %d, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d, %d, %Q, %d, %Q);", DB_TABLE_MEDIA, content_info->media_uuid, content_info->path, @@ -89,6 +89,7 @@ static char *__media_svc_make_insert_query(media_svc_content_info_s *content_inf content_info->media_meta.album_artist, content_info->media_meta.genre, content_info->media_meta.year, + content_info->media_meta.recorded_date, content_info->media_meta.track_num, content_info->media_meta.width, content_info->media_meta.height, @@ -126,7 +127,7 @@ int _media_svc_update_item_with_data(bool is_direct, media_svc_content_info_s *c { int ret = MS_MEDIA_ERR_NONE; - char *sql = sqlite3_mprintf("UPDATE %q SET media_size=%lld, media_modified_time=%d, media_thumbnail_path=%Q, media_title=%Q, album_id=%d, media_album=%Q, media_artist=%Q, media_album_artist=%Q, media_genre=%Q, media_year=%Q, media_track_num=%Q, media_width=%d, media_height=%d, media_datetaken=%Q, orientation=%d, validity=1 WHERE media_path=%Q;", + char *sql = sqlite3_mprintf("UPDATE %q SET media_size=%lld, media_modified_time=%d, media_thumbnail_path=%Q, media_title=%Q, album_id=%d, media_album=%Q, media_artist=%Q, media_album_artist=%Q, media_genre=%Q, media_year=%Q, media_recorded_date=%Q, media_track_num=%Q, media_width=%d, media_height=%d, media_datetaken=%Q, orientation=%d, validity=1 WHERE media_path=%Q;", DB_TABLE_MEDIA, content_info->size, content_info->modified_time, @@ -138,6 +139,7 @@ int _media_svc_update_item_with_data(bool is_direct, media_svc_content_info_s *c content_info->media_meta.album_artist, content_info->media_meta.genre, content_info->media_meta.year, + content_info->media_meta.recorded_date, content_info->media_meta.track_num, content_info->media_meta.width, content_info->media_meta.height, diff --git a/src/media-svc-util.c b/src/media-svc-util.c index a4bed31..ec2f652 100644 --- a/src/media-svc-util.c +++ b/src/media-svc-util.c @@ -472,6 +472,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info) } content_info->media_meta.datetaken = __media_svc_get_exif_datetaken(ed); + content_info->media_meta.recorded_date = g_strdup(content_info->media_meta.datetaken); if (__media_svc_get_exif_short(ed, EXIF_TAG_ORIENTATION, &orient_value)) { if (orient_value <= ROT_270) @@ -573,6 +574,18 @@ void _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_sv content_info->media_meta.genre = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_GENRE); content_info->media_meta.track_num = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_TRACK_NUM); + mmf_error = mm_file_get_attrs(tag, MM_FILE_TAG_RECDATE, &p, &size, NULL); + if ((mmf_error == FILEINFO_ERROR_NONE) && (size > 0)) { + if (g_str_has_suffix(content_info->mime_type, "mp4") || g_str_has_suffix(content_info->mime_type, "3gpp")) { + /*Creation time format is 20130101 00:00:00 +0000. change it to 2013:01:01 00:00:00 +0000 like exif time format*/ + char *p_value = g_strdelimit(g_strdup(p), "", ':'); + content_info->media_meta.recorded_date = g_strdup_printf("%s +0000", p_value); + g_free(p_value); + } else { + content_info->media_meta.recorded_date = g_strdup(p); + } + } + mmf_error = mm_file_get_attrs(tag, MM_FILE_TAG_DATE, &p, &size, NULL); if (mmf_error == FILEINFO_ERROR_NONE && size == 4) content_info->media_meta.year = g_strdup(p); @@ -599,6 +612,29 @@ void _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_sv void _media_svc_extract_video_metadata(media_svc_content_info_s *content_info) { + int mmf_error = FILEINFO_ERROR_NONE; + MMHandleType tag = 0; + char *p = NULL; + unsigned int size = 0; + + mmf_error = mm_file_create_tag_attrs_no_albumart(&tag, content_info->path); + if (mmf_error == FILEINFO_ERROR_NONE) { + mmf_error = mm_file_get_attrs(tag, MM_FILE_TAG_RECDATE, &p, &size, NULL); + if ((mmf_error == FILEINFO_ERROR_NONE) && (size > 0)) { + if (g_str_has_suffix(content_info->mime_type, "mp4") || g_str_has_suffix(content_info->mime_type, "3gpp")) { + /*Creation time format is 20130101 00:00:00 +0000. change it to 2013:01:01 00:00:00 +0000 like exif time format*/ + char *p_value = g_strdelimit(g_strdup(p), "", ':'); + content_info->media_meta.recorded_date = g_strdup_printf("%s +0000", p_value); + g_free(p_value); + } else { + content_info->media_meta.recorded_date = g_strdup(p); + } + } + + mmf_error = mm_file_destroy_tag_attrs(tag); + 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); @@ -926,6 +962,7 @@ void _media_svc_destroy_content_info(media_svc_content_info_s *content_info) g_free(content_info->media_meta.album_artist); g_free(content_info->media_meta.genre); g_free(content_info->media_meta.year); + g_free(content_info->media_meta.recorded_date); g_free(content_info->media_meta.track_num); g_free(content_info->media_meta.datetaken); } |