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。

相关推荐
Dingdangr5 分钟前
Android中的Intent的作用
android
技术无疆6 分钟前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
GEEKVIP9 分钟前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑
Jouzzy7 小时前
【Android安全】Ubuntu 16.04安装GDB和GEF
android·ubuntu·gdb
极客先躯8 小时前
java和kotlin 可以同时运行吗
android·java·开发语言·kotlin·同时运行
Good_tea_h10 小时前
Android中的单例模式
android·单例模式
计算机源码社15 小时前
分享一个基于微信小程序的居家养老服务小程序 养老服务预约安卓app uniapp(源码、调试、LW、开题、PPT)
android·微信小程序·uni-app·毕业设计项目·毕业设计源码·计算机课程设计·计算机毕业设计开题
丶白泽15 小时前
重修设计模式-结构型-门面模式
android
晨春计17 小时前
【git】
android·linux·git
标标大人18 小时前
c语言中的局部跳转以及全局跳转
android·c语言·开发语言