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,