camera HAL3 架构

整体架构概述
Android Camera整体框架主要包括三个进程:app进程、camera server进程、hal进程。进程之间的通信都是通过binder实现,其中app和camera server通信使用aidl,camera server和hal通信使用hidl。Android Camera2整体架构如下图:
在这里插入图片描述
Camera architecture
大致分为这几个部分:

Application framework
这一层是用于给APP提供访问hardware的Camera API2,通过binder来访问camera service。有两个主要的类:
CameraManager,CameraManager是一个独一无二地用于检测、连接和描述相机设备的系统服务,负责管理所有的CameraDevice相机设备。通过ICameraService调用到CameraService。
// CameraManager.java
private void connectCameraServiceLocked() { // CameraManager是一个系统服务,应该是开机就会被创建起来
IBinder cameraServiceBinder = ServiceManager.getService(CAMERA_SERVICE_BINDER_NAME);
ICameraService cameraService = ICameraService.Stub.asInterface(cameraServiceBinder); // 返回Stub.Proxy对象,也就是ICameraServiceProxy
CameraStatus[] cameraStatuses = cameraService.addListener(this); // 注册 ICameraServiceListener
mCameraService = cameraService;
}
CameraDevice:CameraDevice是连接在安卓设备上的单个相机的抽象表示。通过ICameraDeviceUser调用到CameraDeviceClient。
private CameraDevice openCameraDeviceUserAsync() {
CameraDevice device = null;
ICamer

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值