diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2016-10-20 18:17:50 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2016-10-20 18:25:06 +0900 |
commit | 523b97585170175846045edfcc111f320610df49 (patch) | |
tree | f0e4cb8584d0b8c7cec4d2cd288975d6f82b88bf | |
parent | ec8faf10ef99145d03f7125f4b338026e3603d10 (diff) | |
download | recorder-523b97585170175846045edfcc111f320610df49.tar.gz recorder-523b97585170175846045edfcc111f320610df49.tar.bz2 recorder-523b97585170175846045edfcc111f320610df49.zip |
Code optimization for get_device_state functionsubmit/tizen_3.0_common/20161104.104000submit/tizen/20161025.104308accepted/tizen/common/20161025.155117
Previously, message receive thread and unused code is executed.
This commit removes them.
[Version] 0.2.42
[Profile] Common
[Issue Type] Update
[Dependency module] N/A
[Dependency commit] N/A
[Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-mobile_20161019.4]
Change-Id: I566ed7b9a0b52c93d029126469be152554dcf464
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r-- | packaging/capi-media-recorder.spec | 2 | ||||
-rw-r--r-- | src/recorder.c | 65 |
2 files changed, 31 insertions, 36 deletions
diff --git a/packaging/capi-media-recorder.spec b/packaging/capi-media-recorder.spec index 30acb4d..c29a1c9 100644 --- a/packaging/capi-media-recorder.spec +++ b/packaging/capi-media-recorder.spec @@ -1,6 +1,6 @@ Name: capi-media-recorder Summary: A Recorder API -Version: 0.2.41 +Version: 0.2.42 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/recorder.c b/src/recorder.c index 89f634c..877bb78 100644 --- a/src/recorder.c +++ b/src/recorder.c @@ -149,7 +149,7 @@ static void _recorder_client_user_callback(recorder_cb_info_s *cb_info, char *re 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); @@ -1052,7 +1052,7 @@ static void __destroy_msg_handler_thread(recorder_msg_handler_info_s *handler_in } -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; @@ -1073,20 +1073,18 @@ static recorder_cb_info_s *_recorder_client_callback_new(gint sockfd, bool need_ 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; @@ -1433,7 +1431,7 @@ static int _recorder_create_common(recorder_h *recorder, muse_recorder_type_e ty 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; @@ -3094,8 +3092,7 @@ int recorder_get_device_state(recorder_type_e type, recorder_device_state_e *sta 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"); @@ -3111,7 +3108,7 @@ int recorder_get_device_state(recorder_type_e type, recorder_device_state_e *sta 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); @@ -3134,34 +3131,32 @@ int recorder_get_device_state(recorder_type_e type, recorder_device_state_e *sta 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; |