Code optimization for get_device_state function 12/93112/1 accepted/tizen/common/20161025.155117 submit/tizen/20161025.104308 submit/tizen_3.0_common/20161104.104000
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 20 Oct 2016 09:17:50 +0000 (18:17 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 20 Oct 2016 09:25:06 +0000 (18:25 +0900)
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>
packaging/capi-media-recorder.spec
src/recorder.c

index 30acb4d..c29a1c9 100644 (file)
@@ -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
index 89f634c..877bb78 100644 (file)
@@ -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;