+/**
+ * @brief Starts audio streaming and recognition asynchronously.
+ * @since_tizen 8.0
+ * @remarks This function starts audio streaming in the STT service.
+ * This work continues until stt_stop_audio_streaming(), stt_cancel() or silence detected by engine.
+ * @param[in] stt The STT handle
+ * @param[in] language The language selected from stt_foreach_supported_languages() (e.g. #NULL(Automatic), 'en_US')
+ * @param[in] type The type for recognition (e.g. #STT_RECOGNITION_TYPE_FREE, #STT_RECOGNITION_TYPE_FREE_PARTIAL)
+ * @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_INVALID_PARAMETER Invalid parameter
+ * @retval #STT_ERROR_INVALID_STATE Invalid state
+ * @retval #STT_ERROR_OPERATION_FAILED Operation failure
+ * @retval #STT_ERROR_RECORDER_BUSY Recorder busy
+ * @retval #STT_ERROR_INVALID_LANGUAGE Invalid language
+ * @retval #STT_ERROR_IN_PROGRESS_TO_RECORDING Progress to recording is not finished
+ * @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.
+ * @see stt_stop_audio_streaming()
+ * @see stt_send_audio_streaming()
+ * @see stt_cancel()
+ * @see stt_state_changed_cb()
+*/
+int stt_start_audio_streaming(stt_h stt, const char* language, const char* type);
+
+
+/**
+ * @brief Sends audio data to STT engine.
+ * @since_tizen 8.0
+ * @remarks The audio format of @a data should satisfy the audio format from stt_get_audio_format().
+ * @param[in] stt The STT handle
+ * @param[in] data The raw PCM data
+ * @param[in] data_size The number of bytes of @a data
+ * @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_INVALID_PARAMETER Invalid parameter
+ * @retval #STT_ERROR_INVALID_STATE Invalid state
+ * @retval #STT_ERROR_OPERATION_FAILED Operation failure
+ * @retval #STT_ERROR_IN_PROGRESS_TO_READY Progress to ready is not finished
+ * @retval #STT_ERROR_IN_PROGRESS_TO_RECORDING Progress to recording is not finished
+ * @pre The state should be #STT_STATE_RECORDING.
+ * @post If you call this function after starting recording by stt_start(), you will receive #STT_ERROR_OPERATION_FAILED.
+ * @see stt_start_audio_streaming()
+ * @see stt_stop_audio_streaming()
+ * @see stt_cancel()
+ * @see stt_get_audio_format()
+*/
+int stt_send_audio_streaming(stt_h stt, const char* data, size_t data_size);
+
+
+/**
+ * @brief Finishes the audio streaming and starts recognition processing in engine asynchronously.
+ * @since_tizen 8.0
+ * @remarks This function can only stop recording started by stt_start_audio_streaming().
+ * @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_INVALID_PARAMETER Invalid parameter
+ * @retval #STT_ERROR_INVALID_STATE Invalid state
+ * @retval #STT_ERROR_OPERATION_FAILED Operation failure
+ * @retval #STT_ERROR_IN_PROGRESS_TO_READY Progress to ready is not finished
+ * @retval #STT_ERROR_IN_PROGRESS_TO_PROCESSING Progress to processing is not finished
+ * @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 after starting recording by stt_start(), you will receive #STT_ERROR_OPERATION_FAILED.
+ * After processing of engine, stt_result_cb() is called.
+ * @see stt_start_audio_streaming()
+ * @see stt_cancel()
+ * @see stt_state_changed_cb()
+*/
+int stt_stop_audio_streaming(stt_h stt);
+
+
+/**
+ * @brief Gets the recognizable audio format information.
+ * @since_tizen 8.0
+ * @param[in] stt The STT handle
+ * @param[out] type The audio type
+ * @param[out] rate The sample rates
+ * @param[out] num_of_channels The number of channels
+ * @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_INVALID_PARAMETER Invalid parameter
+ * @retval #STT_ERROR_INVALID_STATE Invalid state
+ * @retval #STT_ERROR_OPERATION_FAILED Operation failure
+ * @pre The state should be #STT_STATE_READY.
+ * @see stt_send_audio_streaming()
+*/
+int stt_get_audio_format(stt_h stt, stt_audio_type_e* type, int* rate, int* num_of_channels);
+
+