Add resource conflict error in error convert function 23/108923/2
authorJeongmo Yang <jm80.yang@samsung.com>
Fri, 6 Jan 2017 07:53:09 +0000 (16:53 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Fri, 6 Jan 2017 08:44:01 +0000 (17:44 +0900)
[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 <jm80.yang@samsung.com>
legacy/include/legacy_recorder.h
legacy/src/legacy_recorder.c
packaging/mmsvc-recorder.spec

index 3dcf107..655859e 100644 (file)
@@ -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;
 
 /**
index f0a7d1e..e45102e 100644 (file)
@@ -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;
        }
index adf75d0..a34331b 100644 (file)
@@ -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