tts_client_s* client = NULL;
client = (tts_client_s*)g_malloc0 (sizeof(tts_client_s));
- tts_h temp = (tts_h)g_malloc0(sizeof(tts_h));
+ tts_h temp = (tts_h)g_malloc0(sizeof(struct tts_s));
temp->handle = __client_generate_uid(getpid());
/* initialize client data */
+tts (0.1.1-40slp2+1) unstable; urgency=low
+
+ * Fix prevent
+ * Git: framework/uifw/voice/tts
+
+ -- Dongyeol Lee <dy3.lee@samsung.com> Tue, 04 Dec 2012 16:40:08 +0900
+
tts (0.1.1-39slp2+1) unstable; urgency=low
* Remove dependency of openssl
}
/* Read engine id */
- fscanf(config_fp, "%s %s", buf_id, buf_param);
- if (0 == strncmp(ENGINE_ID, buf_id, strlen(ENGINE_ID))) {
- g_engine_id = strdup(buf_param);
- } else {
+ if (EOF == fscanf(config_fp, "%s %s", buf_id, buf_param)) {
fclose(config_fp);
- SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (engine id)");
+ SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to read config (engine id)");
__ttsd_config_save();
return -1;
+ } else {
+ if (0 == strncmp(ENGINE_ID, buf_id, strlen(ENGINE_ID))) {
+ g_engine_id = strdup(buf_param);
+ } else {
+ fclose(config_fp);
+ SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (engine id)");
+ __ttsd_config_save();
+ return -1;
+ }
}
+
+
/* Read voice */
- fscanf(config_fp, "%s %s %d", buf_id, buf_param, &int_param);
- if (0 == strncmp(VOICE, buf_id, strlen(VOICE))) {
- g_language = strdup(buf_param);
- g_vc_type = int_param;
- } else {
+ if (EOF == fscanf(config_fp, "%s %s %d", buf_id, buf_param, &int_param)) {
fclose(config_fp);
- SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (voice)");
+ SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to read config (voice)");
__ttsd_config_save();
return -1;
+ } else {
+ if (0 == strncmp(VOICE, buf_id, strlen(VOICE))) {
+ g_language = strdup(buf_param);
+ g_vc_type = int_param;
+ } else {
+ fclose(config_fp);
+ SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (voice)");
+ __ttsd_config_save();
+ return -1;
+ }
}
-
+
/* Read speed */
- fscanf(config_fp, "%s %d", buf_id, &int_param);
- if (0 == strncmp(SPEED, buf_id, strlen(SPEED))) {
- g_speed = int_param;
- } else {
+ if (EOF == fscanf(config_fp, "%s %d", buf_id, &int_param)) {
fclose(config_fp);
- SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (speed)");
+ SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to read config (speed)");
__ttsd_config_save();
return -1;
+ } else {
+ if (0 == strncmp(SPEED, buf_id, strlen(SPEED))) {
+ g_speed = int_param;
+ } else {
+ fclose(config_fp);
+ SLOG(LOG_WARN, TAG_TTSD, "[Config WARNING] Fail to load config (speed)");
+ __ttsd_config_save();
+ return -1;
+ }
}
-
+
fclose(config_fp);
SLOG(LOG_DEBUG, TAG_TTSD, "[Config] Load config : engine(%s), voice(%s,%d), speed(%d)",
msg = dbus_connection_pop_message(conn);
/* loop again if we haven't read a message */
- if (NULL == msg) {
+ if (NULL == msg || NULL == conn) {
return ECORE_CALLBACK_RENEW;
}
while (NULL != iter) {
voice = iter->data;
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(voice->language) );
- dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(voice->type) );
+ if (NULL != voice) {
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(voice->language) );
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(voice->type) );
- if (NULL != voice->language)
- g_free(voice->language);
- if (NULL != voice);
+ if (NULL != voice->language)
+ g_free(voice->language);
+
g_free(voice);
-
+ }
+
voice_list = g_list_remove_link(voice_list, iter);
iter = g_list_first(voice_list);
while (NULL != iter) {
engine = iter->data;
- SLOG(LOG_DEBUG, TAG_TTSD, "engine id : %s, engine name : %s, ug_name, : %s",
- engine->engine_id, engine->engine_name, engine->ug_name);
-
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(engine->engine_id) );
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(engine->engine_name) );
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(engine->ug_name) );
-
- if (NULL != engine->engine_id)
- g_free(engine->engine_id);
- if (NULL != engine->engine_name);
- g_free(engine->engine_name);
- if (NULL != engine->ug_name);
- g_free(engine->ug_name);
- if (NULL != engine);
+
+ if (NULL != engine) {
+ SLOG(LOG_DEBUG, TAG_TTSD, "engine id : %s, engine name : %s, ug_name, : %s",
+ engine->engine_id, engine->engine_name, engine->ug_name);
+
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(engine->engine_id) );
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(engine->engine_name) );
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(engine->ug_name) );
+
+ if (NULL != engine->engine_id)
+ g_free(engine->engine_id);
+ if (NULL != engine->engine_name)
+ g_free(engine->engine_name);
+ if (NULL != engine->ug_name)
+ g_free(engine->ug_name);
+
g_free(engine);
-
+ }
+
engine_list = g_list_remove_link(engine_list, iter);
iter = g_list_first(engine_list);
while (NULL != iter) {
voice = iter->data;
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(voice->language) );
- dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(voice->type) );
+ if (NULL != voice) {
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(voice->language) );
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(voice->type) );
+
+ if (NULL != voice->language)
+ g_free(voice->language);
- if (NULL != voice->language)
- g_free(voice->language);
- if (NULL != voice);
g_free(voice);
+ }
voice_list = g_list_remove_link(voice_list, iter);
while (NULL != iter) {
setting = iter->data;
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(setting->key) );
- dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(setting->value) );
+ if (NULL != setting) {
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(setting->key) );
+ dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &(setting->value) );
- if (NULL != setting->key)
- g_free(setting->key);
- if (NULL != setting->value)
- g_free(setting->value);
- if (NULL != setting);
+ if (NULL != setting->key)
+ g_free(setting->key);
+ if (NULL != setting->value)
+ g_free(setting->value);
+
g_free(setting);
-
+ }
+
engine_setting_list = g_list_remove_link(engine_setting_list, iter);
iter = g_list_first(engine_setting_list);
int (*get_engine_info)(ttsp_engine_info_cb callback, void* user_data);
get_engine_info = (int (*)(ttsp_engine_info_cb, void*))dlsym(handle, "ttsp_get_engine_info");
- if ((error = dlerror()) != NULL) {
- SLOG(LOG_WARN, TAG_TTSD, "[Engine Agent] ttsp_get_engine_info() link error\n");
+ if (NULL != (error = dlerror()) || NULL == get_engine_info) {
+ SLOG(LOG_WARN, TAG_TTSD, "[Engine Agent] ttsp_get_engine_info() link error");
dlclose(handle);
return TTSD_ERROR_OPERATION_FAILED;
}
/* get engine info */
if (0 != get_engine_info(&__engine_info_cb, (void*)temp)) {
- SLOG(LOG_ERROR, TAG_TTSD, "[Engine Agent ERROR] fail to get engine info\n");
+ SLOG(LOG_ERROR, TAG_TTSD, "[Engine Agent ERROR] fail to get engine info");
dlclose(handle);
g_free(temp);
return TTSD_ERROR_OPERATION_FAILED;
temp->engine_path = g_strdup(filepath);
SLOG(LOG_DEBUG, TAG_TTSD, "----- Valid engine");
- SLOG(LOG_DEBUG, TAG_TTSD, "Engine uuid : %s\n", temp->engine_uuid);
- SLOG(LOG_DEBUG, TAG_TTSD, "Engine name : %s\n", temp->engine_name);
- SLOG(LOG_DEBUG, TAG_TTSD, "Setting ug path : %s\n", temp->setting_ug_path);
- SLOG(LOG_DEBUG, TAG_TTSD, "Engine path : %s\n", temp->engine_path);
- SLOG(LOG_DEBUG, TAG_TTSD, "Use network : %s\n", temp->use_network ? "true":"false");
+ SLOG(LOG_DEBUG, TAG_TTSD, "Engine uuid : %s", temp->engine_uuid);
+ SLOG(LOG_DEBUG, TAG_TTSD, "Engine name : %s", temp->engine_name);
+ SLOG(LOG_DEBUG, TAG_TTSD, "Setting ug path : %s", temp->setting_ug_path);
+ SLOG(LOG_DEBUG, TAG_TTSD, "Engine path : %s", temp->engine_path);
+ SLOG(LOG_DEBUG, TAG_TTSD, "Use network : %s", temp->use_network ? "true":"false");
SLOG(LOG_DEBUG, TAG_TTSD, "-----");
SLOG(LOG_DEBUG, TAG_TTSD, " ");
filepath = (char*)g_malloc0( sizeof(char) * file_size);
if (NULL != filepath) {
- strncpy(filepath, ENGINE_DIRECTORY_DOWNLOAD, strlen(ENGINE_DIRECTORY_DOWNLOAD) );
- strncat(filepath, "/", strlen("/") );
- strncat(filepath, dirp->d_name, strlen(dirp->d_name) );
+ strcpy(filepath, ENGINE_DIRECTORY_DOWNLOAD);
+ strcat(filepath, "/");
+ strcat(filepath, dirp->d_name);
} else {
SLOG(LOG_ERROR, TAG_TTSD, "[Engine Agent ERROR] Not enough memory!! \n" );
continue;
}
g_cur_engine.ttsp_load_engine = (int (*)(const ttspd_funcs_s* , ttspe_funcs_s*) )dlsym(g_cur_engine.handle, "ttsp_load_engine");
- if ((error = dlerror()) != NULL) {
+ if (NULL != (error = dlerror()) || NULL == g_cur_engine.ttsp_load_engine) {
SLOG(LOG_ERROR, TAG_TTSD, "[Engine Agent ERROR] fail to link daemon to ttsp_load_engine() of current engine \n");
return -3;
}
while (NULL != iter) {
data = iter->data;
- if (NULL != data->language)
- g_free(data->language);
- if (NULL != data);
- g_free(data);
+ if (NULL != data) {
+ if (NULL != data->language)
+ g_free(data->language);
+ g_free(data);
+ }
+
voice_list = g_list_remove_link(voice_list, iter);
iter = g_list_first(voice_list);
/* Get handle data from list */
data = (player_s*)iter->data;
- /* compare uid */
- if (uid == data->uid) {
- g_player_list = g_list_remove_link(g_player_list, iter);
- if (NULL != data) {
+ if (NULL != data) {
+ /* compare uid */
+ if (uid == data->uid) {
+ g_player_list = g_list_remove_link(g_player_list, iter);
g_free(data);
+ break;
}
- break;
- }
-
+ }
+
/* Get next item */
iter = g_list_next(iter);
}
int* uid = (int*)data;
+ if (NULL == uid) {
+ SLOG(LOG_ERROR, TAG_TTSD, "[PLAYER ERROR] uid is NULL");
+ SLOG(LOG_DEBUG, TAG_TTSD, "=====");
+ SLOG(LOG_DEBUG, TAG_TTSD, " ");
+ return EINA_FALSE;
+ }
+
SLOG(LOG_DEBUG, TAG_TTSD, "[PLAYER] uid = %d", *uid);
if (0 != ttsd_player_next_play(*uid)) {
SLOG(LOG_WARN, TAG_TTSD, "[PLAYER WARNING] Fail to play next");
}
- if (NULL != uid)
- free(uid);
+ free(uid);
SLOG(LOG_DEBUG, TAG_TTSD, "=====");
SLOG(LOG_DEBUG, TAG_TTSD, " ");
g_playing_info = current;
app_state_e state;
- ttsd_data_get_client_state(uid, &state);
+ if (0 != ttsd_data_get_client_state(uid, &state)) {
+ SLOG(LOG_ERROR, TAG_TTSD, "[PLAYER ERROR] uid is not valid : %d", uid);
+ SLOG(LOG_DEBUG, TAG_TTSD, "=====");
+ SLOG(LOG_DEBUG, TAG_TTSD, " ");
+ break;
+ }
/* for sync problem */
if (APP_STATE_PAUSED == state) {
case MM_MESSAGE_END_OF_STREAM:
{
SLOG(LOG_DEBUG, TAG_TTSD, "===== END OF STREAM CALLBACK");
+
+ if (NULL == user_data)
+ break;
+
remove(user_data->filename);
/* Check uid */
return -1;
}
- if (NULL != user_data)
- g_free(user_data);
+ g_free(user_data);
int pid = ttsd_data_get_pid(uid);
int __save_file(const int uid, const int index, const sound_data_s data, char** filename)
{
char postfix[5];
- memset(postfix, 0, 5);
+ memset(postfix, '\0', 5);
switch (data.audio_type) {
case TTSP_AUDIO_TYPE_RAW:
case TTSP_AUDIO_TYPE_WAV:
- strncpy(postfix, "wav", strlen("wav"));
+ strcpy(postfix, "wav");
break;
case TTSP_AUDIO_TYPE_MP3:
- strncpy(postfix, "mp3", strlen("mp3"));
+ strcpy(postfix, "mp3");
break;
case TTSP_AUDIO_TYPE_AMR:
- strncpy(postfix, "amr", strlen("amr"));
+ strcpy(postfix, "amr");
break;
default:
SLOG(LOG_ERROR, TAG_TTSD, "[Player ERROR] Audio type(%d) is NOT valid", data.audio_type);
temp = *filename;
snprintf(temp, FILE_PATH_SIZE, "%s/ttstemp%d_%d.%s", TEMP_FILE_PATH, uid, index, postfix );
-
+
FILE* fp;
fp = fopen(temp, "wb");
}
g_index++;
- if (65534 <= g_index) {
+ if (10000 <= g_index) {
g_index = 1;
}
utterance_t* utt_get_param;
utt_get_param = (utterance_t*)user_data;
- int uid = utt_get_param->uid;
- int uttid = utt_get_param->uttid;
-
if (NULL == utt_get_param) {
SLOG(LOG_ERROR, TAG_TTSD, "[SERVER ERROR] User data is NULL " );
SLOG(LOG_DEBUG, TAG_TTSD, "=====");
return -1;
}
+ int uid = utt_get_param->uid;
+ int uttid = utt_get_param->uttid;
+
/* Synthesis is success */
if (TTSP_RESULT_EVENT_START == event || TTSP_RESULT_EVENT_CONTINUE == event || TTSP_RESULT_EVENT_FINISH == event) {