int pid;
int uid;
int utt_id_stopped;
- app_state_e state;
+ app_tts_state_e state;
std::list<speak_data_s*> m_speak_data;
std::list<sound_data_s*> m_wav_data;
SLOG(LOG_DEBUG, tts_tag(), "----- Sound list -----");
unsigned int i = 0;
- std::list<sound_data_s*>::iterator iter;
- for (iter = g_app_list[index].m_wav_data.begin(); iter != g_app_list[index].m_wav_data.end(); ++iter) {
- SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] data(%p) data size(%ld), uttid(%d), type(%d)",
- i, *iter, (*iter)->data, (*iter)->data_size, (*iter)->utt_id, (*iter)->audio_type);
- i++;
+ if (!g_app_list[index].m_wav_data.empty()) {
+ std::list<sound_data_s*>::iterator iter;
+ for (iter = g_app_list[index].m_wav_data.begin(); (NULL != *iter && iter != g_app_list[index].m_wav_data.end()); ++iter) {
+ SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] data(%p) data size(%d), uttid(%d), type(%d)",
+ i, *iter, (*iter)->data, (*iter)->data_size, (*iter)->utt_id, (*iter)->audio_type);
+ i++;
+ }
}
if (i == 0) {
SLOG(LOG_DEBUG, tts_tag(), "----- Text list -----");
unsigned int i = 0;
- std::list<speak_data_s*>::iterator iter;
- for (iter = g_app_list[index].m_speak_data.begin(); iter != g_app_list[index].m_speak_data.end(); ++iter) {
- SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] lang(%s), vctype(%d), speed(%d), uttid(%d), text(%s)",
- i + 1, *iter, (*iter)->lang, (*iter)->vctype, (*iter)->speed, (*iter)->utt_id, (*iter)->text);
- i++;
+ if (!g_app_list[index].m_speak_data.empty()) {
+ std::list<speak_data_s*>::iterator iter;
+ for (iter = g_app_list[index].m_speak_data.begin(); (NULL != *iter && iter != g_app_list[index].m_speak_data.end()); ++iter) {
+ SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] lang(%s), vctype(%d), speed(%d), uttid(%d), text(%s)",
+ i + 1, *iter, (*iter)->lang, (*iter)->vctype, (*iter)->speed, (*iter)->utt_id, (*iter)->text);
+ i++;
+ }
}
if (0 == i) {
SLOG(LOG_DEBUG, tts_tag(), "----- Used voice list -----");
unsigned int i = 0;
- std::list<used_voice_s>::iterator iter;
- for (iter = g_app_list[index].m_used_voice.begin(); iter != g_app_list[index].m_used_voice.end(); ++iter) {
- SLOG(LOG_DEBUG, tts_tag(), "[%dth] lang(%s), vctype(%d)", i + 1, iter->lang, iter->vctype);
- i++;
+ if (!g_app_list[index].m_used_voice.empty()) {
+ std::list<used_voice_s>::iterator iter;
+ for (iter = g_app_list[index].m_used_voice.begin(); iter != g_app_list[index].m_used_voice.end(); ++iter) {
+ SLOG(LOG_DEBUG, tts_tag(), "[%dth] lang(%s), vctype(%d)", i + 1, iter->lang, iter->vctype);
+ i++;
+ }
}
if (0 == i) {
/* Find voice */
std::list<used_voice_s>::iterator iter;
-
- for (iter = g_app_list[index].m_used_voice.begin(); iter != g_app_list[index].m_used_voice.end();++iter) {
- if (0 == strcmp(lang, iter->lang) && type == iter->vctype) {
- SLOG(LOG_DEBUG, tts_tag(), "[DATA] The voice is already registered (%s)(%d)", lang, type);
- return 0;
+ if (!g_app_list[index].m_used_voice.empty()) {
+ for (iter = g_app_list[index].m_used_voice.begin(); iter != g_app_list[index].m_used_voice.end();++iter) {
+ if (0 == strcmp(lang, iter->lang) && type == iter->vctype) {
+ SLOG(LOG_DEBUG, tts_tag(), "[DATA] The voice is already registered (%s)(%d)", lang, type);
+ return 0;
+ }
}
}
}
/* Find voice */
- std::list<used_voice_s>::iterator iter;
+ if (!g_app_list[index].m_used_voice.empty()) {
+ std::list<used_voice_s>::iterator iter;
- for (iter = g_app_list[index].m_used_voice.begin(); iter != g_app_list[index].m_used_voice.end(); ++iter) {
- if (NULL != callback) {
- callback(iter->lang, iter->vctype);
- }
+ for (iter = g_app_list[index].m_used_voice.begin(); iter != g_app_list[index].m_used_voice.end(); ++iter) {
+ if (NULL != callback) {
+ callback(iter->lang, iter->vctype);
+ }
- if (NULL != iter->lang) {
- free(iter->lang);
- iter->lang = NULL;
+ if (NULL != iter->lang) {
+ free(iter->lang);
+ iter->lang = NULL;
+ }
}
- }
- g_app_list[index].m_used_voice.clear();
+ g_app_list[index].m_used_voice.clear();
+ }
#ifdef DATA_DEBUG
__data_show_used_voice_list(index);
return -1;
}
- std::list<speak_data_s*>::iterator iter = g_app_list[index].m_speak_data.begin();
- *data = *iter;
- if (!g_app_list[index].m_speak_data.empty())
+ if (!g_app_list[index].m_speak_data.empty()) {
+ std::list<speak_data_s*>::iterator iter = g_app_list[index].m_speak_data.begin();
+ *data = *iter;
g_app_list[index].m_speak_data.pop_front();
+ }
#ifdef DATA_DEBUG
__data_show_text_list(index);
return -1;
}
- std::list<sound_data_s*>::iterator iter = g_app_list[index].m_wav_data.begin();
- *data = *iter;
- if (!g_app_list[index].m_wav_data.empty())
+ if (!g_app_list[index].m_wav_data.empty()) {
+ std::list<sound_data_s*>::iterator iter = g_app_list[index].m_wav_data.begin();
+ *data = *iter;
g_app_list[index].m_wav_data.pop_front();
+ }
#ifdef DATA_DEBUG
__data_show_sound_list(index);
break;
}
+ pthread_mutex_lock(&g_speak_data_mutex);
if (NULL != temp_speak) {
SLOG(LOG_DEBUG, tts_tag(), "[DEBUG] utt(%d), text(%s), lang(%s), vctype(%d) speed(%d)",
temp_speak->utt_id, temp_speak->text, temp_speak->lang, temp_speak->vctype, temp_speak->speed);
free(temp_speak);
temp_speak = NULL;
}
+ pthread_mutex_unlock(&g_speak_data_mutex);
}
if (-1 != removed_last_uttid) {
g_app_list[index].utt_id_stopped = removed_last_uttid;
}
+ pthread_mutex_lock(&g_speak_data_mutex);
+ g_app_list[index].m_speak_data.clear();
+ pthread_mutex_unlock(&g_speak_data_mutex);
+
while(1) {
if (0 != ttsd_data_get_sound_data(uid, &temp_sound)) {
break;
}
+ pthread_mutex_lock(&g_sound_data_mutex);
if (NULL != temp_sound) {
SLOG(LOG_ERROR, tts_tag(), "[DEBUG][%p] uid(%d), event(%d) data(%p) size(%d) rate(%d) utt(%d)",
temp_sound, uid, temp_sound->event, temp_sound->data, temp_sound->data_size, temp_sound->rate, temp_sound->utt_id);
free(temp_sound);
temp_sound = NULL;
}
+ pthread_mutex_unlock(&g_sound_data_mutex);
}
- pthread_mutex_lock(&g_speak_data_mutex);
- g_app_list[index].m_speak_data.clear();
- pthread_mutex_unlock(&g_speak_data_mutex);
-
pthread_mutex_lock(&g_sound_data_mutex);
g_app_list[index].m_wav_data.clear();
pthread_mutex_unlock(&g_sound_data_mutex);
return TTSD_ERROR_NONE;
}
-int ttsd_data_get_client_state(int uid, app_state_e* state)
+int ttsd_data_get_client_state(int uid, app_tts_state_e* state)
{
int index = 0;
return TTSD_ERROR_NONE;
}
-int ttsd_data_set_client_state(int uid, app_state_e state)
+int ttsd_data_set_client_state(int uid, app_tts_state_e state)
{
int index = 0;
index = ttsd_data_is_client(uid);
if (index < 0) {
SECURE_SLOG(LOG_ERROR, tts_tag(), "[DATA ERROR] uid is not valid (%d)", uid);
- return TTSD_ERROR_INVALID_PARAMETER;
+ return false;
}
if (uttid < g_app_list[index].utt_id_stopped)
fprintf(fp, "pid - %d", pid);
}
/* app state */
- app_state_e state;
+ app_tts_state_e state;
ret = ttsd_data_get_client_state(uid, &state);
if (0 != ret) {
SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to get app state");
fprintf(fp, "----- Sound list -----");
i = 0;
- std::list<sound_data_s*>::iterator iter;
- for (iter = g_app_list[index].m_wav_data.begin(); iter != g_app_list[index].m_wav_data.end(); ++iter) {
- SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] data(%p) data size(%ld), uttid(%d), type(%d)",
- i, *iter, (*iter)->data, (*iter)->data_size, (*iter)->utt_id, (*iter)->audio_type);
- i++;
+ if (!g_app_list[index].m_wav_data.empty()) {
+ std::list<sound_data_s*>::iterator iter;
+ for (iter = g_app_list[index].m_wav_data.begin(); (NULL != *iter && iter != g_app_list[index].m_wav_data.end()); ++iter) {
+ SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] data(%p) data size(%d), uttid(%d), type(%d)",
+ i, *iter, (*iter)->data, (*iter)->data_size, (*iter)->utt_id, (*iter)->audio_type);
+ i++;
+ }
}
fprintf(fp, "----------------------");
fprintf(fp, "----- Text list -----");
i = 0;
- std::list<speak_data_s*>::iterator iter_speak;
- for (iter_speak = g_app_list[index].m_speak_data.begin(); iter_speak != g_app_list[index].m_speak_data.end(); ++iter_speak) {
- SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] lang(%s), vctype(%d), speed(%d), uttid(%d), text(%s)",
- i, *iter_speak, (*iter_speak)->lang, (*iter_speak)->vctype, (*iter_speak)->speed, (*iter_speak)->utt_id, (*iter_speak)->text);
- i++;
+ if (!g_app_list[index].m_speak_data.empty()) {
+ std::list<speak_data_s*>::iterator iter_speak;
+ for (iter_speak = g_app_list[index].m_speak_data.begin(); (NULL != *iter_speak && iter_speak != g_app_list[index].m_speak_data.end()); ++iter_speak) {
+ SLOG(LOG_DEBUG, tts_tag(), "[%dth][%p] lang(%s), vctype(%d), speed(%d), uttid(%d), text(%s)",
+ i, *iter_speak, (*iter_speak)->lang, (*iter_speak)->vctype, (*iter_speak)->speed, (*iter_speak)->utt_id, (*iter_speak)->text);
+ i++;
+ }
}
fprintf(fp, "---------------------");