muse_camera_data_list camera_data;
bool video_encode_decision;
muse_recorder_type_e type;
+ muse_camera_handle_s *muse_camera;
} muse_recorder_handle_s;
muse_recorder_api_class_e class = MUSE_RECORDER_API_CLASS_IMMEDIATE;
intptr_t camera_handle = 0;
muse_recorder_handle_s *muse_recorder = NULL;
- muse_camera_handle_s *muse_camera = NULL;
intptr_t handle = 0;
muse_recorder_msg_get(recorder_type, muse_server_module_get_msg(module));
goto _CREATE_ERROR;
}
- muse_camera = (muse_camera_handle_s *)camera_handle;
+ muse_recorder->muse_camera = (muse_camera_handle_s *)camera_handle;
- LOGD("video type, camera handle : %p", muse_camera->camera_handle);
+ ret = legacy_recorder_create_videorecorder(muse_recorder->muse_camera->camera_handle,
+ &muse_recorder->recorder_handle);
- ret = legacy_recorder_create_videorecorder(muse_camera->camera_handle, &muse_recorder->recorder_handle);
+ LOGD("video type, camera handle : %p", muse_recorder->muse_camera->camera_handle);
} else if (recorder_type == MUSE_RECORDER_TYPE_AUDIO) {
muse_recorder_msg_get(pid, muse_server_module_get_msg(module));
return MUSE_RECORDER_ERROR_INVALID;
}
+ /* public privilege for camera */
if (!muse_server_security_check_cynara(client_fd, CAMERA_PRIVILEGE_NAME)) {
- LOGE("security(camera) check failed");
ret = RECORDER_ERROR_PERMISSION_DENIED;
+ LOGE("privilege[%s] failed 0x%x", CAMERA_PRIVILEGE_NAME, ret);
+ muse_recorder_msg_return(api, class, ret, module);
+ return MUSE_RECORDER_ERROR_INVALID;
+ }
+
+ /* platform privilege for camera */
+ if (muse_recorder->muse_camera && muse_recorder->muse_camera->platform_privilege &&
+ !muse_server_security_check_cynara(client_fd, muse_recorder->muse_camera->platform_privilege)) {
+ ret = RECORDER_ERROR_PERMISSION_DENIED;
+ LOGE("privilege[%s] failed 0x%x", muse_recorder->muse_camera->platform_privilege, ret);
muse_recorder_msg_return(api, class, ret, module);
return MUSE_RECORDER_ERROR_INVALID;
}