From: chengyj1985 Date: Fri, 11 Jan 2019 05:59:09 +0000 (+0800) Subject: add lock to avoid to decode 8k video in two thread X-Git-Tag: accepted/tizen/unified/20190116.160724~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5f11d6b89419b482e6008b974d3104e065d2dc9;p=platform%2Fcore%2Fmultimedia%2Fmedia-server.git add lock to avoid to decode 8k video in two thread Change-Id: I82b1fa7740fe48d8230d9f12f2775d4449179dde --- diff --git a/src/scanner-v2/media-scanner-extract-v2.c b/src/scanner-v2/media-scanner-extract-v2.c index a5d7aa5..a2a883c 100755 --- a/src/scanner-v2/media-scanner-extract-v2.c +++ b/src/scanner-v2/media-scanner-extract-v2.c @@ -52,6 +52,8 @@ bool g_directory_extract_processing; int stg_extract_status; GMutex extract_item_mutex; +GMutex decode_mutex; + s_extract_item* cancel_extract_item = NULL; s_extract_item* cur_extract_item = NULL; @@ -85,6 +87,7 @@ int msc_init_extract_thread() g_mutex_init(&extract_data_mutex); g_mutex_init(&extract_item_mutex); + g_mutex_init(&decode_mutex); g_cond_init(&extract_data_cond); @@ -101,6 +104,7 @@ int msc_deinit_extract_thread() g_mutex_clear(&extract_data_mutex); g_mutex_clear(&extract_item_mutex); + g_mutex_clear(&decode_mutex); g_cond_clear(&extract_data_cond); @@ -141,7 +145,9 @@ int __msc_folder_bulk_extract(sqlite3 *handle, const char* storage_id, int stora db_data = g_array_index(data_array, ms_item_info_s*, 0); g_array_remove_index(data_array, 0); - tmp_ret = ms_update_one_extract_item(handle, storage_id, storage_type, db_data); + g_mutex_lock(&decode_mutex); + tmp_ret = ms_update_one_extract_item(handle, storage_id, storage_type, db_data, burst); + g_mutex_unlock(&decode_mutex); if (tmp_ret == MS_MEDIA_ERR_NONE) extract_count++; else if (tmp_ret == MS_MEDIA_ERR_FILE_IO)