1 什么是ICameraDeviceUser
Camera app执行open camera后,
Camera Java FW调用ICameraService的connectDevice方法获取到一个ICameraDeviceUser对象
ICameraDeviceUser代表的就是一颗CameraDevice,后续的Camera操作流程就是基于ICameraDeviceUser对象。
ICameraDeviceUser 就是下图中CameraDevice的一个抽象
2 ICameraDeviceUser类图
3 ICameraDeviceUser.aidl接口详解
3.1 waitUntilIdle
创建新的session 需要等待 之前的session结束
3.2 beginConfigure
开始创建Session, 暂时为空看书
3.3 createStream
每一个 session 对应一个 stream
3.4 deleteStream
3.5 createInputStream
3.6 endConfigure
结束创建Session
3.7 isSessionConfigurationSupported
3.8 prepare
3.9 prepare2
提高了精细度
3.10 tearDown
3.11 updateOutputConfiguration
3.12 finalizeOutputConfigurations
3.13 createDefaultRequest
3.14 submitRequest
弃用
3.15 submitRequestList
向Framework送CaptureRequests
3.16 cancelRequest
3.17 flush
3.18 switchToOffline
为了快拍,目前大家都没有实现
3.19 getInputSurface
APP 要传buffer给底层
3.20 setCameraAudioRestriction
录像限制策略
3.21 getGlobalAudioRestriction
3.22 disconnect
3.23 getCameraInfo
废弃了,不使用