From 65885ca40541b15b09f4f9768e06816ef6609f92 Mon Sep 17 00:00:00 2001 From: "wn.jang" Date: Wed, 4 Sep 2019 18:11:01 +0900 Subject: [PATCH] [ACR-1449] Add to set speech status callback Change-Id: Icb3d5c33a3506a453b58ddcd6dab37d9db96b7ed --- include/stt.h | 88 ++++++++++++++++++++++++++++++++++++++++++-------- include/stt_internal.h | 59 --------------------------------- 2 files changed, 75 insertions(+), 72 deletions(-) diff --git a/include/stt.h b/include/stt.h index 47f9e68..d3028ab 100755 --- a/include/stt.h +++ b/include/stt.h @@ -195,6 +195,15 @@ typedef enum { STT_OPTION_SILENCE_DETECTION_AUTO = 2 /**< Silence detection type - Auto */ } stt_option_silence_detection_e; +/** +* @brief Enumeration for speech status. +* @since_tizen 5.5 +*/ +typedef enum { + STT_SPEECH_STATUS_BEGINNING_OF_SPEECH_DETECTED = 0, /**< Beginning Of Speech is detected */ + STT_SPEECH_STATUS_END_OF_SPEECH_DETECTED /**< End Of Speech is detected */ +} stt_speech_status_e; + /** * @brief A structure of STT handle. @@ -206,6 +215,7 @@ typedef struct stt_s *stt_h; /** * @brief Called to get the engine information. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif + * @param[in] stt The STT handle * @param[in] engine_id Engine ID * @param[in] engine_name Engine name * @param[in] user_data User data passed from the stt_setting_foreach_supported_engines() @@ -328,6 +338,17 @@ typedef void (*stt_engine_changed_cb)(stt_h stt, const char* engine_id, const ch /** + * @brief Called when STT engine detects beginning or ending of the speech. + * @since_tizen 5.5 + * @param[in] stt The STT handle + * @param[in] status The speech status + * @param[in] user_data The user data passed from the callback registration function + * @see stt_set_speech_status_cb() + */ +typedef void (*stt_speech_status_cb)(stt_h stt, stt_speech_status_e status, void *user_data); + + +/** * @brief Creates a STT handle. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public @@ -776,7 +797,7 @@ int stt_unset_stop_sound(stt_h stt); * @pre The state should be #STT_STATE_READY. * @post It will invoke stt_state_changed_cb(), if you register a callback with stt_state_changed_cb(). * If this function succeeds, the STT state will be #STT_STATE_RECORDING. - * If you call this function again before state changes, you will receive STT_ERROR_IN_PROGRESS_TO_RECORDING. + * If you call this function again before state changes, you will receive #STT_ERROR_IN_PROGRESS_TO_RECORDING. * @see stt_stop() * @see stt_cancel() * @see stt_state_changed_cb() @@ -804,7 +825,7 @@ int stt_start(stt_h stt, const char* language, const char* type); * @pre The state should be #STT_STATE_RECORDING. * @post It will invoke stt_state_changed_cb(), if you register a callback with stt_state_changed_cb(). * If this function succeeds, the STT state will be #STT_STATE_PROCESSING. - * If you call this function again before state changes, you will receive STT_ERROR_IN_PROGRESS_TO_PROCESSING. + * If you call this function again before state changes, you will receive #STT_ERROR_IN_PROGRESS_TO_PROCESSING. * After processing of engine, stt_result_cb() is called. * @see stt_start() * @see stt_cancel() @@ -835,7 +856,7 @@ int stt_stop(stt_h stt); * @pre The state should be #STT_STATE_RECORDING or #STT_STATE_PROCESSING. * @post It will invoke stt_state_changed_cb(), if you register a callback with stt_state_changed_cb(). * If this function succeeds, the STT state will be #STT_STATE_READY. - * If you call this function again before state changes, you will receive STT_ERROR_IN_PROGRESS_TO_READY. + * If you call this function again before state changes, you will receive #STT_ERROR_IN_PROGRESS_TO_READY. * @see stt_start() * @see stt_stop() * @see stt_state_changed_cb() @@ -890,7 +911,7 @@ int stt_foreach_detailed_result(stt_h stt, stt_result_time_cb callback, void* us /** - * @brief Registers a callback function to get the recognition result. + * @brief Sets a callback function to get the recognition result. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -912,7 +933,7 @@ int stt_set_recognition_result_cb(stt_h stt, stt_recognition_result_cb callback, /** - * @brief Unregisters the callback function. + * @brief Unsets the callback function. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -931,7 +952,7 @@ int stt_unset_recognition_result_cb(stt_h stt); /** - * @brief Registers a callback function to be called when STT state changes. + * @brief Sets a callback function to be called when STT state changes. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -953,7 +974,7 @@ int stt_set_state_changed_cb(stt_h stt, stt_state_changed_cb callback, void* use /** - * @brief Unregisters the callback function. + * @brief Unsets the callback function. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -972,7 +993,7 @@ int stt_unset_state_changed_cb(stt_h stt); /** - * @brief Registers a callback function to be called when an error occurred. + * @brief Sets a callback function to be called when an error occurred. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -994,7 +1015,7 @@ int stt_set_error_cb(stt_h stt, stt_error_cb callback, void* user_data); /** - * @brief Unregisters the callback function. + * @brief Unsets the callback function. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -1013,7 +1034,7 @@ int stt_unset_error_cb(stt_h stt); /** - * @brief Registers a callback function to detect the default language change. + * @brief Sets a callback function to detect the default language change. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -1035,7 +1056,7 @@ int stt_set_default_language_changed_cb(stt_h stt, stt_default_language_changed_ /** - * @brief Unregisters the callback function. + * @brief Unsets the callback function. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif * @privlevel public * @privilege %http://tizen.org/privilege/recorder @@ -1054,7 +1075,7 @@ int stt_unset_default_language_changed_cb(stt_h stt); /** - * @brief Registers a callback function to detect the engine change. + * @brief Sets a callback function to detect the engine change. * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif * @param[in] stt The STT handle * @param[in] callback The callback function to register @@ -1073,7 +1094,7 @@ int stt_set_engine_changed_cb(stt_h stt, stt_engine_changed_cb callback, void* u /** - * @brief Unregisters the callback function. + * @brief Unsets the callback function. * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif * @param[in] stt The STT handle * @return @c 0 on success, @@ -1088,6 +1109,47 @@ int stt_set_engine_changed_cb(stt_h stt, stt_engine_changed_cb callback, void* u int stt_unset_engine_changed_cb(stt_h stt); +/** + * @brief Sets a callback function to detect the speech status is changed. + * @since_tizen 5.5 + * @privlevel public + * @privilege %http://tizen.org/privilege/recorder + * @param[in] stt The STT handle + * @param[in] callback The callback function to register + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, + * otherwise a negative error value + * @retval #STT_ERROR_NONE Successful + * @retval #STT_ERROR_NOT_SUPPORTED STT NOT supported + * @retval #STT_ERROR_PERMISSION_DENIED Permission denied + * @retval #STT_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #STT_ERROR_INVALID_STATE Invalid state + * @pre The state should be #STT_STATE_CREATED. + * @see stt_speech_status_cb() + * @see stt_unset_speech_status_cb() +*/ +int stt_set_speech_status_cb(stt_h stt, stt_speech_status_cb callback, void* user_data); + + +/** + * @brief Unsets the callback function to detect the speech status is changed. + * @since_tizen 5.5 + * @privlevel public + * @privilege %http://tizen.org/privilege/recorder + * @param[in] stt The STT handle + * @return @c 0 on success, + * otherwise a negative error value + * @retval #STT_ERROR_NONE Successful + * @retval #STT_ERROR_NOT_SUPPORTED STT NOT supported + * @retval #STT_ERROR_PERMISSION_DENIED Permission denied + * @retval #STT_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #STT_ERROR_INVALID_STATE Invalid state + * @pre The state should be #STT_STATE_CREATED. + * @see stt_set_speech_status_cb() +*/ +int stt_unset_speech_status_cb(stt_h stt); + + #ifdef __cplusplus } #endif diff --git a/include/stt_internal.h b/include/stt_internal.h index bee1d92..ec7c81c 100644 --- a/include/stt_internal.h +++ b/include/stt_internal.h @@ -29,7 +29,6 @@ extern "C" { #endif -#define STT_SPEECH_STATUS_BEGINNING_POINT_DETECTED 0 /** * @brief Enumerations of audio type. @@ -40,64 +39,6 @@ typedef enum { } stt_audio_type_e; /** - * @brief Called when user speaking is detected. - * - * @param[in] stt The STT handle - * @param[in] status The speech status - * @param[in] user_data The user data passed from the callback registration function - * - * @pre An application registers callback function using stt_set_speech_status_cb(). - * - * @see stt_set_speech_status_cb() - * @see stt_unset_speech_status_cb() - */ -typedef void (*stt_speech_status_cb)(stt_h stt, int status, void *user_data); - - -/** - * @brief Registers a callback function to detect the speech status is changed. - * @since_tizen 3.0 - * @privilege %http://tizen.org/privilege/recorder - * - * @param[in] stt The STT handle - * @param[in] callback The callback function to register - * @param[in] user_data The user data to be passed to the callback function - * - * @return 0 on success, otherwise a negative error value - * @retval #STT_ERROR_NONE Successful - * @retval #STT_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #STT_ERROR_INVALID_STATE Invalid state - * @retval #STT_ERROR_NOT_SUPPORTED STT NOT supported - * @retval #STT_ERROR_PERMISSION_DENIED Permission denied - * - * @pre The state should be #STT_STATE_CREATED. - * - * @see stt_speech_status_cb() - * @see stt_unset_speech_status_cb() -*/ -int stt_set_speech_status_cb(stt_h stt, stt_speech_status_cb callback, void* user_data); - -/** - * @brief Unregisters the callback function. - * @since_tizen 3.0 - * @privilege %http://tizen.org/privilege/recorder - * - * @param[in] stt The STT handle - * - * @return 0 on success, otherwise a negative error value - * @retval #STT_ERROR_NONE Successful - * @retval #STT_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #STT_ERROR_INVALID_STATE Invalid state - * @retval #STT_ERROR_NOT_SUPPORTED STT NOT supported - * @retval #STT_ERROR_PERMISSION_DENIED Permission denied - * - * @pre The state should be #STT_STATE_CREATED. - * - * @see stt_set_speech_status_cb() -*/ -int stt_unset_speech_status_cb(stt_h stt); - -/** * @brief Sets server STT. * @details Using this API, the application can set server STT with a @a key as a @a user_data * The key is a private data to set STT server. -- 2.7.4