static int g_max_text_size = -1;
+static Ecore_Timer* g_check_state_timer = NULL;
+
+
/* for repetition */
static char* g_language = NULL;
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, "@@@");
}
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");
}
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;
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;
}
}
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);
}
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();
}
return;
}
+ SLOG(LOG_INFO, tts_tag(), "[Player INFO] Success to destroy and recreate audio out");
__set_policy_for_playing(40);
}
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) {
</policy>
<policy group="users">
+ <allow own_prefix="org.tizen.tts"/>
+ <allow own="org.tizen.voice.ttsserver"/>
+ <allow own="org.tizen.voice.ttsnotiserver"/>
+ <allow own="org.tizen.voice.ttssrserver"/>
+ <allow own="org.tizen.voice.ttsinterruptserver"/>
+
<allow send_destination="org.tizen.tts"/>
<allow send_destination="org.tizen.voice.ttsserver"/>
<allow send_destination="org.tizen.voice.ttsnotiserver"/>
<allow own="org.tizen.voice.ttsnotiserver"/>
<allow own="org.tizen.voice.ttssrserver"/>
<allow own="org.tizen.voice.ttsinterruptserver"/>
+
+ <allow send_destination="org.tizen.tts"/>
+ <allow send_destination="org.tizen.voice.ttsserver"/>
+ <allow send_destination="org.tizen.voice.ttsnotiserver"/>
+ <allow send_destination="org.tizen.voice.ttssrserver"/>
+ <allow send_destination="org.tizen.voice.ttsinterruptserver"/>
</policy>
<policy context="default">