From 3a6ac2b7e9368bf627865c91082acb5e8c649046 Mon Sep 17 00:00:00 2001 From: Minje Ahn Date: Wed, 3 Jun 2020 09:40:21 +0900 Subject: [PATCH] Fix folder scanning error Fixed an issue where validity was not normally updated when the modification time of the file was changed. Change-Id: I28d15a47cc05345ef34839589abc502388708ae9 Signed-off-by: Minje Ahn --- src/common/media-svc-media.c | 2 +- src/common/media-svc.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/common/media-svc-media.c b/src/common/media-svc-media.c index 8222de7..5983536 100755 --- a/src/common/media-svc-media.c +++ b/src/common/media-svc-media.c @@ -290,7 +290,7 @@ int _media_svc_update_item_with_data(bool is_direct, const char *storage_id, med 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_composer=%Q, media_year=%Q, media_recorded_date=%Q, media_copyright=%Q, media_track_num=%Q, media_description=%Q, media_bitrate=%d, media_bitpersample=%d, media_samplerate=%d, media_channel=%d, media_duration=%d, \ - media_longitude=%f, media_latitude=%f, media_altitude=%f, exposure_time=%Q, fnumber=%f, iso=%d, model=%Q, media_width=%d, media_height=%d, media_datetaken=%Q, media_orientation=%d WHERE media_path=%Q;", + media_longitude=%f, media_latitude=%f, media_altitude=%f, exposure_time=%Q, fnumber=%f, iso=%d, model=%Q, media_width=%d, media_height=%d, media_datetaken=%Q, media_orientation=%d, validity=1 WHERE media_path=%Q;", storage_id, content_info->size, content_info->modified_time, diff --git a/src/common/media-svc.c b/src/common/media-svc.c index 0f172ae..0efeb77 100755 --- a/src/common/media-svc.c +++ b/src/common/media-svc.c @@ -635,8 +635,18 @@ int media_svc_refresh_item(sqlite3 *handle, bool is_direct, const char *storage_ ret = _media_svc_update_item_with_data(is_direct, storage_id, &content_info, uid); if (ret == MS_MEDIA_ERR_NONE) { - media_svc_debug("Update is successful. Sending noti for this"); - _media_svc_publish_noti(MS_MEDIA_ITEM_UPDATE, content_info.path, noti_item->media_type, noti_item->media_uuid, noti_item->mime_type); + /* Except scanner case */ + if (!is_direct) { + media_svc_debug("Update is successful. Sending noti for this"); + _media_svc_publish_noti(MS_MEDIA_ITEM_UPDATE, content_info.path, noti_item->media_type, noti_item->media_uuid, noti_item->mime_type); + } else { + /* To avoid over-occupying memory, update per BATCH_REQUEST_MAX. */ + if (++g_media_svc_insert_item_cur_data_cnt == BATCH_REQUEST_MAX) { + ret = _media_svc_list_query_do(MEDIA_SVC_QUERY_INSERT_ITEM, uid); + media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info); + g_media_svc_insert_item_cur_data_cnt = 0; + } + } } else { media_svc_error("_media_svc_update_item_with_data failed : %d", ret); } -- 2.7.4