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。

相关推荐
Dnelic-1 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
Eastsea.Chen3 小时前
MTK Android12 user版本MtkLogger
android·framework
长亭外的少年11 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿13 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神14 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛14 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee
Y多了个想法15 小时前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
NotesChapter16 小时前
Android吸顶效果,并有着ViewPager左右切换
android
_祝你今天愉快17 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl17 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5