From: Wonnam Jang Date: Wed, 5 Dec 2018 11:55:04 +0000 (+0000) Subject: Merge "Remove unnecessary timer" into tizen X-Git-Tag: accepted/tizen/unified/20181207.061540~3 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Ftts.git;a=commitdiff_plain;h=68ae641b2958e1df09406cef9374092830f640b6;hp=ac08d523b9e6c203de53951aaa138eed4ed63e55 Merge "Remove unnecessary timer" into tizen --- diff --git a/client/tts.c b/client/tts.c index f5a44f3..08e8d9a 100644 --- a/client/tts.c +++ b/client/tts.c @@ -37,6 +37,9 @@ static bool g_err_callback_status = false; static int g_max_text_size = -1; +static Ecore_Timer* g_check_state_timer = NULL; + + /* for repetition */ static char* g_language = NULL; @@ -380,6 +383,12 @@ int tts_destroy(tts_h tts) g_language = NULL; } + /* Delete state timer before destroying handle */ + if (NULL != g_check_state_timer) { + ecore_timer_del(g_check_state_timer); + g_check_state_timer = NULL; + } + tts = NULL; SLOG(LOG_DEBUG, TAG_TTSC, "@@@"); @@ -2097,7 +2106,11 @@ int __tts_cb_set_state(int uid, int state) } if (NULL != client->state_changed_cb) { - ecore_timer_add(0, __tts_notify_state_changed, client->tts); + if (NULL != g_check_state_timer) { + ecore_timer_del(g_check_state_timer); + g_check_state_timer = NULL; + } + g_check_state_timer = ecore_timer_add(0, __tts_notify_state_changed, client->tts); } else { SLOG(LOG_WARN, TAG_TTSC, "[WARNING] State changed callback is null"); } @@ -2218,6 +2231,11 @@ int tts_unset_state_changed_cb(tts_h tts) client->state_changed_cb = NULL; client->state_changed_user_data = NULL; + if (NULL != g_check_state_timer) { + ecore_timer_del(g_check_state_timer); + g_check_state_timer = NULL; + } + SLOG(LOG_DEBUG, TAG_TTSC, "[SUCCESS] Unset state changed cb"); return 0; diff --git a/server/ttsd_data.cpp b/server/ttsd_data.cpp index bb17c7d..47e335b 100644 --- a/server/ttsd_data.cpp +++ b/server/ttsd_data.cpp @@ -524,23 +524,21 @@ int ttsd_data_clear_speak_data(int uid, speak_data_s** speak_data) int index = 0; index = ttsd_data_is_client(uid); if (index >= 0) { - if (!g_app_list[index].m_speak_data.empty()) { - if (NULL != *speak_data) { - SLOG(LOG_DEBUG, tts_tag(), "[DEBUG] utt(%d), text(%s), lang(%s), vctype(%d) speed(%d)", - (*speak_data)->utt_id, (*speak_data)->text, (*speak_data)->lang, (*speak_data)->vctype, (*speak_data)->speed); - - if (NULL != (*speak_data)->text) { - free((*speak_data)->text); - (*speak_data)->text = NULL; - } - if (NULL != (*speak_data)->lang) { - free((*speak_data)->lang); - (*speak_data)->lang = NULL; - } - - free(*speak_data); - *speak_data = NULL; + if (NULL != *speak_data) { + SLOG(LOG_DEBUG, tts_tag(), "[DEBUG] utt(%d), text(%s), lang(%s), vctype(%d) speed(%d)", + (*speak_data)->utt_id, (*speak_data)->text, (*speak_data)->lang, (*speak_data)->vctype, (*speak_data)->speed); + + if (NULL != (*speak_data)->text) { + free((*speak_data)->text); + (*speak_data)->text = NULL; + } + if (NULL != (*speak_data)->lang) { + free((*speak_data)->lang); + (*speak_data)->lang = NULL; } + + free(*speak_data); + *speak_data = NULL; } } @@ -556,19 +554,17 @@ int ttsd_data_clear_sound_data(int uid, sound_data_s** sound_data) int index = 0; index = ttsd_data_is_client(uid); if (index >= 0) { - if (!g_app_list[index].m_wav_data.empty()) { - if (NULL != *sound_data) { - SLOG(LOG_ERROR, tts_tag(), "[DEBUG][%p] event(%d) data(%p) size(%d) rate(%d) utt(%d)", - (*sound_data), (*sound_data)->event, (*sound_data)->data, (*sound_data)->data_size, (*sound_data)->rate, (*sound_data)->utt_id); - - if (NULL != (*sound_data)->data) { - free((*sound_data)->data); - (*sound_data)->data = NULL; - } - - free(*sound_data); - *sound_data = NULL; + if (NULL != *sound_data) { + SLOG(LOG_ERROR, tts_tag(), "[DEBUG][%p] event(%d) data(%p) size(%d) rate(%d) utt(%d)", + (*sound_data), (*sound_data)->event, (*sound_data)->data, (*sound_data)->data_size, (*sound_data)->rate, (*sound_data)->utt_id); + + if (NULL != (*sound_data)->data) { + free((*sound_data)->data); + (*sound_data)->data = NULL; } + + free(*sound_data); + *sound_data = NULL; } } pthread_mutex_unlock(&g_sound_data_mutex); diff --git a/server/ttsd_player.c b/server/ttsd_player.c index c259ad8..05619db 100644 --- a/server/ttsd_player.c +++ b/server/ttsd_player.c @@ -536,7 +536,7 @@ static void __play_thread(void *data, Ecore_Thread *thread) } if (g_sampling_rate != sound_data->rate || g_audio_type != sound_data->audio_type) { - SLOG(LOG_DEBUG, tts_tag(), "[Player] Change audio handle : org type(%d) org rate(%d)", g_audio_type, g_sampling_rate); + SLOG(LOG_INFO, tts_tag(), "[Player] Change audio handle : org type(%d) org rate(%d)", g_audio_type, g_sampling_rate); if (NULL != g_audio_h) { __destroy_audio_out(); } @@ -551,6 +551,7 @@ static void __play_thread(void *data, Ecore_Thread *thread) return; } + SLOG(LOG_INFO, tts_tag(), "[Player INFO] Success to destroy and recreate audio out"); __set_policy_for_playing(40); } diff --git a/server/ttsd_server.c b/server/ttsd_server.c index 14dd166..7f2fe64 100644 --- a/server/ttsd_server.c +++ b/server/ttsd_server.c @@ -233,6 +233,15 @@ int ttsd_send_result(ttse_result_event_e event, const void* data, unsigned int d if (0 != ttsd_data_add_sound_data(uid, temp_sound_data)) { SECURE_SLOG(LOG_ERROR, tts_tag(), "[SERVER ERROR] Fail to add sound data : uid(%d)", uid); + if (NULL != temp_sound_data->data) { + free(temp_sound_data->data); + temp_sound_data->data = NULL; + } + + free(temp_sound_data); + temp_sound_data = NULL; + + return TTSD_ERROR_OPERATION_FAILED; } if (event == TTSE_RESULT_EVENT_FINISH) { diff --git a/tts-server.conf b/tts-server.conf index 9a4b34f..e70dde0 100644 --- a/tts-server.conf +++ b/tts-server.conf @@ -11,6 +11,12 @@ + + + + + + @@ -24,6 +30,12 @@ + + + + + +