Android Camera相关类功能整理

1.Camera Java相关类

代码目录:frameworks/base/core/java/android/hardware/camera2/

CameraManager:camera系统服务管理类,用于监测、获取特征值和连接Camera设备。

CameraManager.CameraManagerGlobal:全局camera Manager实例,维护和CameraService连接,并分发camera 通知给注册的回调。

CameraDevice:代表单个camera已经连接Android设备,允许图像捕捉和高帧率后处理控制。

CameraDevice.StateCallback:设备状态抽象类,用于camera设备状态的更新。

CameraDeviceImpl:CameraDevice实现类,HAL2.1+版本以上支持。

CameraCaptureSession:CameraDevice配置捕获会话类,用于捕捉Camera图像或图像捕捉再处理。

CameraCaptureSession.StateCallback:捕获会话抽象类,用于camera设备捕获会话状态的更新。

CameraCaptureSessionImpl:CameraCaptureSession实现类,用于会话创建和会话命令处理。

2.Camera Native相关类

代码目录:frameworks/av/services/camera/libcameraservice/

hardware/interfaces/camera/provider/2.4/default/

CameraService:Java-native通信的枢纽,向上提供camera的基本信息查询,向下和CameraProviderManager交互获取camera状态。

CameraService.StatusListener:CameraProviderManager交互类,用于接收设备状态变化或模式变化。

CameraService.BasicClient:Camera API1接口类。

CameraService.Client:Camera API1接口类。

CameraService.ClientEventListener:用于CameraClientManager中对camera设备管理。

CameraService.CameraClientManager:管理当前使用的cameraDevice。

CameraService.CameraState:Camera相关信息和依赖关系,用于冲突决策。

CameraService.UidPolicy:Camera设备Uid策略相关,camera连接时使用。

CameraDeviceClient::实现和Java层的CameraDevice进行Binder通信。

CameraDeviceClientBase:CameraDeviceUser的实际实现类,向上对接CameraDevice。

Camera2ClientBase:模板类,用于创建Camera3Device。

Camera3Device:Camera设备命令的实际处理类。

CameraDeviceBase:帧生成基类,定义Camera设备通用接口。

ICameraDeviceCallback:CameraDevice回调处理接口,用于接收camera命令处理结果。

Camera3Device.HalInterface:legacy/hidl hal命令接口调用适配类。

Camera3Device.CaptureRequest:请求信息封装类。

Camera3Device.RequestThread:数据请求命令封装线程类。

Camera3Device.PreparerThread:数据流准备相关类。

Camera3Device.RequestBufferStateMachine:内部类,RequestBuffer状态管理类。

Camera3OutputStream:管理camera device单个输出流。

Camera3OutputUtils:Camera3Device/Camera3OfflineSession共享方法类,用于处理HAL回调。

CameraDeviceSession:CameraDevice会话类,用于和HAL层数据交互处理。

camera3_callback_ops:Hal层回调结构体,Hal层处理结果通过当前类回调给Native,定义参考camera.cpp文件中的camera3_callback_ops定义。

CameraDeviceSession.ResultBatcher:处理request请求结果,并将结果给CameraDevice。

CameraDevice:CameraDevice Hal实现类,调用CameraModule/CameraDeviceSession和Hal层交互。

CameraProviderManager:管理android设备上所有可用的camera providers,枚举providers和设备并监听provider和设备的添加及移除,提供单个设备信息查询。

CameraProviderManager.HardwareServiceInteractionProxy:provider service查询和通知注册相关类。

CameraProviderManager.StatusListener:device/torch状态变化监听类。

CameraProviderManager.ProviderInfo:provider信息封装类。

CameraProviderManager.DeviceInfo:通用camera设备接口类。

CameraProviderManager.DeviceInfo3:Hal3特定camera设备接口类。

CameraProvider_2_4:CameraProvider模板类,用于provider service注册。

LegacyCameraProviderImpl_2_4:CameraProvider封装类,加载Hal库相关Module。

camera_module_callbacks_t:Hal库相关Module方法模板。

CameraModule:Hal库相关Module方法封装库,封装camera_module_t。

相关推荐
阿巴斯甜14 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker15 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952716 小时前
Andorid Google 登录接入文档
android
黄林晴17 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android