-SET(SRCS
+SET(SRCS
stt.c
stt_client.c
stt_dbus.c
int ret = cynara_initialize(&p_cynara, NULL);
if (CYNARA_API_SUCCESS != ret)
SLOG(LOG_ERROR, TAG_STTC, "[ERROR] fail to initialize");
-
+
return ret == CYNARA_API_SUCCESS;
}
}
g_privilege_allowed = 1;
- return STT_ERROR_NONE;
+ return STT_ERROR_NONE;
}
static const char* __stt_get_error_code(stt_error_e err)
free(client->current_engine_id);
}
+ SLOG(LOG_DEBUG, TAG_STTC, "===== engined_id(%s)", engine_id);
+
client->current_engine_id = strdup(engine_id);
SLOG(LOG_DEBUG, TAG_STTC, "=====");
}
}
+ if (0 == strncmp(*data, "NULL", strlen(*data))) {
+ free(*data);
+ *data = NULL;
+ }
+
SLOG(LOG_DEBUG, TAG_STTC, "=====");
SLOG(LOG_DEBUG, TAG_STTC, "");
int count = 0;
silence_supported = false;
credential_needed = false;
+ SLOG(LOG_DEBUG, TAG_STTC, "[WARNING] current_engine_id(%s)", client->current_engine_id);
+
while (0 != ret) {
ret = stt_dbus_request_set_current_engine(client->uid, client->current_engine_id, &silence_supported, &credential_needed);
if (0 != ret) {
typedef struct {
/* base info */
stt_h stt;
- int pid;
+ int pid;
int uid; /*<< unique id = pid + handle */
stt_recognition_result_cb recognition_result_cb;
char** data_list;
int data_count;
char* msg;
-
+
/* error data */
int reason;
char* err_msg;
dbus_error_free(&err);
}
- SLOG(LOG_DEBUG, TAG_STTC, "<<<< stt set volume : uid(%d), volume(%f)", uid, volume);
+ SLOG(LOG_DEBUG, TAG_STTC, "<<<< stt set volume : uid(%d), volume(%f)", uid, volume);
__stt_cb_set_volume(uid, volume);
/* SLOG(LOG_DEBUG, TAG_STTC, "====="); */
dbus_bus_request_name(g_conn_listener, service_name, DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
if (dbus_error_is_set(&err)) {
- SLOG(LOG_ERROR, TAG_STTC, "Name Error (%s)", err.message);
- dbus_error_free(&err);
+ SLOG(LOG_ERROR, TAG_STTC, "Name Error (%s)", err.message);
+ dbus_error_free(&err);
}
char rule[128] = {0, };
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_HELLO);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_INITIALIZE);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_FINALIZE);
if (NULL == msg) {
}
if (NULL != result_msg) {
- dbus_message_get_args(result_msg, &err,
+ dbus_message_get_args(result_msg, &err,
DBUS_TYPE_INT32, &result,
DBUS_TYPE_INVALID);
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_SET_CURRENT_ENGINE);
if (NULL == msg) {
SLOG(LOG_ERROR, TAG_STTC, ">>>> stt set engine : Fail to make message");
return STT_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTC, ">>>> stt set engine : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTC, ">>>> stt set engine : uid(%d), engine_id(%s)", uid, (NULL == engine_id) ? "NULL" : engine_id);
}
dbus_message_append_args(msg,
}
if (NULL != result_msg) {
- dbus_message_get_args(result_msg, &err,
- DBUS_TYPE_INT32, &result,
+ dbus_message_get_args(result_msg, &err,
+ DBUS_TYPE_INT32, &result,
DBUS_TYPE_INT32, silence_supported,
DBUS_TYPE_INT32, credential_needed,
DBUS_TYPE_INVALID);
if (dbus_error_is_set(&err)) {
SLOG(LOG_ERROR, TAG_STTC, "<<<< Get arguments error (%s)", err.message);
- dbus_error_free(&err);
+ dbus_error_free(&err);
result = STT_ERROR_OPERATION_FAILED;
}
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_CHECK_APP_AGREED);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_GET_SUPPORT_LANGS);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_GET_CURRENT_LANG);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_IS_TYPE_SUPPORTED);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_SET_START_SOUND);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_UNSET_START_SOUND);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_SET_STOP_SOUND);
if (NULL == msg) {
DBusMessage* msg;
msg = dbus_message_new_method_call(
- STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_NAME,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_UNSET_STOP_SOUND);
if (NULL == msg) {
/* create a signal & check for errors */
msg = dbus_message_new_method_call(
STT_SERVER_SERVICE_NAME,
- STT_SERVER_SERVICE_OBJECT_PATH,
- STT_SERVER_SERVICE_INTERFACE,
+ STT_SERVER_SERVICE_OBJECT_PATH,
+ STT_SERVER_SERVICE_INTERFACE,
STT_METHOD_STOP);
if (NULL == msg) {
SLOG(LOG_DEBUG, TAG_STTC, ">>>> stt stop : uid(%d)", uid);
}
- dbus_message_append_args(msg,
- DBUS_TYPE_INT32, &uid,
+ dbus_message_append_args(msg,
+ DBUS_TYPE_INT32, &uid,
DBUS_TYPE_INVALID);
#if 1
if (g_conn_sender) {
SLOG(LOG_DEBUG, TAG_STTC, ">>>> stt cancel : uid(%d)", uid);
}
- dbus_message_append_args(msg,
- DBUS_TYPE_INT32, &uid,
+ dbus_message_append_args(msg,
+ DBUS_TYPE_INT32, &uid,
DBUS_TYPE_INVALID);
#if 1
if (g_conn_sender) {
}
}
-void __stt_file_engine_info_cb(const char* engine_uuid, const char* engine_name, const char* setting_ug_name,
+void __stt_file_engine_info_cb(const char* engine_uuid, const char* engine_name, const char* setting_ug_name,
bool use_network, void* user_data)
{
sttengine_info_s* temp = (sttengine_info_s*)user_data;
g_client_info->current_engine_id = -1;
g_client_info->time_info = NULL;
-
+
g_client_info->before_state = STT_FILE_STATE_READY;
g_client_info->current_state = STT_FILE_STATE_READY;
g_client_info->cb_ref_count = 0;
- return 0;
+ return 0;
}
int stt_file_client_destroy()
while (0 != g_client_info->cb_ref_count) {
/* wait for release callback function */
}
-
+
free(g_client_info);
g_client_info = NULL;
extern "C" {
#endif
-#define TAG_STTC "sttc"
+#define TAG_STTC "sttc"
-/**
+/**
* @brief A structure of handle for identification
*/
struct stt_s {
SLOG(LOG_ERROR, stt_tag(), "Current config info is NULL");
return STT_CONFIG_ERROR_OPERATION_FAILED;
}
-
+
/* Check current language */
if (NULL == g_config_info->language) {
SLOG(LOG_ERROR, stt_tag(), "Current config language is NULL");
return STT_CONFIG_ERROR_OPERATION_FAILED;
}
- if (false == callback(engine_info->uuid, engine_info->name,
+ if (false == callback(engine_info->uuid, engine_info->name,
engine_info->setting, engine_info->support_silence_detection, user_data)) {
break;
}
SLOG(LOG_DEBUG, stt_tag(), " %s", lang);
if (NULL != lang && NULL != g_config_info->language) {
- if (0 == strcmp(lang, g_config_info->language)) {
+ if (0 == strcmp(lang, g_config_info->language)) {
/* language is valid */
is_valid_lang = true;
} else {
SLOG(LOG_ERROR, stt_tag(), " language is NONE");
}
- SLOG(LOG_DEBUG, stt_tag(), " silence support : %s",
+ SLOG(LOG_DEBUG, stt_tag(), " silence support : %s",
engine_info->support_silence_detection ? "true" : "false");
iter = g_slist_next(iter);
i++;
while (NULL != iter) {
data = iter->data;
- if (false == callback(data->index, data->event, data->text,
+ if (false == callback(data->index, data->event, data->text,
data->start_time, data->end_time, user_data)) {
break;
}
STT_CONFIG_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< STT NOT supported */
STT_CONFIG_ERROR_INVALID_STATE = TIZEN_ERROR_STT | 0x01, /**< Invalid state */
STT_CONFIG_ERROR_INVALID_LANGUAGE = TIZEN_ERROR_STT | 0x02, /**< Invalid language */
- STT_CONFIG_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */
+ STT_CONFIG_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */
STT_CONFIG_ERROR_OPERATION_FAILED = TIZEN_ERROR_STT | 0x04, /**< Operation failed */
} stt_config_error_e;
return ret;
}
- *data = strdup(temp);
+ if (NULL == temp)
+ *data = strdup("NULL");
+ else
+ *data = strdup(temp);
return STTP_ERROR_NONE;
}
return ret;
}
-int stt_engine_recognize_start_file(int engine_id, const char* lang, const char* recognition_type,
+int stt_engine_recognize_start_file(int engine_id, const char* lang, const char* recognition_type,
const char* filepath, sttp_audio_type_e audio_type, int sample_rate, void* user_param)
{
if (NULL == filepath || NULL == lang || NULL == recognition_type) {
/* File recognition */
-int stt_engine_recognize_start_file(int engine_id, const char* lang, const char* recognition_type,
+int stt_engine_recognize_start_file(int engine_id, const char* lang, const char* recognition_type,
const char* filepath, sttp_audio_type_e audio_type, int sample_rate, void* user_param);
int stt_engine_recognize_cancel_file(int engine_id);
* distributed under the License is distributed on an AS IS BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
- * limitations under the License.
+ * limitations under the License.
*/
* @defgroup CAPI_UIX_STT_MODULE STT
* @ingroup CAPI_UIX_FRAMEWORK
* @brief The @ref CAPI_UIX_STT_MODULE API provides functions to recognize the speech.
- *
+ *
* @section CAPI_UIX_STT_MODULE_HEADER Required Header
* \#include <stt.h>
- *
+ *
* @section CAPI_UIX_STT_MODULE_OVERVIEW Overview
* A main function of Speech-To-Text (below STT) API recognizes sound data recorded by users.
* After choosing a language, applications will start recording and recognizing.
*
* To use of STT, use the following steps:<br>
* 1. Create a handle <br>
- * 2. Register callback functions for notifications <br>
+ * 2. Register callback functions for notifications <br>
* 3. Prepare stt-daemon asynchronously <br>
* 4. Start recording for recognition <br>
* 5. Stop recording <br>
* @image html capi_uix_stt_state_diagram.png "State diagram"
*
* @section CAPI_STT_MODULE_STATE_TRANSITIONS State Transitions
- *
+ *
* <table>
* <tr>
* <th>FUNCTION</th>
* <td>ASYNC</td>
* </tr>
* </table>
- *
+ *
* @section CAPI_STT_MODULE_STATE_DEPENDENT_FUNCTION_FUNCTION_CALLS State Dependent Function Calls
* The following table shows state-dependent function calls. It is forbidden to call functions listed below in wrong states.
* Violation of this rule may result in an unpredictable behavior.
- *
+ *
* <table>
* <tr>
* <th>FUNCTION</th>
* <td>All callback function should be registered / unregistered in Created state</td>
* </tr>
* </table>
- *
+ *
* @section CAPI_UIX_STT_MODULE_FEATURE Related Features
* This API is related with the following features:<br>
* - http://tizen.org/feature/speech.recognition<br>
* You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.<br>
* To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.<br>
* More details on featuring your application can be found from <a href="https://developer.tizen.org/development/tools/native-tools/manifest-text-editor#feature"><b>Feature Element</b>.</a>
- *
+ *
*/
#endif /* __TIZEN_UIX_STT_DOC_H__ */
extern "C" {
#endif
-/**
+/**
* @brief Enumerations of error codes.
*/
typedef enum {
STT_SETTING_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< STT is NOT supported */
STT_SETTING_ERROR_INVALID_STATE = TIZEN_ERROR_STT | 0x01, /**< Invalid state */
STT_SETTING_ERROR_INVALID_LANGUAGE = TIZEN_ERROR_STT | 0x02, /**< Invalid language */
- STT_SETTING_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */
+ STT_SETTING_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */
STT_SETTING_ERROR_OPERATION_FAILED = TIZEN_ERROR_STT | 0x04, /**< Operation failed */
STT_SETTING_ERROR_NOT_SUPPORTED_FEATURE = TIZEN_ERROR_STT | 0x05 /**< Not supported feature of current engine */
} stt_setting_error_e;
-/**
+/**
* @brief Enumerations of setting state.
*/
typedef enum {
* @param[in] user_data User data passed from the stt_setting_foreach_supported_engines().
*
* @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop.
-* @pre stt_setting_foreach_supported_engines() will invoke this callback.
+* @pre stt_setting_foreach_supported_engines() will invoke this callback.
*
* @see stt_setting_foreach_supported_engines()
*/
*
* @param[in] engine_id Engine id.
* @param[in] language A language is specified as an ISO 3166 alpha-2 two letter country-code
-* followed by ISO 639-1 for the two-letter language code.
+* followed by ISO 639-1 for the two-letter language code.
* For example, "ko_KR" for Korean, "en_US" for American English..
* @param[in] user_data User data passed from the stt_setting_foreach_supported_languages().
*
* @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop.
-* @pre stt_setting_foreach_supported_languages() will invoke this callback.
+* @pre stt_setting_foreach_supported_languages() will invoke this callback.
*
* @see stt_setting_foreach_supported_languages()
*/
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_TIMED_OUT stt daemon is blocked or stt daemon do not exist.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT setting has Already been initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT setting has Already been initialized.
* @retval #STT_SETTING_ERROR_ENGINE_NOT_FOUND No available stt-engine. Engine should be installed.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
int stt_setting_initialize(void);
/**
-* @brief finalize stt setting and disconnect to stt-daemon.
+* @brief finalize stt setting and disconnect to stt-daemon.
*
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
-* @post This function invokes stt_setting_supported_engine_cb() repeatedly for getting engine information.
+* @post This function invokes stt_setting_supported_engine_cb() repeatedly for getting engine information.
*
* @see stt_setting_supported_engine_cb()
*/
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_OUT_OF_MEMORY Out of memory.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
-* @post This function invokes stt_setting_supported_language_cb() repeatedly for getting supported languages.
+* @post This function invokes stt_setting_supported_language_cb() repeatedly for getting supported languages.
*
* @see stt_setting_supported_language_cb()
*/
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_OUT_OF_MEMORY Out of memory.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
* @return 0 on success, otherwise a negative error value.
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
/**
* @brief Get silence detection.
*
-* @param[out] value Value.
+* @param[out] value Value.
*
* @return 0 on success, otherwise a negative error value
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
/**
* @brief Set silence detection.
*
-* @param[in] value Value.
+* @param[in] value Value.
*
* @return 0 on success, otherwise a negative error value
* @retval #STT_SETTING_ERROR_NONE Success.
* @retval #STT_SETTING_ERROR_INVALID_PARAMETER Invalid parameter.
-* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
+* @retval #STT_SETTING_ERROR_INVALID_STATE STT Not initialized.
* @retval #STT_SETTING_ERROR_OPERATION_FAILED Operation failure.
* @retval #STT_SETTING_ERROR_NOT_SUPPORTED STT NOT supported
*
%make_install
-%post
+%post
/sbin/ldconfig
mkdir -p %{_libdir}/voice/
return;
}
-int sttd_config_initialize(sttd_config_engine_changed_cb engine_cb,
- sttd_config_language_changed_cb lang_cb,
- sttd_config_silence_changed_cb silence_cb,
+int sttd_config_initialize(sttd_config_engine_changed_cb engine_cb,
+ sttd_config_language_changed_cb lang_cb,
+ sttd_config_silence_changed_cb silence_cb,
void* user_data)
{
if (NULL == engine_cb || NULL == lang_cb || NULL == silence_cb) {
return -1;
}
- ret = stt_config_mgr_set_callback(getpid(), __sttd_config_engine_changed_cb, __sttd_config_lang_changed_cb,
+ ret = stt_config_mgr_set_callback(getpid(), __sttd_config_engine_changed_cb, __sttd_config_lang_changed_cb,
__config_bool_changed_cb, NULL);
if (0 != ret) {
SLOG(LOG_ERROR, TAG_STTD, "[ERROR] Fail to set config changed : %d", ret);
int sttd_config_time_reset()
{
return stt_config_mgr_reset_time_info();
-}
\ No newline at end of file
+}
typedef void (*sttd_config_silence_changed_cb)(bool value, void* user_data);
-int sttd_config_initialize(sttd_config_engine_changed_cb engine_cb,
- sttd_config_language_changed_cb lang_cb,
- sttd_config_silence_changed_cb silence_cb,
+int sttd_config_initialize(sttd_config_engine_changed_cb engine_cb,
+ sttd_config_language_changed_cb lang_cb,
+ sttd_config_silence_changed_cb silence_cb,
void* user_data);
int sttd_config_finalize();
DBUS_TYPE_INT32, &pid,
DBUS_TYPE_INT32, &uid,
DBUS_TYPE_INVALID);
-
+
SLOG(LOG_DEBUG, TAG_STTD, ">>>>> STT Initialize");
if (dbus_error_is_set(&err)) {
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt initialize : pid(%d), uid(%d)", pid , uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt initialize : pid(%d), uid(%d)", pid , uid);
ret = sttd_server_initialize(pid, uid, &silence_supported, &credential_needed);
}
if (0 == ret) {
SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d), silence(%d), credential(%d)",
- ret, silence_supported, credential_needed);
+ ret, silence_supported, credential_needed);
} else {
SLOG(LOG_ERROR, TAG_STTD, "[OUT ERROR] Result(%d)", ret);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt finalize : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt finalize : uid(%d)", uid);
ret = sttd_server_finalize(uid);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt supported engines : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt supported engines : uid(%d)", uid);
ret = sttd_server_get_supported_engines(uid, &engine_list);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt set current engine : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt set current engine : uid(%d), engine_id(%s)", uid, (NULL == engine_id) ? "NULL" : engine_id);
ret = sttd_server_set_current_engine(uid, engine_id, &silence_supported, &credential_needed);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt get current engine : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt get current engine : uid(%d)", uid);
ret = sttd_server_get_current_engine(uid, &engine);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt Is engine available : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt Is engine available : uid(%d)", uid);
ret = sttd_server_check_app_agreed(uid, appid, &available);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt supported langs : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt supported langs : uid(%d)", uid);
ret = sttd_server_get_supported_languages(uid, &lang_list);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt get default lang : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt get default lang : uid(%d)", uid);
ret = sttd_server_get_current_langauage(uid, &lang);
}
int uid;
char* key = NULL;
char* data = NULL;
+
int ret = 0;
dbus_message_get_args(msg, &err,
DBUS_TYPE_INT32, &uid,
DBUS_TYPE_INVALID);
if (0 == ret) {
- SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d), Support(%s)", ret, support ? "true" : "false");
+ SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d), Support(%s)", ret, support ? "true" : "false");
} else {
SLOG(LOG_ERROR, TAG_STTD, "[OUT ERROR] Result(%d)", ret);
}
DBUS_TYPE_INVALID);
if (0 == ret) {
- SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d)", ret);
+ SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d)", ret);
} else {
SLOG(LOG_ERROR, TAG_STTD, "[OUT ERROR] Result(%d)", ret);
}
DBUS_TYPE_INVALID);
if (0 == ret) {
- SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d)", ret);
+ SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d)", ret);
} else {
SLOG(LOG_ERROR, TAG_STTD, "[OUT ERROR] Result(%d)", ret);
}
DBUS_TYPE_INVALID);
if (0 == ret) {
- SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d)", ret);
+ SLOG(LOG_DEBUG, TAG_STTD, "[OUT SUCCESS] Result(%d)", ret);
} else {
SLOG(LOG_ERROR, TAG_STTD, "[OUT ERROR] Result(%d)", ret);
}
dbus_message_get_args(msg, &err,
DBUS_TYPE_INT32, &uid,
- DBUS_TYPE_STRING, &lang,
+ DBUS_TYPE_STRING, &lang,
DBUS_TYPE_STRING, &type,
DBUS_TYPE_INT32, &silence,
DBUS_TYPE_STRING, &appid,
ret = STTD_ERROR_OPERATION_FAILED;
} else {
SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt start : uid(%d), lang(%s), type(%s), silence(%d) appid(%s) credential(%s)"
- , uid, lang, type, silence, appid, credential);
+ , uid, lang, type, silence, appid, credential);
ret = sttd_server_start(uid, lang, type, silence, appid, credential);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt stop : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt stop : uid(%d)", uid);
ret = sttd_server_stop(uid);
}
dbus_error_free(&err);
ret = STTD_ERROR_OPERATION_FAILED;
} else {
- SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt cancel : uid(%d)", uid);
+ SLOG(LOG_DEBUG, TAG_STTD, "[IN] stt cancel : uid(%d)", uid);
ret = sttd_server_cancel(uid);
}
/*
* Dbus Server functions for APIs
-*/
+*/
int sttd_dbus_server_initialize(DBusConnection* conn, DBusMessage* msg);
char* first_lang;
bool silence_detection;
bool support_silence_detection;
- bool need_credential;
+ bool need_credential;
} sttengine_info_s;
/** stt engine agent init */
if (0 != sttd_recorder_destroy(g_recording_engine_id)) {
SECURE_SLOG(LOG_WARN, TAG_STTD, "[Engine Agent] Fail to destroy recorder(%d)", g_recording_engine_id);
}
-
+
if (event == STTP_RESULT_EVENT_FINAL_RESULT || event == STTP_RESULT_EVENT_ERROR) {
g_recording_engine_id = -1;
}
#endif
/*
-* Constants & Structures
+* Constants & Structures
*/
#define ENGINE_PATH_SIZE 256
SLOG(LOG_DEBUG, TAG_STTD, "===== STT Daemon Initialize");
if (!ecore_init()) {
- SLOG(LOG_ERROR, TAG_STTD, "[ERROR] Fail to initialize Ecore");
+ SLOG(LOG_ERROR, TAG_STTD, "[ERROR] Fail to initialize Ecore");
return EXIT_FAILURE;
}
SLOG(LOG_WARN, TAG_STTD, "[Main Warning] Fail to create timer of client check");
}
- SLOG(LOG_DEBUG, TAG_STTD, "[Main] stt-daemon start...");
+ SLOG(LOG_DEBUG, TAG_STTD, "[Main] stt-daemon start...");
SLOG(LOG_DEBUG, TAG_STTD, "=====");
SLOG(LOG_DEBUG, TAG_STTD, " ");
STTD_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< STT NOT supported */
STTD_ERROR_INVALID_STATE = TIZEN_ERROR_STT | 0x01, /**< Invalid state */
STTD_ERROR_INVALID_LANGUAGE = TIZEN_ERROR_STT | 0x02, /**< Invalid language */
- STTD_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */
+ STTD_ERROR_ENGINE_NOT_FOUND = TIZEN_ERROR_STT | 0x03, /**< No available engine */
STTD_ERROR_OPERATION_FAILED = TIZEN_ERROR_STT | 0x04, /**< Operation failed */
STTD_ERROR_NOT_SUPPORTED_FEATURE = TIZEN_ERROR_STT | 0x05, /**< Not supported feature of current engine */
STTD_ERROR_NO_SPEECH = TIZEN_ERROR_STT | 0x06, /**< No speech while recording */
SLOG(LOG_ERROR, TAG_STTD, "[Recorder] Fail to send recording volume(%f)", vol_db);
}
}
-
+
if (0 == g_buffer_count || 0 == g_buffer_count % 50) {
SLOG(LOG_WARN, TAG_STTD, "[Recorder][%d] Recording... : read_size(%d)", g_buffer_count, voice_data->length);
}
}
g_bt_extend_count++;
-
+
if (100000 == g_buffer_count) {
g_buffer_count = 0;
}
}
SLOG(LOG_WARN, TAG_STTD, "[Recorder] focus state changed to (%d) with reason(%s)", (int)state_for_recording, __stt_get_focus_changed_reason_code(reason));
-
+
if (STTD_RECORDER_STATE_RECORDING == g_recorder_state && SOUND_STREAM_FOCUS_STATE_RELEASED == state_for_recording) {
SLOG(LOG_WARN, TAG_STTD, "[Recorder] Focus released as interrupt");
if (NULL != g_interrupt_cb) {
}
recorder->audio_h = NULL;
}
-#else
+#else
if (STTD_RECORDER_STATE_RECORDING == g_recorder_state) {
g_recorder_state = STTD_RECORDER_STATE_READY;
}
SLOG(LOG_ERROR, TAG_STTD, "[Recorder ERROR] Fail to set stream info");
}
}
-
+
ret = audio_in_prepare(recorder->audio_h);
if (AUDIO_IO_ERROR_NONE != ret) {
SLOG(LOG_ERROR, TAG_STTD, "[Recorder ERROR] Fail to start audio : %d", ret);
if (AUDIO_IO_ERROR_NONE != ret) {
SLOG(LOG_ERROR, TAG_STTD, "[Recorder ERROR] Fail to unprepare audioin : %d", ret);
}
-#else
+#else
int bt_retry = 0;
bool stopped = false;
while (5 > bt_retry) {
if (NULL != client_list) {
SLOG(LOG_DEBUG, TAG_STTD, "===== Clean up client ");
-
+
__read_proc();
for (i = 0; i < client_count; i++) {
<allow receive_sender="org.tizen.stt.client"/>
</policy>
-
+
<policy user="root">
<allow own="org.tizen.voice.sttserver"/>
<allow send_destination="org.tizen.voice.sttserver"/>
<allow receive_sender="org.tizen.voice.sttserver"/>
</policy>
-
+
<policy context="default">
<check send_destination="org.tizen.voice.sttserver"
send_interface="org.tizen.voice.sttserver"