return NULL;
}
-void __stt_file_result_cb(stte_result_event_e event, const char* type, const char** data, int data_count,
+int __stt_file_result_cb(stte_result_event_e event, const char* type, const char** data, int data_count,
const char* msg, void* time_info, void *user_data)
{
/* check handle */
if (NULL == client) {
SLOG(LOG_ERROR, TAG_STTFC, "[ERROR] Fail to notify error : A handle is not valid");
- return;
+ return STT_FILE_ERROR_OPERATION_FAILED;
}
if (NULL != time_info) {
}
}
- return;
+ return STT_FILE_ERROR_NONE;
}
void __stt_file_speech_status_cb(stte_speech_status_e status, void *user_data)
SLOG(LOG_ERROR, stt_tag(), "[Engine ERROR] Fail to send result");
}
} else {
- g_result_cb(event, type, result, result_count, msg, time_info, user_data);
+ ret = g_result_cb(event, type, result, result_count, msg, time_info, user_data);
}
return ret;
}
#endif
-typedef void (*stt_engine_result_cb)(stte_result_event_e event, const char* type, const char** data, int data_count,
+typedef int (*stt_engine_result_cb)(stte_result_event_e event, const char* type, const char** data, int data_count,
const char* msg, void* time_info, void* user_data);
/*
--- /dev/null
+[D-BUS Service]
+Name=org.tizen.voice.sttserver
+#Exec=/bin/sh -c "launch_app org.tizen.stt-engine-default"
+Exec=/bin/sh -c "launch_app org.tizen.voice-service-vd-stt"
+
mkdir -p %{buildroot}%{TZ_SYS_RO_SHARE}/license
install LICENSE.APLv2 %{buildroot}%{TZ_SYS_RO_SHARE}/license/%{name}
+%if "%{PRODUCT_TYPE}" == "TV"
+mv -f org.tizen.voice.sttserver.tv.service org.tizen.voice.sttserver.service
+%endif
+
%make_install
%post
/etc/dbus-1/session.d/stt-server.conf
%{TZ_SYS_RO_SHARE}/upgrade/scripts/500.stt_upgrade_24to30.sh
%{TZ_SYS_RO_SHARE}/voice/stt/1.0/stt-config.xml
-%{TZ_SYS_RO_SHARE}/dbus-1/services/org.tizen.voice*
+%{TZ_SYS_RO_SHARE}/dbus-1/services/org.tizen.voice.sttserver.service
%{TZ_SYS_RO_SHARE}/voice/test/stt-test
%{TZ_SYS_RO_SHARE}/license/%{name}
int sttd_engine_agent_send_result(stte_result_event_e event, const char* type, const char** result, int result_count,
const char* msg, void* time_info, void *user_data)
{
+ int ret = -1;
+
if (false == g_agent_init) {
SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Result Callback : Not Initialized");
return STTD_ERROR_OPERATION_FAILED;
if (NULL != time_info) {
/* Get the time info */
- int ret = stt_engine_foreach_result_time(time_info, __result_time_cb, NULL);
+ ret = stt_engine_foreach_result_time(time_info, __result_time_cb, NULL);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Fail to get time info : %d", ret);
return ret;
SLOG(LOG_DEBUG, TAG_STTD, "[Server] ============================");
- g_result_cb(event, type, result, result_count, msg, user_data);
+ ret = g_result_cb(event, type, result, result_count, msg, user_data);
#ifdef AUDIO_CREATE_ON_START
if (event == STTE_RESULT_EVENT_ERROR) {
}
#endif
- return STTD_ERROR_NONE;
+ return ret;
}
int sttd_engine_agent_send_error(stte_error_e error, const char* msg)
/* check uid */
int uid = stt_client_get_current_recognition();
- char* err_msg = strdup(msg);
- int ret = STTE_ERROR_NONE;
+ char* err_msg = NULL;
+ int ret = STTD_ERROR_NONE;
+
+ if (NULL != msg) {
+ err_msg = strdup(msg);
+ }
ret = sttdc_send_error_signal(uid, error, err_msg);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] Fail to send error info.");
+
+ if (NULL != err_msg) {
+ free(err_msg);
+ err_msg = NULL;
+ }
+
+ return ret;
}
if (NULL != err_msg) {
err_msg = NULL;
}
- g_error_cb(error, msg);
+ ret = g_error_cb(error, msg);
return ret;
}
int sttd_engine_agent_send_speech_status(stte_speech_status_e status, void* user_data)
{
+ int ret = STTD_ERROR_NONE;
if (false == g_agent_init) {
SLOG(LOG_ERROR, TAG_STTD, "[Engine Agent ERROR] Silence Callback : Not Initialized");
return STTD_ERROR_OPERATION_FAILED;
}
- g_speech_status_cb(status, user_data);
- return STTD_ERROR_NONE;
+ ret = g_speech_status_cb(status, user_data);
+ return ret;
}
bool __result_time_cb(int index, stte_result_time_event_e event, const char* text, long start_time, long end_time, void* user_data)
#define ENGINE_PATH_SIZE 256
-typedef void (*result_callback)(stte_result_event_e event, const char* type,
+typedef int (*result_callback)(stte_result_event_e event, const char* type,
const char** data, int data_count, const char* msg, void *user_data);
typedef bool (*result_time_callback)(int index, stte_result_time_event_e event, const char* text,
long start_time, long end_time, void *user_data);
-typedef void (*speech_status_callback)(stte_speech_status_e status, void *user_data);
+typedef int (*speech_status_callback)(stte_speech_status_e status, void *user_data);
-typedef void (*error_callback)(stte_error_e error, const char* msg);
+typedef int (*error_callback)(stte_error_e error, const char* msg);
/*
return;
}
-void __server_recognition_result_callback(stte_result_event_e event, const char* type,
+int __server_recognition_result_callback(stte_result_event_e event, const char* type,
const char** data, int data_count, const char* msg, void *user_data)
{
// critical section
SLOG(LOG_DEBUG, TAG_STTD, "=====");
SLOG(LOG_DEBUG, TAG_STTD, " ");
pthread_mutex_unlock(&stte_result_mutex);
- return;
+ return STTD_ERROR_OPERATION_FAILED;
}
SLOG(LOG_DEBUG, TAG_STTD, "[Server] uid (%d), event(%d)", uid, event);
SLOG(LOG_DEBUG, TAG_STTD, " ");
pthread_mutex_unlock(&stte_result_mutex);
- return;
+ return STTD_ERROR_NONE;
}
bool __server_result_time_callback(int index, stte_result_time_event_e event, const char* text, long start_time, long end_time, void* user_data)
return true;
}
-void __server_speech_status_callback(stte_speech_status_e status, void *user_param)
+int __server_speech_status_callback(stte_speech_status_e status, void *user_param)
{
SLOG(LOG_DEBUG, TAG_STTD, "===== Speech status detected Callback");
app_state_e state;
if (0 != sttd_client_get_state(uid, &state)) {
SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] uid is not valid ");
- return;
+ return STTD_ERROR_OPERATION_FAILED;
}
if (APP_STATE_RECORDING != state) {
SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] Current state is not recording");
- return;
+ return STTD_ERROR_INVALID_STATE;
}
if (STTE_SPEECH_STATUS_BEGINNING_POINT_DETECTED == status) {
SLOG(LOG_DEBUG, TAG_STTD, "=====");
SLOG(LOG_DEBUG, TAG_STTD, " ");
- return;
+ return STTD_ERROR_NONE;
}
-void __server_error_callback(stte_error_e error, const char* msg)
+int __server_error_callback(stte_error_e error, const char* msg)
{
SLOG(LOG_DEBUG, TAG_STTD, "[Server] Error Callback is called");
- return;
+ return STTD_ERROR_NONE;
}
void __sttd_server_engine_changed_cb(const char* engine_id, const char* language, bool support_silence, bool need_credential, void* user_data)