1# IDCameraProvider
2
3
4## 概述
5
6定义Distributed Camera设备基本的操作。
7
8启用分布式相机设备、设置流处理、更新控制参数、执行metadata等相关操作。
9
10**起始版本:** 3.2
11
12**相关模块:**[Camera](_distributed.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [EnableDCameraDevice](#enabledcameradevice) ([in] struct [DHBase](_d_h_base.md) dhBase,[in] String abilityInfo,[in] [IDCameraProviderCallback](interface_i_d_camera_provider_callback.md) callbackObj) | 启用分布式相机并设置回调。有关回调的详细信息可查看[IDCameraProviderCallback](interface_i_d_camera_provider_callback.md)。  |
23| [DisableDCameraDevice](#disabledcameradevice) ([in] struct [DHBase](_d_h_base.md) dhBase) | 禁用分布式相机。  |
24| [AcquireBuffer](#acquirebuffer) ([in] struct [DHBase](_d_h_base.md) dhBase,[in] int streamId,[out] struct [DCameraBuffer](_d_camera_buffer.md) buffer) | 获取帧缓冲区。  |
25| [ShutterBuffer](#shutterbuffer) ([in] struct [DHBase](_d_h_base.md) dhBase,[in] int streamId,[in] struct [DCameraBuffer](_d_camera_buffer.md) buffer) | 当帧缓冲区已满时,通知分布式相机HDF服务。  |
26| [OnSettingsResult](#onsettingsresult) ([in] struct [DHBase](_d_h_base.md) dhBase,[in] struct [DCameraSettings](_d_camera_settings.md) result) | 上报分布式相机设备相关的数据。  |
27| [Notify](#notify) ([in] struct [DHBase](_d_h_base.md) dhBase,[in] struct [DCameraHDFEvent](_d_camera_h_d_f_event.md) event) | Source SA与分布式相机驱动的事件通知接口。  |
28
29
30## 成员函数说明
31
32
33### AcquireBuffer()
34
35```
36IDCameraProvider::AcquireBuffer ([in] struct DHBase dhBase, [in] int streamId, [out] struct DCameraBuffer buffer )
37```
38**描述**
39
40获取帧缓冲区。
41
42**起始版本:** 3.2
43
44**参数:**
45
46| 名称 | 描述 |
47| -------- | -------- |
48| dhBase | 分布式相机设备基础信息。  |
49| streamId | 用于标识要获取的流。  |
50| buffer | 帧缓冲区。 |
51
52**返回:**
53
54NO_ERROR 表示执行成功。
55
56其他值表示执行失败,具体错误码查看[DCamRetCode](_distributed.md#dcamretcode)。
57
58
59### DisableDCameraDevice()
60
61```
62IDCameraProvider::DisableDCameraDevice ([in] struct DHBase dhBase)
63```
64**描述**
65
66禁用分布式相机。
67
68**起始版本:** 3.2
69
70**参数:**
71
72| 名称 | 描述 |
73| -------- | -------- |
74| dhBase | 分布式相机设备基础信息。 |
75
76**返回:**
77
78NO_ERROR 表示执行成功。
79
80其他值表示执行失败,具体错误码查看[DCamRetCode](_distributed.md#dcamretcode)。
81
82
83### EnableDCameraDevice()
84
85```
86IDCameraProvider::EnableDCameraDevice ([in] struct DHBase dhBase, [in] String abilityInfo, [in] IDCameraProviderCallback callbackObj )
87```
88**描述**
89
90启用分布式相机并设置回调。有关回调的详细信息可查看[IDCameraProviderCallback](interface_i_d_camera_provider_callback.md)。
91
92**起始版本:** 3.2
93
94**参数:**
95
96| 名称 | 描述 |
97| -------- | -------- |
98| dhBase | 分布式相机设备基础信息。  |
99| abilityInfo | 分布式相机静态能力信息。  |
100| callbackObj | 要设置的回调。 |
101
102**返回:**
103
104NO_ERROR 表示执行成功。
105
106其他值表示执行失败,具体错误码查看[DCamRetCode](_distributed.md#dcamretcode)。
107
108
109### Notify()
110
111```
112IDCameraProvider::Notify ([in] struct DHBase dhBase, [in] struct DCameraHDFEvent event )
113```
114**描述**
115
116Source SA与分布式相机驱动的事件通知接口。
117
118**起始版本:** 3.2
119
120**参数:**
121
122| 名称 | 描述 |
123| -------- | -------- |
124| dhBase | 分布式相机设备基础信息。  |
125| event | 详细事件内容。 |
126
127**返回:**
128
129NO_ERROR 表示执行成功。
130
131其他值表示执行失败,具体错误码查看[DCamRetCode](_distributed.md#dcamretcode)。
132
133
134### OnSettingsResult()
135
136```
137IDCameraProvider::OnSettingsResult ([in] struct DHBase dhBase, [in] struct DCameraSettings result )
138```
139**描述**
140
141上报分布式相机设备相关的数据。
142
143**起始版本:** 3.2
144
145**参数:**
146
147| 名称 | 描述 |
148| -------- | -------- |
149| dhBase | 分布式相机设备基础信息。  |
150| result | 上报的数据。 |
151
152**返回:**
153
154NO_ERROR 表示执行成功。
155
156其他值表示执行失败,具体错误码查看[DCamRetCode](_distributed.md#dcamretcode)。
157
158
159### ShutterBuffer()
160
161```
162IDCameraProvider::ShutterBuffer ([in] struct DHBase dhBase, [in] int streamId, [in] struct DCameraBuffer buffer )
163```
164**描述**
165
166当帧缓冲区已满时,通知分布式相机HDF服务。
167
168**起始版本:** 3.2
169
170**参数:**
171
172| 名称 | 描述 |
173| -------- | -------- |
174| dhBase | 分布式相机设备基础信息。  |
175| streamId | 帧缓冲区要增加的流的ID。  |
176| buffer | 输出帧缓冲区。 |
177
178**返回:**
179
180NO_ERROR 表示执行成功。
181
182其他值表示执行失败,具体错误码查看[DCamRetCode](_distributed.md#dcamretcode)。
183