return;
}
- LOGD("get recorder msg %s, event %d", recv_msg, event);
+ /*LOGD("get recorder msg %s, event %d", recv_msg, event);*/
if (cb_info->user_cb[event] == NULL) {
LOGW("user callback for event %d is not set", event);
}
-static recorder_cb_info_s *_recorder_client_callback_new(gint sockfd, bool need_msg_handler_thread)
+static recorder_cb_info_s *_recorder_client_callback_new(gint sockfd)
{
recorder_cb_info_s *cb_info = NULL;
gint i = 0;
g_mutex_init(&cb_info->idle_event_mutex);
g_cond_init(&cb_info->idle_event_cond);
- if (need_msg_handler_thread) {
- /* message handler thread */
- if (!__create_msg_handler_thread(&cb_info->msg_handler_info,
- _RECORDER_MESSAGE_HANDLER_TYPE_GENERAL, "recorder_msg_handler", cb_info)) {
- LOGE("msg_handler_info failed");
- goto ErrorExit;
- }
+ /* message handler thread */
+ if (!__create_msg_handler_thread(&cb_info->msg_handler_info,
+ _RECORDER_MESSAGE_HANDLER_TYPE_GENERAL, "recorder_msg_handler", cb_info)) {
+ LOGE("msg_handler_info failed");
+ goto ErrorExit;
+ }
- /* message handler thread for audio stream callback */
- if (!__create_msg_handler_thread(&cb_info->audio_stream_cb_info,
- _RECORDER_MESSAGE_HANDLER_TYPE_AUDIO_STREAM_CB, "recorder_msg_handler:audio_stream_cb", cb_info)) {
- LOGE("audio_stream_cb_info failed");
- goto ErrorExit;
- }
+ /* message handler thread for audio stream callback */
+ if (!__create_msg_handler_thread(&cb_info->audio_stream_cb_info,
+ _RECORDER_MESSAGE_HANDLER_TYPE_AUDIO_STREAM_CB, "recorder_msg_handler:audio_stream_cb", cb_info)) {
+ LOGE("audio_stream_cb_info failed");
+ goto ErrorExit;
}
cb_info->fd = sockfd;
goto _ERR_RECORDER_EXIT;
}
- pc->cb_info = _recorder_client_callback_new(sock_fd, true);
+ pc->cb_info = _recorder_client_callback_new(sock_fd);
if (pc->cb_info == NULL) {
ret = RECORDER_ERROR_OUT_OF_MEMORY;
goto _ERR_RECORDER_EXIT;
int sock_fd = -1;
int get_device_state = 0;
char *send_msg = NULL;
- muse_recorder_api_e api = MUSE_RECORDER_API_GET_DEVICE_STATE;
- recorder_cb_info_s *cb_info = NULL;
+ char recv_msg[MUSE_RECORDER_MSG_MAX_LENGTH] = {'\0',};
if (!state) {
LOGE("NULL pointer");
goto _GET_DEVICE_STATE_EXIT;
}
- send_msg = muse_core_msg_json_factory_new(api,
+ send_msg = muse_core_msg_json_factory_new(MUSE_RECORDER_API_GET_DEVICE_STATE,
MUSE_TYPE_INT, "module", MUSE_RECORDER,
MUSE_TYPE_INT, PARAM_RECORDER_TYPE, type,
NULL);
goto _GET_DEVICE_STATE_EXIT;
}
- cb_info = _recorder_client_callback_new(sock_fd, false);
- if (cb_info == NULL) {
- ret = RECORDER_ERROR_OUT_OF_MEMORY;
+ ret = muse_core_ipc_recv_msg(sock_fd, recv_msg);
+ if (ret <= 0) {
+ LOGE("recv msg failed %d", errno);
+ ret = RECORDER_ERROR_INVALID_OPERATION;
goto _GET_DEVICE_STATE_EXIT;
}
- sock_fd = -1;
-
- ret = _recorder_client_wait_for_cb_return(api, cb_info, RECORDER_CB_TIMEOUT);
- if (ret != RECORDER_ERROR_NONE) {
- LOGE("API_CREATE failed 0x%x", ret);
+ if (!muse_recorder_msg_get(ret, recv_msg)) {
+ LOGE("failed to get return value from msg [%s]", recv_msg);
+ ret = RECORDER_ERROR_INVALID_OPERATION;
goto _GET_DEVICE_STATE_EXIT;
}
if (ret == RECORDER_ERROR_NONE) {
- muse_recorder_msg_get(get_device_state, cb_info->recv_msg);
- *state = (recorder_device_state_e)get_device_state;
- LOGD("device state %d", *state);
+ if (muse_recorder_msg_get(get_device_state, recv_msg)) {
+ *state = (recorder_device_state_e)get_device_state;
+ LOGD("device type %d state %d", type, *state);
+ } else {
+ LOGE("failed to get device state from msg [%s]", recv_msg);
+ ret = RECORDER_ERROR_INVALID_OPERATION;
+ }
} else {
LOGE("failed 0x%x", ret);
}
_GET_DEVICE_STATE_EXIT:
- if (cb_info) {
- _recorder_client_callback_destroy(cb_info);
- cb_info = NULL;
- }
-
if (sock_fd > -1) {
muse_core_connection_close(sock_fd);
sock_fd = -1;