Update code for count 0 of face detection 47/112847/1
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 2 Feb 2017 06:33:41 +0000 (15:33 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Fri, 3 Feb 2017 05:27:54 +0000 (14:27 +0900)
[Version] 0.2.69
[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_20170131.2]

Change-Id: I6adb7b8f8a7dd7f19f4830d786ad803dfd76b99e
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
muse/src/muse_camera_dispatcher.c
packaging/mmsvc-camera.spec

index d94378e..3c1b177 100644 (file)
@@ -1015,76 +1015,78 @@ void _camera_dispatcher_face_detected_cb(camera_detected_face_s *faces, int coun
        int tbm_key = 0;
        muse_camera_export_data *export_data = NULL;
 
-       if (count > 0) {
+       if (count >= 0) {
                if (module == NULL) {
                        LOGE("NULL module");
                        return;
                }
 
-               muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
-               if (muse_camera == NULL) {
-                       LOGE("NULL handle");
-                       return;
-               }
+               if (bo_size > 0) {
+                       muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
+                       if (muse_camera == NULL) {
+                               LOGE("NULL handle");
+                               return;
+                       }
 
-               export_data = g_new0(muse_camera_export_data, 1);
-               if (export_data == NULL) {
-                       LOGE("alloc export_data failed");
-                       return;
-               }
+                       export_data = g_new0(muse_camera_export_data, 1);
+                       if (export_data == NULL) {
+                               LOGE("alloc export_data failed");
+                               return;
+                       }
 
-               bo = tbm_bo_alloc(muse_camera->bufmgr, bo_size, TBM_BO_DEFAULT);
-               if (bo == NULL) {
-                       LOGE("tbm_bo_alloc failed");
+                       bo = tbm_bo_alloc(muse_camera->bufmgr, bo_size, TBM_BO_DEFAULT);
+                       if (bo == NULL) {
+                               LOGE("tbm_bo_alloc failed");
 
-                       g_free(export_data);
-                       export_data = NULL;
+                               g_free(export_data);
+                               export_data = NULL;
 
-                       return;
-               }
+                               return;
+                       }
 
-               bo_handle = tbm_bo_map(bo, TBM_DEVICE_CPU, TBM_OPTION_READ | TBM_OPTION_WRITE);
-               if (bo_handle.ptr == NULL) {
-                       LOGE("bo map Error!");
+                       bo_handle = tbm_bo_map(bo, TBM_DEVICE_CPU, TBM_OPTION_READ | TBM_OPTION_WRITE);
+                       if (bo_handle.ptr == NULL) {
+                               LOGE("bo map Error!");
 
-                       tbm_bo_unref(bo);
-                       bo = NULL;
+                               tbm_bo_unref(bo);
+                               bo = NULL;
 
-                       g_free(export_data);
-                       export_data = NULL;
+                               g_free(export_data);
+                               export_data = NULL;
 
-                       return;
-               }
+                               return;
+                       }
 
-               /* copy face detection info */
-               memcpy(bo_handle.ptr, faces, bo_size);
+                       /* copy face detection info */
+                       memcpy(bo_handle.ptr, faces, bo_size);
 
-               tbm_bo_unmap(bo);
+                       tbm_bo_unmap(bo);
 
-               /* export bo */
-               tbm_key = tbm_bo_export(bo);
-               if (tbm_key == 0) {
-                       LOGE("failed to export bo for face detection info");
+                       /* export bo */
+                       tbm_key = tbm_bo_export(bo);
+                       if (tbm_key == 0) {
+                               LOGE("failed to export bo for face detection info");
 
-                       tbm_bo_unref(bo);
-                       bo = NULL;
+                               tbm_bo_unref(bo);
+                               bo = NULL;
 
-                       g_free(export_data);
-                       export_data = NULL;
+                               g_free(export_data);
+                               export_data = NULL;
 
-                       return;
-               }
+                               return;
+                       }
 
-               LOGD("face - count %d, buffer size %d, key %d", count, bo_size, tbm_key);
+                       /* set export data */
+                       export_data->bo = bo;
+                       export_data->key = tbm_key;
 
-               /* set export data */
-               export_data->bo = bo;
-               export_data->key = tbm_key;
+                       /* add bo info to list */
+                       g_mutex_lock(&muse_camera->list_lock);
+                       muse_camera->data_list = g_list_append(muse_camera->data_list, (gpointer)export_data);
+                       g_mutex_unlock(&muse_camera->list_lock);
+               }
 
-               /* add bo info to list */
-               g_mutex_lock(&muse_camera->list_lock);
-               muse_camera->data_list = g_list_append(muse_camera->data_list, (gpointer)export_data);
-               g_mutex_unlock(&muse_camera->list_lock);
+               LOGD("face - count %d, buffer size %d, key %d", count, bo_size, tbm_key);
 
                /* send message */
                muse_camera_msg_event2(MUSE_CAMERA_CB_EVENT,
index 201fb67..8fb88aa 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-camera
 Summary:    A Camera module for muse server
-Version:    0.2.68
+Version:    0.2.69
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0