1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "audio_type_vdi.h"
17 #include "iaudio_callback_vdi.h"
18 #include "iaudio_render_vdi.h"
19
GetLatency(struct IAudioRenderVdi* render, uint32_t *ms)20 static int32_t GetLatency(struct IAudioRenderVdi* render, uint32_t *ms)
21 {
22 if (render == NULL) {
23 return HDF_FAILURE;
24 }
25
26 if (ms == NULL) {
27 return HDF_FAILURE;
28 }
29 *ms = 1000;
30 return HDF_SUCCESS;
31 }
32
RenderFrame(struct IAudioRenderVdi* render, const int8_t *frame, uint32_t frameLen, uint64_t *replyBytes)33 static int32_t RenderFrame(struct IAudioRenderVdi* render, const int8_t *frame, uint32_t frameLen, uint64_t *replyBytes)
34 {
35 if (render == NULL || frame == NULL || replyBytes == NULL) {
36 return HDF_FAILURE;
37 }
38
39 (void *)frame;
40 *replyBytes = 48000 * 20 / 1000 * 32 / 8;
41
42 return HDF_SUCCESS;
43 }
44
GetPosition(struct IAudioRenderVdi* render, uint64_t *frames, struct AudioTimeStamp *time)45 static int32_t GetPosition(struct IAudioRenderVdi* render, uint64_t *frames, struct AudioTimeStamp *time)
46 {
47 if (render == NULL || frame == NULL || time == NULL) {
48 return HDF_FAILURE;
49 }
50
51 (void *)frames;
52 (void *)time;
53
54 return HDF_SUCCESS;
55 }
56
SetSpeed(struct IAudioRenderVdi* render, float speed)57 static int32_t SetSpeed(struct IAudioRenderVdi* render, float speed)
58 {
59 if (render == NULL) {
60 return HDF_FAILURE;
61 }
62
63 (void)speed;
64
65 return HDF_SUCCESS;
66 }
67
GetSpeed(struct IAudioRenderVdi* render, float *speed)68 static int32_t GetSpeed(struct IAudioRenderVdi* render, float *speed)
69 {
70 if (render == NULL || speed == NULL) {
71 return HDF_FAILURE;
72 }
73
74 *speed == 1.0;
75
76 return HDF_SUCCESS;
77 }
78
RegCallback(struct IAudioRenderVdi* render, struct IAudioCallback *audioCallback, int8_t cookie)79 static int32_t RegCallback(struct IAudioRenderVdi* render, struct IAudioCallback *audioCallback, int8_t cookie)
80 {
81 if (render == NULL || speed == NULL) {
82 return HDF_FAILURE;
83 }
84
85 *speed == 1.0;
86
87 return HDF_SUCCESS;
88 }
89
SetChannelMode(struct IAudioRenderVdi* render, enum AudioChannelMode mode)90 static int32_t SetChannelMode(struct IAudioRenderVdi* render, enum AudioChannelMode mode)
91 {
92 if (render == NULL || speed == NULL) {
93 return HDF_FAILURE;
94 }
95
96 (void)mode;
97
98 return HDF_SUCCESS;
99 }
100
GetChannelMode(struct IAudioRenderVdi* render, enum AudioChannelMode *mode)101 static int32_t GetChannelMode(struct IAudioRenderVdi* render, enum AudioChannelMode *mode)
102 {
103 if (render == NULL || speed == NULL) {
104 return HDF_FAILURE;
105 }
106
107 (void *)mode;
108
109 return HDF_SUCCESS;
110 }
111
DrainBuffer(struct IAudioRenderVdi* render, enum AudioDrainNotifyType *type)112 static int32_t DrainBuffer(struct IAudioRenderVdi* render, enum AudioDrainNotifyType *type)
113 {
114 if (render == NULL) {
115 return HDF_FAILURE;
116 }
117
118 (void *)type;
119
120 return HDF_SUCCESS;
121 }
122
IsSupportsDrain(struct IAudioRenderVdi* render, bool *support)123 static int32_t IsSupportsDrain(struct IAudioRenderVdi* render, bool *support)
124 {
125 if (render == NULL) {
126 return HDF_FAILURE;
127 }
128
129 (void *)support;
130
131 return HDF_SUCCESS;
132 }
133
CheckSceneCapability(struct IAudioRenderVdi* render, const struct AudioSceneDescriptor *scene, bool *supported)134 static int32_t CheckSceneCapability(struct IAudioRenderVdi* render, const struct AudioSceneDescriptor *scene,
135 bool *supported)
136 {
137 if (render == NULL || scene == NULL || support == NULL) {
138 return HDF_FAILURE;
139 }
140
141 (void *)supported;
142 (void *)scene;
143
144 return HDF_SUCCESS;
145 }
146
SelectScene(struct IAudioRenderVdi* render, const struct AudioSceneDescriptor *scene)147 static int32_t SelectScene(struct IAudioRenderVdi* render, const struct AudioSceneDescriptor *scene)
148 {
149 if (render == NULL || scene == NULL) {
150 return HDF_FAILURE;
151 }
152
153 (void *)scene;
154
155 return HDF_SUCCESS;
156 }
157
SetMute(struct IAudioRenderVdi* render, bool mute)158 static int32_t SetMute(struct IAudioRenderVdi* render, bool mute)
159 {
160 if (render == NULL) {
161 return HDF_FAILURE;
162 }
163
164 (void)mute;
165
166 return HDF_SUCCESS;
167 }
168
GetMute(struct IAudioRenderVdi* render, bool *mute)169 static int32_t GetMute(struct IAudioRenderVdi* render, bool *mute)
170 {
171 if (render == NULL || mute == NULL) {
172 return HDF_FAILURE;
173 }
174
175 (void *)mute;
176
177 return HDF_SUCCESS;
178 }
179
180
SetVolume(struct IAudioRenderVdi* render, float volume)181 static int32_t SetVolume(struct IAudioRenderVdi* render, float volume)
182 {
183 if (render == NULL) {
184 return HDF_FAILURE;
185 }
186
187 (void)volume;
188
189 return HDF_SUCCESS;
190 }
191
GetVolume(struct IAudioRenderVdi* render, float *volume)192 static int32_t GetVolume(struct IAudioRenderVdi* render, float *volume)
193 {
194 if (render == NULL) {
195 return HDF_FAILURE;
196 }
197
198 (void *)volume;
199
200 return HDF_SUCCESS;
201 }
202
GetGainThreshold(struct IAudioRenderVdi* render, float *min, float *max)203 static int32_t GetGainThreshold(struct IAudioRenderVdi* render, float *min, float *max)
204 {
205 if (render == NULL || min == NULL || max == NULL) {
206 return HDF_FAILURE;
207 }
208
209 (void *)min;
210 (void *)max;
211
212 return HDF_SUCCESS;
213 }
214
GetGain(struct IAudioRenderVdi* render, float *gain)215 static int32_t GetGain(struct IAudioRenderVdi* render, float *gain)
216 {
217 if (render == NULL || gain == NULL) {
218 return HDF_FAILURE;
219 }
220
221 (void *)gain;
222
223 return HDF_SUCCESS;
224 }
225
SetGain(struct IAudioRenderVdi* render, float gain)226 static int32_t SetGain(struct IAudioRenderVdi* render, float gain)
227 {
228 if (render == NULL) {
229 return HDF_FAILURE;
230 }
231
232 (void)gain;
233
234 return HDF_SUCCESS;
235 }
236
GetFrameSize(struct IAudioRenderVdi* render, uint64_t *size)237 static int32_t GetFrameSize(struct IAudioRenderVdi* render, uint64_t *size)
238 {
239 if (render == NULL || size == NULL) {
240 return HDF_FAILURE;
241 }
242
243 (void *)size;
244
245 return HDF_SUCCESS;
246 }
247
GetFrameCount(struct IAudioRenderVdi* render, uint64_t *count)248 static int32_t GetFrameCount(struct IAudioRenderVdi* render, uint64_t *count)
249 {
250 if (render == NULL || count == NULL) {
251 return HDF_FAILURE;
252 }
253
254 (void *)count;
255
256 return HDF_SUCCESS;
257 }
258
SetSampleAttributes(struct IAudioRenderVdi* render, const struct AudioSampleAttributes *attrs)259 static int32_t SetSampleAttributes(struct IAudioRenderVdi* render, const struct AudioSampleAttributes *attrs)
260 {
261 if (render == NULL || attrs == NULL) {
262 return HDF_FAILURE;
263 }
264
265 (void *)attrs;
266
267 return HDF_SUCCESS;
268 }
269
GetSampleAttributes(struct IAudioRenderVdi* render, struct AudioSampleAttributes *attrs)270 static int32_t GetSampleAttributes(struct IAudioRenderVdi* render, struct AudioSampleAttributes *attrs)
271 {
272 if (render == NULL || attrs == NULL) {
273 return HDF_FAILURE;
274 }
275
276 (void *)attrs;
277
278 return HDF_SUCCESS;
279 }
280
281
GetCurrentChannelId(struct IAudioRenderVdi* render, uint32_t *channelId)282 static int32_t GetCurrentChannelId(struct IAudioRenderVdi* render, uint32_t *channelId)
283 {
284 if (render == NULL || channelId == NULL) {
285 return HDF_FAILURE;
286 }
287
288 (void *)channelId;
289
290 return HDF_SUCCESS;
291 }
292
SetExtraParams(struct IAudioRenderVdi* render, const char *keyValueList)293 static int32_t SetExtraParams(struct IAudioRenderVdi* render, const char *keyValueList)
294 {
295 if (render == NULL || keyValueList == NULL) {
296 return HDF_FAILURE;
297 }
298
299 (void *)keyValueList;
300
301 return HDF_SUCCESS;
302 }
303
GetExtraParams(struct IAudioRenderVdi* render, char *keyValueList, uint32_t keyValueListLen)304 static int32_t GetExtraParams(struct IAudioRenderVdi* render, char *keyValueList, uint32_t keyValueListLen)
305 {
306 if (render == NULL || keyValueList == NULL) {
307 return HDF_FAILURE;
308 }
309 (void *)keyValueList;
310 (void)keyValueListLen;
311 return HDF_SUCCESS;
312 }
313
ReqMmapBuffer(struct IAudioRenderVdi* render, int32_t reqSize, struct AudioMmapBufferDescriptor *desc)314 static int32_t ReqMmapBuffer(struct IAudioRenderVdi* render, int32_t reqSize,
315 struct AudioMmapBufferDescriptor *desc)
316 {
317 if (render == NULL || desc == NULL) {
318 return HDF_FAILURE;
319 }
320 (void *)desc;
321 (void)reqSize;
322 return HDF_SUCCESS;
323 }
324
GetMmapPosition(struct IAudioRenderVdi* render, uint64_t *frames, struct AudioTimeStamp *time)325 static int32_t GetMmapPosition(struct IAudioRenderVdi* render, uint64_t *frames, struct AudioTimeStamp *time)
326 {
327 if (render == NULL || frame == NULL) {
328 return HDF_FAILURE;
329 }
330 (void)effectid;
331 return HDF_SUCCESS;
332 }
333
AddAudioEffect(struct IAudioRenderVdi* render, uint64_t effectid)334 static int32_t AddAudioEffect(struct IAudioRenderVdi* render, uint64_t effectid)
335 {
336 if (render == NULL) {
337 return HDF_FAILURE;
338 }
339 (void)effectid;
340 return HDF_SUCCESS;
341 }
342
RemoveAudioEffect(struct IAudioRenderVdi* render, uint64_t effectid)343 static int32_t RemoveAudioEffect(struct IAudioRenderVdi* render, uint64_t effectid)
344 {
345 if (render == NULL) {
346 return HDF_FAILURE;
347 }
348 (void)effectid;
349 return HDF_SUCCESS;
350 }
351
GetFrameBufferSize(struct IAudioRenderVdi* render, uint64_t *bufferSize)352 static int32_t GetFrameBufferSize(struct IAudioRenderVdi* render, uint64_t *bufferSize)
353 {
354 if (render == NULL || bufferSize == NULL) {
355 return HDF_FAILURE;
356 }
357 (void *)bufferSize;
358 return HDF_SUCCESS;
359 }
360
Start(struct IAudioRenderVdi* render)361 static int32_t Start(struct IAudioRenderVdi* render)
362 {
363 if (render == NULL) {
364 return HDF_FAILURE;
365 }
366 return HDF_SUCCESS;
367 }
368
Stop(struct IAudioRenderVdi* render)369 static int32_t Stop(struct IAudioRenderVdi* render)
370 {
371 if (render == NULL) {
372 return HDF_FAILURE;
373 }
374 return HDF_SUCCESS;
375 }
376
Pause(struct IAudioRenderVdi* render)377 static int32_t Pause(struct IAudioRenderVdi* render)
378 {
379 if (render == NULL) {
380 return HDF_FAILURE;
381 }
382 return HDF_SUCCESS;
383 }
384
Resume(struct IAudioRenderVdi* render)385 static int32_t Resume(struct IAudioRenderVdi* render)
386 {
387 if (render == NULL) {
388 return HDF_FAILURE;
389 }
390 return HDF_SUCCESS;
391 }
392
Flush(struct IAudioRenderVdi* render)393 static int32_t Flush(struct IAudioRenderVdi* render)
394 {
395 if (render == NULL) {
396 return HDF_FAILURE;
397 }
398 return HDF_SUCCESS;
399 }
400
TurnStandbyMode(struct IAudioRenderVdi* render)401 static int32_t TurnStandbyMode(struct IAudioRenderVdi* render)
402 {
403 if (render == NULL) {
404 return HDF_FAILURE;
405 }
406 return HDF_SUCCESS;
407 }
408
AudioDevDump(struct IAudioRenderVdi* render, int32_t range, int32_t fd)409 static int32_t AudioDevDump(struct IAudioRenderVdi* render, int32_t range, int32_t fd)
410 {
411 if (render == NULL) {
412 return HDF_FAILURE;
413 }
414
415 (void)range;
416 (void)fd;
417 return HDF_SUCCESS;
418 }
419
IsSupportsPauseAndResume(struct IAudioRenderVdi* render, bool *supportPause, bool *supportResume)420 static int32_t IsSupportsPauseAndResume(struct IAudioRenderVdi* render, bool *supportPause, bool *supportResume)
421 {
422 if (render == NULL || supportPause == NULL || supportResume == NULL) {
423 return HDF_FAILURE;
424 }
425
426 (void *)supportPause;
427 (void *)supportResume;
428 return HDF_SUCCESS;
429 }
430
SetbufferSize(struct IAudioRenderVdi* render, uint32_t size)431 static int32_t SetbufferSize(struct IAudioRenderVdi* render, uint32_t size)
432 {
433 if (render == NULL) {
434 return HDF_FAILURE;
435 }
436
437 (void)size;
438 return HDF_SUCCESS;
439 }