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 }