[ACR-1449] Add new api to set audio type
[platform/core/uifw/stt.git] / server / sttd_engine_agent.c
index 62866b2..f6a7ac0 100644 (file)
@@ -302,7 +302,7 @@ int sttd_engine_agent_load_current_engine(stte_request_callback_s *callback)
        /* get current engine from config */
        if (0 == sttd_config_get_default_engine(&cur_engine_uuid)) {
                SECURE_SLOG(LOG_DEBUG, TAG_STTD, "[Engine Agent] current engine from config : %s", cur_engine_uuid);
-               if (NULL != g_engine_info->engine_uuid) {
+               if (NULL != g_engine_info->engine_uuid && NULL != cur_engine_uuid) {
                        if (!strcmp(g_engine_info->engine_uuid, cur_engine_uuid)) {
                                is_default_engine = true;
                        }
@@ -361,7 +361,7 @@ int sttd_engine_agent_load_current_engine(stte_request_callback_s *callback)
        int rate;
        int channels;
 
-       ret = stt_engine_get_audio_type(&atype, &rate, &channels);
+       ret = stt_engine_get_audio_format(&atype, &rate, &channels);
        if (0 != ret) {
                SECURE_SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Fail to get audio type : %d %s", g_engine_info->engine_name);
                return ret;
@@ -789,9 +789,9 @@ int sttd_engine_agent_recognize_start_engine(int uid, const char* lang, const ch
        int rate;
        int channels;
 
-       ret = stt_engine_get_audio_type(&atype, &rate, &channels);
+       ret = stt_engine_get_audio_format(&atype, &rate, &channels);
        if (0 != ret) {
-               SECURE_SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Fail to get audio type : %s", g_engine_info->engine_name);
+               SECURE_SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Fail to get audio format : %s", g_engine_info->engine_name);
                return ret;
        }
 
@@ -799,7 +799,7 @@ int sttd_engine_agent_recognize_start_engine(int uid, const char* lang, const ch
 
        ret = sttd_recorder_create(atype, channels, rate);
        if (0 != ret) {
-               SECURE_SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Fail to create recorder : %s", g_engine_info->engine_name);
+               SECURE_SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Fail to create format : %s", g_engine_info->engine_name);
                return ret;
        }
 #endif
@@ -1246,3 +1246,30 @@ int __log_enginelist()
 
        return 0;
 }
+
+int sttd_engine_agent_set_audio_type(const char* audio_type)
+{
+       if (false == g_agent_init) {
+               SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Not Initialized");
+               return STTD_ERROR_OPERATION_FAILED;
+       }
+
+       if (NULL == g_engine_info) {
+               SECURE_SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] The engine of is not valid");
+               return STTD_ERROR_INVALID_PARAMETER;
+       }
+
+       if (false == g_engine_info->is_loaded) {
+               SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Not loaded engine");
+               return STTD_ERROR_OPERATION_FAILED;
+       }
+
+       SLOG(LOG_INFO, TAG_STTD, "[Server Info] Set audio type(%s)", audio_type);
+
+       int ret;
+       ret = stt_engine_set_audio_type(audio_type);
+       if (0 != ret) {
+               SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] set audio type error(%d)", ret);
+       }
+       return ret;
+}