第12讲 cameraserver进程启动之cameradevicestatus概述|极客笔记-凯发k8手机登录

本讲是android camera native framework专题的第12讲,我们介绍cameraserver进程启动之cameradevicestatus概述。

更多资源:

资源 描述
在线课程
知识星球 星球名称:深入浅出android camera 星球id: 17296815
wechat 极客笔记圈

camera device status调用总体流程

camera device status调用总体流程

hidl camera device status

hal cameradevicestatus状态机如下:

代码定义在:/hardware/interfaces/camera/common/1.0/types.hal

hidl camera device status

状态 描述
not_present camera设备在物理上没有插入
enumerating camera设备物理上插入了,暂时还不能使用,需要等enumerate结束
present camera设备物理上插入了,可以被使用,调用getcameraidlist可以发现该cameradevice

framework camera device status

camera framework(icameraservicelistener.aidl)定义的cameradevice status:

状态 描述
status_not_present camera设备在物理上没有插入
status_present camera设备物理上插入了,可以被使用
status_enumerating camera设备物理上插入了,暂时还不能使用,需要等enumerate结束
status_not_available 另外一个camera app在使用该设备,不能被使用
status_unknown 仅用于初始化变量

logical vs physical vs logical multicam

case1: app能看到5颗camera,实际只有3颗物理camera

  1. logical 0,1,2都对应一个physical camera
  2. logical multicam 3和4分别对应2个physical camera
  3. 对app而言,只有logical multicam才有physical camera的概念,因为非multicam情况下一个logical对应一个physical

logical vs physical vs logical multicam

case2: app能看到4颗camera,实际有3颗物理camera,physical 2对app不单独可见

  1. logical 0,1都对应一个physical camera
  2. logical multicam 3和4分别对应2个physical camera
  3. 只有logical multicam 4能用到physical 2

logical vs physical vs logical multicam

camera课程

python教程

java教程

web教程

数据库教程

图形图像教程

办公软件教程

linux教程

计算机教程

大数据教程

开发工具教程

网站地图