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。

相关推荐
QING6181 小时前
Android 定位权限兼容问题详解 —— 新手指南
android·ai编程·trae
QING6181 小时前
Android 存储权限兼容问题详解 —— 新手指南
android·ai编程·trae
逾非时2 小时前
MySQL触法器
android·mysql·sqlserver
还是鼠鼠2 小时前
Android移动应用开发入门示例:Activity跳转界面
android·前端·gitee·android studio·android-studio
每次的天空4 小时前
Android学习总结之Glide篇(缓存和生命周期)
android·学习·glide
非凡ghost5 小时前
LSPatch官方版:无Root Xposed框架,自由定制手机体验
android·智能手机·软件需求
_extraordinary_5 小时前
MySQL 库的操作 -- 增删改查,备份和恢复,系统编码
android·mysql·oracle
西瓜本瓜@8 小时前
在Android中如何使用Protobuf上传协议
android·java·开发语言·git·学习·android-studio
似霰11 小时前
安卓adb shell串口基础指令
android·adb