代码基于OpenHarmony-v3.2.2-Release的基线
hcs_deal.cpp文件解析:drivers/peripheral/camera/hal/hdi_impl/src/camera_host/hcs_deal.cpp
1、Init()方法
---> DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE); --- drivers/hdf_core/framework/utils/src/hcs_parser/device_resource_if.c
功能介绍:调用hcb解析工具,关于hcb的文件介绍参见:https://gitee.com/personal-summa ... ule/HCB_Analysis.md
---> DealHcsData();
2、DealHcsData()方法
功能介绍:遍历hcb中camera_host_config节点下所有的node节点然后调用DealCameraAbility()处理
3、DealCameraAbility()方法
---> pDevResIns->GetString(&node, "logicCameraId", &cameraId, nullptr);
功能介绍:设置cameraId = "lcam001"
---> DealPhysicsCameraId(node, phyCameraIds);
功能介绍:设置phyCameraIds变量的值
---> cameraIdMap_.insert(std::make_pair(std::string(cameraId), phyCameraIds));
功能介绍:将cameraId和phyCameraIds进行配对保存
---> DealMetadata(cameraId, *metadataNode);
功能介绍:处理metadata的node数据
4、DealPhysicsCameraId()方法
功能介绍:设置cameraIds = ["CAMERA_FIRST"]
5、DealMetadata()方法
功能介绍:理metadata的数据
CameraMetadata介绍参见:drivers/peripheral/camera/interfaces/metadata/src/camera_metadata_info.cpp
6、GetMetadata()方法
功能介绍:获取metadataMap
7、GetCameraId()方法
功能介绍:获取cameraIdMap
8、DealAvaliableBasicConfigurations方法
功能介绍:欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) | Powered by Discuz! X3.5 |