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