summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2016-08-10 14:59:09 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2016-08-10 14:59:09 +0900
commit649dc23a7ffe0f749cc3a953f911d03c87a0d2e0 (patch)
tree42fdaa47a84b5c5a9028b39494755fa580199af1
parent3a5d1e1bad4eb8a86c22e5ee3e957e511a78fc38 (diff)
downloadrecorder-649dc23a7ffe0f749cc3a953f911d03c87a0d2e0.tar.gz
recorder-649dc23a7ffe0f749cc3a953f911d03c87a0d2e0.tar.bz2
recorder-649dc23a7ffe0f749cc3a953f911d03c87a0d2e0.zip
Change-Id: Ibf0903b071c645255945e4b9a7470f830659a51d Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r--packaging/capi-media-recorder.spec2
-rw-r--r--src/recorder.c20
2 files changed, 19 insertions, 3 deletions
diff --git a/packaging/capi-media-recorder.spec b/packaging/capi-media-recorder.spec
index 47ae6c2..4c07f0f 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.29
+Version: 0.2.30
Release: 0
Group: Multimedia/API
License: Apache-2.0
diff --git a/src/recorder.c b/src/recorder.c
index 56d1731..36ef60f 100644
--- a/src/recorder.c
+++ b/src/recorder.c
@@ -1162,6 +1162,7 @@ static int _recorder_create_common(recorder_h *recorder, muse_recorder_type_e ty
int ret = RECORDER_ERROR_NONE;
int destroy_ret = RECORDER_ERROR_NONE;
int sock_fd = -1;
+ int send_ret = 0;
char *send_msg = NULL;
char *root_directory = NULL;
intptr_t camera_handle = 0;
@@ -1218,15 +1219,23 @@ static int _recorder_create_common(recorder_h *recorder, muse_recorder_type_e ty
}
if (!send_msg) {
- LOGE("failed to create msg");
+ LOGE("NULL msg");
ret = RECORDER_ERROR_OUT_OF_MEMORY;
goto _ERR_RECORDER_EXIT;
}
LOGD("sock_fd : %d, msg : %s", sock_fd, send_msg);
- muse_core_ipc_send_msg(sock_fd, send_msg);
+ send_ret = muse_core_ipc_send_msg(sock_fd, send_msg);
+
muse_core_msg_json_factory_free(send_msg);
+ send_msg = NULL;
+
+ if (send_ret < 0) {
+ LOGE("send msg failed %d", errno);
+ ret = RECORDER_ERROR_INVALID_OPERATION;
+ goto _ERR_RECORDER_EXIT;
+ }
pc->cb_info = _recorder_client_callback_new(sock_fd);
if (pc->cb_info == NULL) {
@@ -1234,6 +1243,8 @@ static int _recorder_create_common(recorder_h *recorder, muse_recorder_type_e ty
goto _ERR_RECORDER_EXIT;
}
+ sock_fd = -1;
+
ret = _recorder_client_wait_for_cb_return(MUSE_RECORDER_API_CREATE, pc->cb_info, RECORDER_CB_TIMEOUT);
if (ret != RECORDER_ERROR_NONE) {
LOGE("API_CREATE failed 0x%x", ret);
@@ -1293,6 +1304,11 @@ _ERR_RECORDER_EXIT:
root_directory = NULL;
}
+ if (sock_fd > -1) {
+ muse_core_connection_close(sock_fd);
+ sock_fd = -1;
+ }
+
if (pc) {
if (pc->cb_info) {
_recorder_client_callback_destroy(pc->cb_info);