From 77b292eb9fd3e3076829765e8cc2d6b8c1dc88f2 Mon Sep 17 00:00:00 2001 From: "minje.ahn" Date: Wed, 7 Feb 2024 11:44:56 +0900 Subject: [PATCH] Restore some fields for TC Remove again after ACR is done. Change-Id: I069bad1354a1347bf49160fe830e32dd75c11e97 Signed-off-by: minje.ahn --- src/common/media-svc-db-utils.c | 2 +- src/common/media-svc-media.c | 8 +++++--- src/common/media-svc-util.c | 23 +++++++++++++++++++++++ src/include/common/media-svc-util.h | 1 + 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/common/media-svc-db-utils.c b/src/common/media-svc-db-utils.c index e273c3f..9fc87db 100755 --- a/src/common/media-svc-db-utils.c +++ b/src/common/media-svc-db-utils.c @@ -376,7 +376,7 @@ int _media_svc_init_table_query(void) __add_column_info(&column_list[DB_LIST_MEDIA], "media_composer", DB_TYPE_TEXT, "DEFAULT ''", false, false, true); __add_column_info(&column_list[DB_LIST_MEDIA], "media_year", DB_TYPE_TEXT, NULL, false, false, true); __add_column_info(&column_list[DB_LIST_MEDIA], "media_recorded_date", DB_TYPE_TEXT, NULL, false, false, true); - __add_column_info(&column_list[DB_LIST_MEDIA], "media_copyright", DB_TYPE_TEXT, "DEFAULT ''", false, false, true); + __add_column_info(&column_list[DB_LIST_MEDIA], "media_copyright", DB_TYPE_TEXT, NULL, false, false, true); __add_column_info(&column_list[DB_LIST_MEDIA], "media_track_num", DB_TYPE_TEXT, NULL, false, false, true); __add_column_info(&column_list[DB_LIST_MEDIA], "media_description", DB_TYPE_TEXT, "DEFAULT ''", false, false, true); __add_column_info(&column_list[DB_LIST_MEDIA], "media_bitrate", DB_TYPE_INT, "DEFAULT -1", false, false, true); diff --git a/src/common/media-svc-media.c b/src/common/media-svc-media.c index 0e586cb..8fac748 100755 --- a/src/common/media-svc-media.c +++ b/src/common/media-svc-media.c @@ -72,11 +72,11 @@ int _media_svc_insert_item_with_data(bool is_direct, media_svc_content_info_s *c { int ret = MS_MEDIA_ERR_NONE; - const char *db_fields = "media_id, media_path, media_display_name, media_type, media_mime_type, media_size, media_added_time, 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, media_orientation, storage_uuid"; + const char *db_fields = "media_id, media_path, media_display_name, media_type, media_mime_type, media_size, media_added_time, 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_copyright, media_track_num, media_width, media_height, media_datetaken, media_orientation, storage_uuid"; const char *db_fields_basic = "media_id, media_path, media_display_name, media_type, media_mime_type, media_size, media_added_time, media_modified_time, folder_id, album_id, storage_uuid"; - char *sql = sqlite3_mprintf("INSERT INTO %q(%q) VALUES (%Q, %Q, %Q, %d, %Q, %lld, %d, %d, %lld, %Q, %Q, %d, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d, %d, %Q, %d, %Q);", + char *sql = sqlite3_mprintf("INSERT INTO %q(%q) VALUES (%Q, %Q, %Q, %d, %Q, %lld, %d, %d, %lld, %Q, %Q, %d, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d, %d, %Q, %d, %Q);", DB_TABLE_MEDIA, db_fields, content_info->media_uuid, content_info->path, @@ -96,6 +96,7 @@ int _media_svc_insert_item_with_data(bool is_direct, media_svc_content_info_s *c content_info->media_meta.genre, content_info->media_meta.year, content_info->media_meta.recorded_date, + content_info->media_meta.copyright, content_info->media_meta.track_num, content_info->media_meta.width, content_info->media_meta.height, @@ -144,7 +145,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_recorded_date=%Q, media_track_num=%Q, media_width=%d, media_height=%d, media_datetaken=%Q, media_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_copyright=%Q, media_track_num=%Q, media_width=%d, media_height=%d, media_datetaken=%Q, media_orientation=%d, validity=1 WHERE media_path=%Q;", DB_TABLE_MEDIA, content_info->size, content_info->modified_time, @@ -157,6 +158,7 @@ int _media_svc_update_item_with_data(bool is_direct, media_svc_content_info_s *c content_info->media_meta.genre, content_info->media_meta.year, content_info->media_meta.recorded_date, + content_info->media_meta.copyright, content_info->media_meta.track_num, content_info->media_meta.width, content_info->media_meta.height, diff --git a/src/common/media-svc-util.c b/src/common/media-svc-util.c index f4d0dd7..e6e13c3 100644 --- a/src/common/media-svc-util.c +++ b/src/common/media-svc-util.c @@ -541,6 +541,9 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info) } } + if (content_info->media_meta.recorded_date == NULL) + content_info->media_meta.recorded_date = g_strdup(MEDIA_SVC_TAG_UNKNOWN); + /* Get orientation value from exif. */ if (__media_svc_get_exif_info(ed, NULL, &orient_value, EXIF_TAG_ORIENTATION) == MS_MEDIA_ERR_NONE) { if (orient_value >= NOT_AVAILABLE && orient_value <= ROT_270) @@ -619,6 +622,7 @@ int _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_svc content_info->media_meta.album_artist = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_ALBUM_ARTIST); 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); + content_info->media_meta.copyright = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_COPYRIGHT); mmf_error = mm_file_get_attrs(tag, MM_FILE_TAG_RECDATE, &p, &size, NULL); if ((mmf_error == FILEINFO_ERROR_NONE) && (size > 0)) { @@ -632,6 +636,9 @@ int _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_svc } } + if (content_info->media_meta.recorded_date == NULL) + content_info->media_meta.recorded_date = g_strdup(MEDIA_SVC_TAG_UNKNOWN); + mmf_error = mm_file_get_attrs(tag, MM_FILE_TAG_DATE, &p, &size, NULL); if (mmf_error == FILEINFO_ERROR_NONE && size == 4) { if (__media_svc_safe_atoi(p, &convert_value) == MS_MEDIA_ERR_NONE) @@ -705,6 +712,7 @@ int _media_svc_extract_video_metadata(media_svc_content_info_s *content_info) { int mmf_error = FILEINFO_ERROR_NONE; MMHandleType tag = 0; + MMHandleType content = 0; char *p = NULL; unsigned int size = 0; @@ -723,10 +731,21 @@ int _media_svc_extract_video_metadata(media_svc_content_info_s *content_info) } } + if (content_info->media_meta.recorded_date == NULL) + content_info->media_meta.recorded_date = g_strdup(MEDIA_SVC_TAG_UNKNOWN); + content_info->media_meta.datetaken = g_strdup(content_info->media_meta.recorded_date); + 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); } + /*Get Content attribute ===========*/ + mmf_error = mm_file_create_content_attrs_simple(&content, content_info->path); + media_svc_retvm_if(mmf_error != FILEINFO_ERROR_NONE, MS_MEDIA_ERR_NONE, "mm_file_create_content_attrs failed"); + + mm_file_get_attrs(content, MM_FILE_CONTENT_VIDEO_WIDTH, &content_info->media_meta.width, + MM_FILE_CONTENT_VIDEO_HEIGHT, &content_info->media_meta.height, + NULL); content_info->media_meta.title = __media_svc_get_title(NULL, content_info->path); content_info->media_meta.album = g_strdup(MEDIA_SVC_TAG_UNKNOWN); @@ -735,6 +754,7 @@ int _media_svc_extract_video_metadata(media_svc_content_info_s *content_info) content_info->media_meta.genre = g_strdup(MEDIA_SVC_TAG_UNKNOWN); content_info->media_meta.track_num = g_strdup(MEDIA_SVC_TAG_UNKNOWN); content_info->media_meta.year = g_strdup(MEDIA_SVC_TAG_UNKNOWN); + content_info->media_meta.copyright = g_strdup(MEDIA_SVC_TAG_UNKNOWN); content_info->album_id = 0; return MS_MEDIA_ERR_NONE; @@ -903,6 +923,8 @@ static gboolean __media_svc_get_xml_metadata(const xmlChar *buffer, gboolean is_ if (!content_info->media_meta.artist) content_info->media_meta.artist = __media_svc_find_and_get_value(root, "author"); content_info->media_meta.genre = __media_svc_find_and_get_value(root, "subject"); + content_info->media_meta.copyright = __media_svc_find_and_get_value(root, "publisher"); + content_info->media_meta.recorded_date = __media_svc_find_and_get_value(root, "date"); xmlFreeDoc(doc); @@ -1046,6 +1068,7 @@ void _media_svc_destroy_content_info(media_svc_content_info_s *content_info) 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.copyright); g_free(content_info->media_meta.track_num); g_free(content_info->media_meta.datetaken); } diff --git a/src/include/common/media-svc-util.h b/src/include/common/media-svc-util.h index f038179..6dd07e3 100755 --- a/src/include/common/media-svc-util.h +++ b/src/include/common/media-svc-util.h @@ -45,6 +45,7 @@ typedef struct { char *genre; /**< genre of track*/ char *year; /**< year*/ char *recorded_date; /**< recorded date*/ + char *copyright; /**< copyright*/ char *track_num; /**< track number*/ int width; /**< width*/ int height; /**< height*/ -- 2.7.4