# Distributed Camera ## 概述 Distributed Camera模块接口定义。 Distributed Camera模块包括对分布式相机设备的操作、流的操作和各种回调等,这部分接口与Camera一致。 通过IDCameraProvider与Source SA通信交互,实现分布式功能。 **起始版本:** 3.2 ## 汇总 ### 文件 | 名称 | 描述 | | -------- | -------- | | [DCameraTypes.idl](_d_camera_types_8idl.md) | Distributed Camera模块HDI接口使用的数据类型。 | | [IDCameraProvider.idl](_i_d_camera_provider_8idl.md) | 分布式相机SA服务和分布式相机HDF服务之间传输接口调用,并为上层提供硬件驱动接口。 | | [IDCameraProviderCallback.idl](_i_d_camera_provider_callback_8idl.md) | 声明分布式相机SA服务的回调。调用者需要实现回调。 | ### 类 | 名称 | 描述 | | -------- | -------- | | struct  [DHBase](_d_h_base.md) | 分布式硬件设备基础信息。 | | struct  [DCameraSettings](_d_camera_settings.md) | 分布式相机控制设置。 | | struct  [DCStreamInfo](_d_c_stream_info.md) | 分布式相机内部流信息,用于创建流时传入相关的配置参数。 | | struct  [DCCaptureInfo](_d_c_capture_info.md) | 分布式相机内部捕获请求的信息。 | | struct  [DCameraBuffer](_d_camera_buffer.md) | 分布式相机进程间传递数据的共享内存结构体。 | | struct  [DCameraHDFEvent](_d_camera_h_d_f_event.md) | 分布式相机的通知事件。 | | interface  [IDCameraProvider](interface_i_d_camera_provider.md) | 定义Distributed Camera设备基本的操作。 | | interface  [IDCameraProviderCallback](interface_i_d_camera_provider_callback.md) | 定义Distributed Camera设备功能回调操作。 | ### 枚举 | 名称 | 描述 | | -------- | -------- | | [DCSettingsType](#dcsettingstype) {
UPDATE_METADATA = 0 , ENABLE_METADATA = 1 , DISABLE_METADATA = 2 , METADATA_RESULT = 3 ,
SET_FLASH_LIGHT = 4 , FPS_RANGE = 5 , UPDATE_FRAME_METADATA = 6
} | 分布式相机metadata更新类型。 | | [DCamRetCode](#dcamretcode) {
SUCCESS = 0 , CAMERA_BUSY = 1 , INVALID_ARGUMENT = 2 , METHOD_NOT_SUPPORTED = 3 ,
CAMERA_OFFLINE = 4 , EXCEED_MAX_NUMBER = 5 , DEVICE_NOT_INIT = 6 , FAILED = 7
} | HDI接口的返回值。 | | [DCEncodeType](#dcencodetype) {
ENCODE_TYPE_NULL = 0 , ENCODE_TYPE_H264 = 1 , ENCODE_TYPE_H265 = 2 , ENCODE_TYPE_JPEG = 3 ,
ENCODE_TYPE_MPEG4_ES = 4
} | 流数据的编码类型。 | | [DCStreamType](#dcstreamtype) { CONTINUOUS_FRAME = 0 , SNAPSHOT_FRAME = 1 } | 内部流的类型。 | ## 枚举类型说明 ### DCamRetCode ``` enum DCamRetCode ``` **描述** HDI接口的返回值。 **起始版本:** 3.2 | 枚举值 | 描述 | | -------- | -------- | | SUCCESS | 调用成功。 | | CAMERA_BUSY | 设备当前忙。 | | INVALID_ARGUMENT | 参数错误。 | | METHOD_NOT_SUPPORTED | 不支持当前调用方法。 | | CAMERA_OFFLINE | 设备已经下线。 | | EXCEED_MAX_NUMBER | 使能的分布式相机设备超过限制。 | | DEVICE_NOT_INIT | 设备没有初始化。 | | FAILED | 调用失败。 | ### DCEncodeType ``` enum DCEncodeType ``` **描述** 流数据的编码类型。 **起始版本:** 3.2 | 枚举值 | 描述 | | -------- | -------- | | ENCODE_TYPE_NULL | 未设置编码类型。 | | ENCODE_TYPE_H264 | 编码类型为H264。 | | ENCODE_TYPE_H265 | 编码类型为H265。 | | ENCODE_TYPE_JPEG | 编码类型为JPEG。 | | ENCODE_TYPE_MPEG4_ES | 编码类型为mpeg4-es。 | ### DCSettingsType ``` enum DCSettingsType ``` **描述** 分布式相机metadata更新类型。 **起始版本:** 3.2 | 枚举值 | 描述 | | -------- | -------- | | UPDATE_METADATA | 设置整包数据。 | | ENABLE_METADATA | 使能数据配置。 | | DISABLE_METADATA | 去使能数据配置。 | | METADATA_RESULT | 分布式相机返回结果。 | | SET_FLASH_LIGHT | 闪光灯设置。 | | FPS_RANGE | fps范围设置。 | | UPDATE_FRAME_METADATA | 帧数设置。 | ### DCStreamType ``` enum DCStreamType ``` **描述** 内部流的类型。 **起始版本:** 3.2 | 枚举值 | 描述 | | -------- | -------- | | CONTINUOUS_FRAME | 连续流。例如:预览流,录像流。 | | SNAPSHOT_FRAME | 单个捕获流。例如:拍照流。 |