From 94bcf5931a4d2101f9bb2eb777a3678fbcab4d88 Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Fri, 6 Jan 2017 16:53:09 +0900 Subject: [PATCH] Add resource conflict error in error convert function [Version] 0.2.33 [Profile] Common [Issue Type] Update [Dependency module] N/A [Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-3.0-mobile_20170104.1] Change-Id: I9bae5b4b5ed4d02f738517ae34aa3e11623216ff Signed-off-by: Jeongmo Yang --- legacy/include/legacy_recorder.h | 1 + legacy/src/legacy_recorder.c | 26 +++++++++++++++++--------- packaging/mmsvc-recorder.spec | 2 +- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/legacy/include/legacy_recorder.h b/legacy/include/legacy_recorder.h index 3dcf107..655859e 100644 --- a/legacy/include/legacy_recorder.h +++ b/legacy/include/legacy_recorder.h @@ -62,6 +62,7 @@ typedef enum { RECORDER_ERROR_OUT_OF_STORAGE = RECORDER_ERROR_CLASS | 0x0b, /**< Out of storage */ RECORDER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< The access to the resources can not be granted */ RECORDER_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< The feature is not supported */ + RECORDER_ERROR_RESOURCE_CONFLICT = RECORDER_ERROR_CLASS | 0x0c, /**< Blocked by resource conflict (Since 3.0) */ } recorder_error_e; /** diff --git a/legacy/src/legacy_recorder.c b/legacy/src/legacy_recorder.c index f0a7d1e..e45102e 100644 --- a/legacy/src/legacy_recorder.c +++ b/legacy/src/legacy_recorder.c @@ -177,6 +177,10 @@ int __convert_recorder_error_code(const char *func, int code) ret = RECORDER_ERROR_NOT_SUPPORTED; errorstr = "NOT_SUPPORTED"; break; + case MM_ERROR_RESOURCE_INTERNAL: + ret = RECORDER_ERROR_RESOURCE_CONFLICT; + errorstr = "ERROR_RESOURCE_CONFLICT"; + break; default: ret = RECORDER_ERROR_INVALID_OPERATION; errorstr = "INVALID_OPERATION"; @@ -279,16 +283,20 @@ static int __mm_recorder_msg_cb(int message, void *param, void *user_data) if (previous_state != handle->state && handle->user_cb[_RECORDER_EVENT_TYPE_STATE_CHANGE]) ((recorder_state_changed_cb)handle->user_cb[_RECORDER_EVENT_TYPE_STATE_CHANGE])(previous_state, handle->state, policy, handle->user_data[_RECORDER_EVENT_TYPE_STATE_CHANGE]); - /* should change intermediate state MM_CAMCORDER_STATE_READY is not valid in capi , change to NULL state */ - if (policy != RECORDER_POLICY_NONE && - (m->state.current == MM_CAMCORDER_STATE_PAUSED || m->state.current == MM_CAMCORDER_STATE_NULL)) { - if (handle->user_cb[_RECORDER_EVENT_TYPE_INTERRUPTED]) - ((recorder_interrupted_cb)handle->user_cb[_RECORDER_EVENT_TYPE_INTERRUPTED])(policy, interrupt_state, handle->state, handle->user_data[_RECORDER_EVENT_TYPE_INTERRUPTED]); - else - LOGW("_RECORDER_EVENT_TYPE_INTERRUPTED cb is NULL"); + if (policy != RECORDER_POLICY_NONE) { + if (policy == RECORDER_POLICY_SECURITY || + m->state.current == MM_CAMCORDER_STATE_PAUSED || + m->state.current == MM_CAMCORDER_STATE_NULL) { + LOGD("call interrupted callback"); + + if (handle->user_cb[_RECORDER_EVENT_TYPE_INTERRUPTED]) + ((recorder_interrupted_cb)handle->user_cb[_RECORDER_EVENT_TYPE_INTERRUPTED])(policy, interrupt_state, handle->state, handle->user_data[_RECORDER_EVENT_TYPE_INTERRUPTED]); + else + LOGW("_RECORDER_EVENT_TYPE_INTERRUPTED cb is NULL"); - /* initialize interrupt state */ - interrupt_state = -1; + /* initialize interrupt state */ + interrupt_state = -1; + } } break; } diff --git a/packaging/mmsvc-recorder.spec b/packaging/mmsvc-recorder.spec index adf75d0..a34331b 100644 --- a/packaging/mmsvc-recorder.spec +++ b/packaging/mmsvc-recorder.spec @@ -1,6 +1,6 @@ Name: mmsvc-recorder Summary: A Recorder module for muse server -Version: 0.2.32 +Version: 0.2.33 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 -- 2.7.4