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。

相关推荐
莞凰5 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer
NiceCloud喜云6 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
ujainu6 小时前
CANN pto-isa:虚拟指令集如何连接编译与执行
android·ascend
赏金术士7 小时前
第六章:UI组件与Material3主题
android·ui·kotlin·compose
TechMerger8 小时前
Android 17 重磅重构!服役 20 年的 MessageQueue 迎来无锁改造,卡顿大幅优化!
android·性能优化
yuhuofei202110 小时前
【Python入门】Python中字符串相关拓展
android·java·python
dalancon11 小时前
Android Input Spy Window
android
dalancon12 小时前
InputDispatcher派发事件,查找目标窗口
android
我命由我1234512 小时前
Android Framework P3 - MediaServer 进程、认识 ServiceManager 进程
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
天才少年曾牛13 小时前
Android14 新增系统服务后,应用调用出现 “hidden api” 警告的原因与解决方案
android·frameworks