int _camera_get_mm_handle(camera_h camera , MMHandleType *handle);
int _camera_set_relay_mm_message_callback(camera_h camera, MMMessageCallback callback, void *user_data);
int _camera_set_use(camera_h camera, bool used);
-bool _camera_is_used(camera_h camera);
/*
* end of camera_private function
*/
}
/* Check already used in another recorder */
- if (_camera_is_used(camera)) {
+ if (legacy_camera_is_used(camera)) {
LOGE("[%s] camera is using in another recorder.", __func__);
return RECORDER_ERROR_INVALID_PARAMETER;
}
handle->camera_device_count = camera_device_count;
}
+ legacy_camera_lock(handle->mm_source.camera, true);
_camera_set_use(camera, true);
+ legacy_camera_lock(handle->mm_source.camera, false);
+
if (handle->state == RECORDER_STATE_CREATED) {
ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
MMCAM_CAMERA_FORMAT, preview_format,
if (handle->type == _RECORDER_TYPE_VIDEO) {
/* set to unsed */
+ legacy_camera_lock(handle->mm_source.camera, true);
+
_camera_set_use(handle->mm_source.camera, false);
+
ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
MMCAM_CAMERA_FORMAT, &preview_format,
NULL);
NULL);
}
- if (ret == MM_ERROR_NONE)
+ if (ret == MM_ERROR_NONE) {
_camera_set_relay_mm_message_callback(handle->mm_source.camera, NULL, NULL);
+ legacy_camera_send_signal(handle->mm_source.camera);
+ }
+
+ legacy_camera_lock(handle->mm_source.camera, false);
} else {
ret = mm_camcorder_destroy(handle->mm_handle);
}