From: sooyeon.kim Date: Mon, 26 Dec 2016 02:11:17 +0000 (+0900) Subject: Add to cancel engine when error-result callback is invoked X-Git-Tag: accepted/tizen/common/20170117.174608~5 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fstt.git;a=commitdiff_plain;h=fc8301e6d04bc4a807400e5a01f7dd87ad7461e7 Add to cancel engine when error-result callback is invoked Change-Id: Ic1d9e4fdfa41e7186a0c6ff6099c004883e552fb Signed-off-by: sooyeon.kim (cherry picked from commit ca2ebf94e8879bb4328d6a5d307a0c6d390a30dc) --- diff --git a/server/sttd_server.c b/server/sttd_server.c index ed69892..037b4bf 100755 --- a/server/sttd_server.c +++ b/server/sttd_server.c @@ -87,12 +87,21 @@ static void __cancel_recognition_internal() g_recording_timer = NULL; } + int ret = 0; int uid = 0; uid = stt_client_get_current_recognition(); - if (0 != uid) { + app_state_e state = 0; + ret = sttd_client_get_state(uid, &state); + + if (0 != ret) { + SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] uid is NOT valid "); + return; + } + + if (0 != uid && (APP_STATE_PROCESSING == state || APP_STATE_RECORDING == state)) { /* cancel engine recognition */ - int ret = sttd_engine_agent_recognize_cancel(); + ret = sttd_engine_agent_recognize_cancel(); if (0 != ret) { SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] Fail to cancel : result(%d)", ret); } @@ -269,6 +278,14 @@ int __server_recognition_result_callback(stte_result_event_e event, const char* } sttd_config_time_reset(); + int ret = 0; + if (APP_STATE_RECORDING == state) { + ret = sttd_engine_agent_recognize_cancel(); + if (0 != ret) { + SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] Fail to cancel: result(%d)", ret); + } + } + sttd_client_set_state(uid, APP_STATE_READY); stt_client_unset_current_recognition();