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;
g_mutex_init(&extract_data_mutex);
g_mutex_init(&extract_item_mutex);
+ g_mutex_init(&decode_mutex);
g_cond_init(&extract_data_cond);
g_mutex_clear(&extract_data_mutex);
g_mutex_clear(&extract_item_mutex);
+ g_mutex_clear(&decode_mutex);
g_cond_clear(&extract_data_cond);
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)