/*
-* Copyright (c) 2011-2014 Samsung Electronics Co., Ltd All Rights Reserved
+* Copyright (c) 2011-2016 Samsung Electronics Co., Ltd All Rights Reserved
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
static void __free_voice_list(GList* voice_list);
/** Callback function for engine info */
-static void __engine_info_cb(const char* engine_uuid, const char* engine_name, const char* setting_ug_name,
+static void __engine_info_cb(const char* engine_uuid, const char* engine_name, const char* setting_ug_name,
bool use_network, void* user_data);
g_cur_engine.is_set = false;
g_cur_engine.handle = NULL;
g_cur_engine.pefuncs = (ttspe_funcs_s*)calloc(1, sizeof(ttspe_funcs_s));
+ if (NULL == g_cur_engine.pefuncs) {
+ SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Fail to allocate memory");
+ return TTSP_ERROR_OUT_OF_MEMORY;
+ }
+
g_cur_engine.pdfuncs = (ttspd_funcs_s*)calloc(1, sizeof(ttspd_funcs_s));
+ if (NULL == g_cur_engine.pdfuncs) {
+ SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Fail to allocate memory");
+ free(g_cur_engine.pefuncs);
+ g_cur_engine.pefuncs = NULL;
+ return TTSP_ERROR_OUT_OF_MEMORY;
+ }
g_agent_init = true;
if (NULL != g_cur_engine.pefuncs->set_pitch) {
ret = g_cur_engine.pefuncs->set_pitch(g_cur_engine.default_pitch);
if (0 != ret) {
- SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Fail to set pitch : pitch(%d), result(%s)",
+ SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Fail to set pitch : pitch(%d), result(%s)",
g_cur_engine.default_pitch, __ttsd_get_engine_error_code(ret));
return TTSD_ERROR_OPERATION_FAILED;
}
SLOG(LOG_DEBUG, get_tag(), "[Engine Agent SUCCESS] Set default pitch : pitch(%d)", g_cur_engine.default_pitch);
}
-#if 0
- if (false == set_voice) {
- /* get language list */
- int ret;
- GList* voice_list = NULL;
-
- ret = g_cur_engine.pefuncs->foreach_voices(__supported_voice_cb, &voice_list);
-
- if (0 == ret && 0 < g_list_length(voice_list)) {
- GList *iter = NULL;
- voice_s* voice = NULL;
-
- iter = g_list_first(voice_list);
-
- /* check english */
- while (NULL != iter) {
- voice = iter->data;
-
- if (NULL != voice) {
- if (0 == strcmp("en_US", voice->language))
- break;
- }
-
- iter = g_list_next(iter);
- }
- if (NULL == voice) {
- SLOG(LOG_ERROR, get_tag(), "[Engine ERROR] Fail to find voice in list");
- return TTSD_ERROR_OPERATION_FAILED;
- }
-
- /* Set selected language and type */
- if (true != g_cur_engine.pefuncs->is_valid_voice(voice->language, voice->type)) {
- SLOG(LOG_ERROR, get_tag(), "[Engine ERROR] Fail voice is NOT valid");
- return TTSD_ERROR_OPERATION_FAILED;
- }
-
- ttsd_config_set_default_voice(voice->language, (int)voice->type);
-
- g_cur_engine.default_lang = strdup(voice->language);
- g_cur_engine.default_vctype = voice->type;
-
- SLOG(LOG_DEBUG, get_tag(), "[Engine Agent SUCCESS] Select default voice : lang(%s), type(%d)",
- voice->language, voice->type);
-
- __free_voice_list(voice_list);
- } else {
- SLOG(LOG_ERROR, get_tag(), "[Engine ERROR] Fail to get language list : result(%d)", ret);
- return TTSD_ERROR_OPERATION_FAILED;
- }
- }
-#endif
g_cur_engine.is_loaded = true;
return 0;
if (NULL == g_cur_engine.pefuncs->need_app_credential) {
SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Not support to check app credential");
- return TTSD_ERROR_OPERATION_FAILED;
+ return TTSD_ERROR_NOT_SUPPORTED_FEATURE;
}
bool result = false;