1# Distributed Camera
2
3
4## 概述
5
6Distributed Camera模块接口定义。
7
8Distributed Camera模块包括对分布式相机设备的操作、流的操作和各种回调等,这部分接口与Camera一致。 通过IDCameraProvider与Source SA通信交互,实现分布式功能。
9
10**起始版本:** 3.2
11
12
13## 汇总
14
15
16### 文件
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [DCameraTypes.idl](_d_camera_types_8idl.md) | Distributed Camera模块HDI接口使用的数据类型。 |
21| [IDCameraProvider.idl](_i_d_camera_provider_8idl.md) | 分布式相机SA服务和分布式相机HDF服务之间传输接口调用,并为上层提供硬件驱动接口。 |
22| [IDCameraProviderCallback.idl](_i_d_camera_provider_callback_8idl.md) | 声明分布式相机SA服务的回调。调用者需要实现回调。 |
23
24
25### 类
26
27| 名称 | 描述 |
28| -------- | -------- |
29| struct  [DHBase](_d_h_base.md) | 分布式硬件设备基础信息。 |
30| struct  [DCameraSettings](_d_camera_settings.md) | 分布式相机控制设置。 |
31| struct  [DCStreamInfo](_d_c_stream_info.md) | 分布式相机内部流信息,用于创建流时传入相关的配置参数。 |
32| struct  [DCCaptureInfo](_d_c_capture_info.md) | 分布式相机内部捕获请求的信息。 |
33| struct  [DCameraBuffer](_d_camera_buffer.md) | 分布式相机进程间传递数据的共享内存结构体。 |
34| struct  [DCameraHDFEvent](_d_camera_h_d_f_event.md) | 分布式相机的通知事件。 |
35| interface  [IDCameraProvider](interface_i_d_camera_provider.md) | 定义Distributed Camera设备基本的操作。 |
36| interface  [IDCameraProviderCallback](interface_i_d_camera_provider_callback.md) | 定义Distributed Camera设备功能回调操作。 |
37
38
39### 枚举
40
41| 名称 | 描述 |
42| -------- | -------- |
43| [DCSettingsType](#dcsettingstype) {<br/>UPDATE_METADATA = 0 , ENABLE_METADATA = 1 , DISABLE_METADATA = 2 , METADATA_RESULT = 3 ,<br/>SET_FLASH_LIGHT = 4 , FPS_RANGE = 5 , UPDATE_FRAME_METADATA = 6<br/>} | 分布式相机metadata更新类型。 |
44| [DCamRetCode](#dcamretcode) {<br/>SUCCESS = 0 , CAMERA_BUSY = 1 , INVALID_ARGUMENT = 2 , METHOD_NOT_SUPPORTED = 3 ,<br/>CAMERA_OFFLINE = 4 , EXCEED_MAX_NUMBER = 5 , DEVICE_NOT_INIT = 6 , FAILED = 7<br/>} | HDI接口的返回值。 |
45| [DCEncodeType](#dcencodetype) {<br/>ENCODE_TYPE_NULL = 0 , ENCODE_TYPE_H264 = 1 , ENCODE_TYPE_H265 = 2 , ENCODE_TYPE_JPEG = 3 ,<br/>ENCODE_TYPE_MPEG4_ES = 4<br/>} | 流数据的编码类型。 |
46| [DCStreamType](#dcstreamtype) { CONTINUOUS_FRAME = 0 , SNAPSHOT_FRAME = 1 } | 内部流的类型。 |
47
48
49## 枚举类型说明
50
51
52### DCamRetCode
53
54```
55enum DCamRetCode
56```
57
58**描述**
59
60
61HDI接口的返回值。
62
63**起始版本:** 3.2
64
65| 枚举值 | 描述 |
66| -------- | -------- |
67| SUCCESS | 调用成功。 |
68| CAMERA_BUSY | 设备当前忙。 |
69| INVALID_ARGUMENT | 参数错误。 |
70| METHOD_NOT_SUPPORTED | 不支持当前调用方法。 |
71| CAMERA_OFFLINE | 设备已经下线。 |
72| EXCEED_MAX_NUMBER | 使能的分布式相机设备超过限制。 |
73| DEVICE_NOT_INIT | 设备没有初始化。 |
74| FAILED | 调用失败。 |
75
76
77### DCEncodeType
78
79```
80enum DCEncodeType
81```
82
83**描述**
84
85
86流数据的编码类型。
87
88**起始版本:** 3.2
89
90| 枚举值 | 描述 |
91| -------- | -------- |
92| ENCODE_TYPE_NULL | 未设置编码类型。 |
93| ENCODE_TYPE_H264 | 编码类型为H264。 |
94| ENCODE_TYPE_H265 | 编码类型为H265。 |
95| ENCODE_TYPE_JPEG | 编码类型为JPEG。 |
96| ENCODE_TYPE_MPEG4_ES | 编码类型为mpeg4-es。 |
97
98
99### DCSettingsType
100
101```
102enum DCSettingsType
103```
104
105**描述**
106
107
108分布式相机metadata更新类型。
109
110**起始版本:** 3.2
111
112| 枚举值 | 描述 |
113| -------- | -------- |
114| UPDATE_METADATA | 设置整包数据。 |
115| ENABLE_METADATA | 使能数据配置。 |
116| DISABLE_METADATA | 去使能数据配置。 |
117| METADATA_RESULT | 分布式相机返回结果。 |
118| SET_FLASH_LIGHT | 闪光灯设置。 |
119| FPS_RANGE | fps范围设置。 |
120| UPDATE_FRAME_METADATA | 帧数设置。 |
121
122
123### DCStreamType
124
125```
126enum DCStreamType
127```
128
129**描述**
130
131
132内部流的类型。
133
134**起始版本:** 3.2
135
136| 枚举值 | 描述 |
137| -------- | -------- |
138| CONTINUOUS_FRAME | 连续流。例如:预览流,录像流。 |
139| SNAPSHOT_FRAME | 单个捕获流。例如:拍照流。 |
140