1# virtual_camera - virtual camera daemon 2 3# The types are moved to public starting at 202502 4until_board_api(202504, ` 5 type virtual_camera, domain, coredomain; 6 type virtual_camera_exec, system_file_type, exec_type, file_type; 7') 8 9init_daemon_domain(virtual_camera) 10 11# Since virtual_camera is not a real HAL we don't set the 12# hal_server_domain(virtual_camera, hal_camera) macro but only the rules that 13# we actually need from halserverdomain and hal_camera_server: 14binder_use(virtual_camera) 15binder_call(virtual_camera, cameraserver) 16binder_call(virtual_camera, system_server) 17 18# Allow virtual_camera to communicate with 19# mediaserver (required for using Surface originating 20# from virtual camera in mediaserver). 21binder_call(virtual_camera, mediaserver) 22 23# Required for the codecs to be able to decode 24# video into surface provided by virtual camera. 25hal_client_domain(virtual_camera, hal_codec2) 26hal_client_domain(virtual_camera, hal_omx) 27 28# Allow virtualCamera to call apps via binder. 29binder_call(virtual_camera, appdomain) 30 31# Allow virtual_camera to use fd from apps 32allow virtual_camera { appdomain -isolated_app }:fd use; 33 34binder_call(virtual_camera, surfaceflinger); 35 36# Only allow virtual_camera to add a virtual_camera_service and no one else. 37add_service(virtual_camera, virtual_camera_service); 38 39# Allow virtual_camera to map graphic buffers 40hal_client_domain(virtual_camera, hal_graphics_allocator) 41 42# Allow virtual_camera to use GPU 43allow virtual_camera gpu_device:chr_file rw_file_perms; 44allow virtual_camera gpu_device:dir r_dir_perms; 45r_dir_file(virtual_camera, sysfs_gpu) 46 47# ION And DMABUF are used by vendor to allocate graphic buffers needed by virtual_camera 48allow cameraserver ion_device:chr_file rw_file_perms; 49allow cameraserver dmabuf_system_heap_device:chr_file r_file_perms; 50 51# Allow virtual camera to use graphics composer fd-s (fences). 52allow virtual_camera hal_graphics_composer:fd use; 53 54# For collecting bugreports. 55allow virtual_camera dumpstate:fd use; 56allow virtual_camera dumpstate:fifo_file write; 57 58# Needed for permission checks. 59allow virtual_camera permission_service:service_manager find; 60 61# Allow 'adb shell cmd' to configure test instances of camera. 62allow virtual_camera adbd:fd use; 63allow virtual_camera adbd:unix_stream_socket { getattr read write }; 64allow virtual_camera shell:fifo_file { getattr read write }; 65 66# Allow virtual_camera to access dmabuf_system_heap_device 67allow virtual_camera dmabuf_system_heap_device:chr_file { read open }; 68