Device Settings HAL 0.2.0
 
Loading...
Searching...
No Matches
dsAudio.h
Go to the documentation of this file.
1/*
2 * If not stated otherwise in this file or this component's LICENSE file the
3 * following copyright and licenses apply:
4 *
5 * Copyright 2016 RDK Management
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18*/
19
20/**
21 * @file dsAudio.h
22 *
23 * @brief Device Settings HAL Audio Public APIs.
24 * These APIs define the HAL for the Device Settings Audio interface.
25 *
26 * @par Document
27 * Document reference.
28 *
29 * @par Open Issues (in no particular order)
30 * -# None
31 *
32 * @par Assumptions
33 * -# None
34 *
35 * @par Abbreviations
36 * - `DS` - Device Settings
37 * - `HAL` - Hardware Abstraction Layer
38 * - `API` - Application Programming Interface
39 * - `Caller` - Any user of the interface via the `APIs`
40 * - `CB` - Callback function (suffix)
41 * - `ARC` - Audio Return Channel
42 * - `eARC` - Enhanced Audio Return Channel
43 * - `HDMI` - High-Definition Multimedia Interface
44 * - `LE` - Loudness Equivalence
45 * - `DRC` - Dynamic Range Control
46 * - `MI` - Media Intelligent
47 * - `RF` - Radio Frequency
48 * - `dB` - Decibel
49 * - `MS12` - MultiStream 12
50 * - `AC4` - Audio Compression 4
51 * - `ms` - milliseconds
52 * - `CPU` - Central Processing Unit
53 * - `SAD` - Short Audio Descriptor
54 * - `DAPV2` - Dolby Audio Processing Version 2
55 * - `DE` - Dialog Enhacement
56 *
57 * @par Implementation Notes
58 * -# None
59 *
60 */
61
62/**
63 * @addtogroup HPK Hardware Porting Kit
64 * @{
65 * @par The Hardware Porting Kit
66 * HPK is the next evolution of the well-defined Hardware Abstraction Layer
67 * (HAL), but augmented with more comprehensive documentation and test suites
68 * that OEM or SOC vendors can use to self-certify their ports before taking
69 * them to RDKM for validation or to an operator for final integration and
70 * deployment. The Hardware Porting Kit effectively enables an OEM and/or SOC
71 * vendor to self-certify their own Video Accelerator devices, with minimal RDKM
72 * assistance.
73 *
74 */
75
76/**
77 * @addtogroup Device_Settings Device Settings Module
78 * @{
79 */
80
81/**
82 * @addtogroup Device_Settings_HAL Device Settings HAL
83 * @par Application API Specification
84 * Described herein are the DeviceSettings HAL types and functions that are part of
85 * the Audio subsystem. The Audio subsystem manages system-specific HAL operations.
86 * @{
87 */
88
89/**
90* @defgroup dsAudio_HAL DS Audio HAL
91 * @{
92 * @par Application API Specification
93 * dsAudio HAL provides an interface for managing the Audio settings for the device settings module
94 */
95
96/**
97 * @defgroup DSHAL_AUDIO_API DS HAL Audio Public APIs
98 * @{
99 */
100
101#ifndef _DS_AUDIOOUTPORT_H_
102#define _DS_AUDIOOUTPORT_H_
103
104#ifdef __cplusplus
105extern "C" {
106#endif
107
108#include <sys/types.h>
109#include "dsError.h"
110#include "dsTypes.h"
111
112/**
113 * @brief Callback function used to notify the Audio port connection status change to the `caller`.
114 *
115 * HAL Implementation should call this method to deliver updated audio port connection event
116 * to the `caller`.
117 *
118 * @param[in] portType - Type of the audio port where connection status is changed. Please refer ::dsAudioPortType_t
119 * @param[in] uiPortNo - Port number in which the connection status changed. @link dsAudioPORT_NUM_MAX @endlink
120 * @param[in] isPortCon - Current connection status of the audio port
121 *
122 * @pre - dsAudioOutRegisterConnectCB
123 */
124typedef void (*dsAudioOutPortConnectCB_t)(dsAudioPortType_t portType, unsigned int uiPortNo, bool isPortCon);
125
126/**
127 * @brief Callback function used to notify Audio Format change to the `caller`.
128 *
129 * HAL Implementation should call this method to deliver updated audio format event
130 * to the `caller`.
131 *
132 * @param[in] audioFormat : New audio format of the active port. Please refer ::dsAudioFormat_t
133 *
134 * @pre - dsAudioFormatUpdateRegisterCB
135 */
136typedef void (*dsAudioFormatUpdateCB_t)(dsAudioFormat_t audioFormat);
137
138/**
139 * @brief Call back function used to notify audio sink Atmos capability change
140 *
141 * HAL Implementation should call this method to deliver updated atmos capability change event
142 * to the `caller`.
143 *
144 * @param[in] atmosCaps - current atmos capability of the sink device
145 * @param[in] status - atmos caps status ( @a true to enable, @a false to disable)
146 *
147 * @pre - dsAudioAtmosCapsChangeRegisterCB()
148 */
149typedef void (*dsAtmosCapsChangeCB_t) (dsATMOSCapability_t atmosCaps, bool status);
150
151/**
152 * @brief Initializes the audio port sub-system of Device Settings HAL.
153 *
154 * This function initializes all the audio output ports and allocates required resources.
155 * It must return dsERR_OPERATION_NOT_SUPPORTED when there are no audio ports present in the device
156 * (e.g. a headless gateway device).
157 *
158 * @return dsError_t - Status
159 * @retval dsERR_NONE - Success
160 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
161 * @retval dsERR_GENERAL - Underlying undefined platform error
162 *
163 * @warning This API is Not thread safe.
164 *
165 * @see dsAudioPortTerm()
166 *
167 */
169
170/**
171 * @brief Gets the audio port handle.
172 *
173 * This function returns the handle for the type of audio port requested. It must return
174 * dsERR_OPERATION_NOT_SUPPORTED if an unavailable audio port is requested.
175 *
176 * @param[in] type - Type of audio port (HDMI, SPDIF and so on). Please refer ::dsAudioPortType_t
177 * @param[in] index - Index of audio port depending on the available ports(0, 1, ...). Maximum value of number of ports is platform specific. Please refer ::dsAudioPortConfig_t
178 * @param[out] handle - Pointer to hold the handle of the audio port
179 *
180 * @return dsError_t - Status
181 * @retval dsERR_NONE - Success
182 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid(port is not present or index is out of range)
183 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
184 * @retval dsERR_GENERAL - Underlying undefined platform error
185 *
186 * @pre dsAudioPortInit() should be called before calling this API.
187 *
188 * @warning This API is Not thread safe.
189 */
190dsError_t dsGetAudioPort(dsAudioPortType_t type, int index, intptr_t *handle);
191
192/**
193 * @brief Gets the encoding type of an audio port
194 *
195 * This function returns the current audio encoding setting for the specified audio port.
196 *
197 * @param[in] handle - Handle for the output audio port
198 * @param[out] encoding - Pointer to hold the encoding setting of the audio port. Please refer ::dsAudioEncoding_t
199 *
200 * @return dsError_t - Status
201 * @retval dsERR_NONE - Success
202 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
203 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
204 * @retval dsERR_GENERAL - Underlying undefined platform error
205 *
206 * @pre dsAudioPortInit() and dsGetAudioPort() should be called in this order before calling this API.
207 *
208 * @warning This API is Not thread safe.
209 *
210 * @see dsSetAudioEncoding()
211 */
213
214/**
215 * @brief Gets the current audio format.
216 *
217 * This function returns the current audio format of the specified audio output port(like PCM, DOLBY AC3). Please refer ::dsAudioFormat_t
218 *
219 * @param[in] handle - Handle for the output audio port
220 * @param[out] audioFormat - Pointer to hold the audio format
221 *
222 * @return dsError_t - Status
223 * @retval dsERR_NONE - Success
224 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
225 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
226 * @retval dsERR_GENERAL - Underlying undefined platform error
227 *
228 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
229 *
230 * @warning This API is Not thread safe.
231 */
232dsError_t dsGetAudioFormat(intptr_t handle, dsAudioFormat_t *audioFormat);
233
234/**
235 * @brief Gets the audio compression of the specified audio port.
236 *
237 * This function returns the audio compression level used in the audio port corresponding to specified port handle.
238 *
239 * @param[in] handle - Handle for the output audio port
240 * @param[out] compression - Pointer to hold the compression value of the specified audio port. (Value ranges from 0 to 10)
241 *
242 * @return dsError_t - Status
243 * @retval dsERR_NONE - Success
244 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
245 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
246 * @retval dsERR_GENERAL - Underlying undefined platform error
247 *
248 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
249 *
250 * @warning This API is Not thread safe.
251 *
252 * @see dsSetAudioCompression()
253 */
254dsError_t dsGetAudioCompression(intptr_t handle, int *compression);
255
256/**
257 * @brief Gets the Dialog Enhancement level of the audio port.
258 *
259 * This function returns the dialog enhancement level of the audio port corresponding to the specified port handle.
260 *
261 * @param[in] handle - Handle for the output audio port
262 * @param[out] level - Pointer to Dialog Enhancement level (Value ranges from 0 to 16)
263 *
264 * @return dsError_t - Status
265 * @retval dsERR_NONE - Success
266 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
267 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
268 * @retval dsERR_GENERAL - Underlying undefined platform error
269 *
270 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
271 *
272 * @warning This API is Not thread safe.
273 *
274 * @see dsSetDialogEnhancement()
275 */
276dsError_t dsGetDialogEnhancement(intptr_t handle, int *level);
277
278/**
279 * @brief Gets the dolby audio mode status of an audio port.
280 *
281 * This function returns the dolby audio mode status used in the audio port corresponding to the specified port handle.
282 *
283 * @param[in] handle - Handle for the output audio port
284 * @param[out] mode - Dolby volume mode
285 * ( @a true if Dolby Volume mode is enabled, and @a false if disabled)
286 *
287 * @return dsError_t - Status
288 * @retval dsERR_NONE - Success
289 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
290 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
291 * @retval dsERR_GENERAL - Underlying undefined platform error
292 *
293 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
294 *
295 * @warning This API is Not thread safe.
296 *
297 * @see dsSetDolbyVolumeMode()
298 */
299dsError_t dsGetDolbyVolumeMode(intptr_t handle, bool *mode);
300
301/**
302 * @brief Gets the Intelligent Equalizer Mode.
303 *
304 * This function returns the Intelligent Equalizer Mode setting used in the audio port corresponding to specified Port handle.
305 *
306 * @param[in] handle - Handle for the output audio port.
307 * @param[out] mode - Pointer to Intelligent Equalizer mode. 0 = OFF, 1 = Open, 2 = Rich, 3 = Focused,
308 * 4 = Balanced, 5 = Warm, 6 = Detailed
309 *
310 * @return dsError_t - Status
311 * @retval dsERR_NONE - Success
312 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
313 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
314 * @retval dsERR_GENERAL - Underlying undefined platform error
315 *
316 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
317 *
318 * @warning This API is Not thread safe.
319 *
320 * @see dsSetIntelligentEqualizerMode()
321 */
322dsError_t dsGetIntelligentEqualizerMode(intptr_t handle, int *mode);
323
324/**
325 * @brief Gets the Dolby volume leveller settings.
326 *
327 * This function returns the Volume leveller(mode and level) value used in the audio port corresponding to specified port handle.
328 *
329 * @param[in] handle - Handle for the output Audio port
330 * @param[out] volLeveller - Pointer to Volume Leveller. Please refer ::dsVolumeLeveller_t
331 *
332 * @return dsError_t - Status
333 * @retval dsERR_NONE - Success
334 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
335 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
336 * @retval dsERR_GENERAL - Underlying undefined platform error
337 *
338 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
339 *
340 * @warning This API is Not thread safe.
341 *
342 * @see dsSetVolumeLeveller()
343 */
344dsError_t dsGetVolumeLeveller(intptr_t handle, dsVolumeLeveller_t* volLeveller);
345
346/**
347 * @brief Gets the audio Bass
348 *
349 * This function returns the Bass used in a given audio port
350 *
351 * @param[in] handle - Handle for the output Audio port
352 * @param[out] boost - Pointer to Bass Enhancer boost value (ranging from 0 to 100)
353 *
354 * @return dsError_t - Status
355 * @retval dsERR_NONE - Success
356 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
357 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
358 * @retval dsERR_GENERAL - Underlying undefined platform error
359 *
360 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
361 *
362 * @warning This API is Not thread safe.
363 *
364 * @see dsSetBassEnhancer()
365 */
366dsError_t dsGetBassEnhancer(intptr_t handle, int *boost);
367
368/**
369 * @brief Gets the audio Surround Decoder enabled/disabled status
370 *
371 * This function returns enable/disable status of surround decoder
372 *
373 * @param[in] handle - Handle for the output Audio port
374 * @param[out] enabled - Pointer to Surround Decoder enabled(1)/disabled(0) value
375 *
376 * @return dsError_t - Status
377 * @retval dsERR_NONE - Success
378 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
379 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
380 * @retval dsERR_GENERAL - Underlying undefined platform error
381 *
382 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
383 *
384 * @warning This API is Not thread safe.
385 *
386 * @see dsEnableSurroundDecoder()
387 */
388dsError_t dsIsSurroundDecoderEnabled(intptr_t handle, bool *enabled);
389
390/**
391 * @brief Gets the DRC Mode of the specified Audio Port.
392 *
393 * This function returns the Dynamic Range Control used in the audio port corresponding to specified port handle.
394 *
395 * @param[in] handle - Handle for the output Audio port
396 * @param[out] mode - Pointer to DRC mode (0 for DRC line mode and 1 for DRC RF mode)
397 *
398 * @return dsError_t - Status
399 * @retval dsERR_NONE - Success
400 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
401 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
402 * @retval dsERR_GENERAL - Underlying undefined platform error
403 *
404 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
405 *
406 * @warning This API is Not thread safe.
407 *
408 * @see dsSetDRCMode()
409 */
410dsError_t dsGetDRCMode(intptr_t handle, int *mode);
411
412/**
413 * @brief Gets the audio Surround Virtualizer level.
414 *
415 * This function returns the Surround Virtualizer level(mode and boost) used in the audio port corresponding to specified port handle.
416 *
417 * @param[in] handle - Handle for the output Audio port
418 * @param[out] virtualizer - Surround virtualizer setting. Please refer ::dsSurroundVirtualizer_t
419 *
420 * @return dsError_t - Status
421 * @retval dsERR_NONE - Success
422 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
423 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
424 * @retval dsERR_GENERAL - Underlying undefined platform error
425 *
426 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
427 *
428 * @warning This API is Not thread safe.
429 *
430 * @see dsSetSurroundVirtualizer()
431 */
433
434/**
435 * @brief Gets the Media Intelligent Steering of the audio port.
436 *
437 * This function returns enable/disable status of Media Intelligent Steering for the audio port corresponding to specified port handle.
438 *
439 * @param[in] handle - Handle for the output Audio port
440 * @param[out] enabled - MI Steering enabled(1)/disabled(0) value
441 *
442 * @return dsError_t - Status
443 * @retval dsERR_NONE - Success
444 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
445 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
446 * @retval dsERR_GENERAL - Underlying undefined platform error
447 *
448 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
449 *
450 * @warning This API is Not thread safe.
451 *
452 * @see dsSetMISteering()
453 */
454dsError_t dsGetMISteering(intptr_t handle, bool *enabled);
455
456/**
457 * @brief Gets the Graphic Equalizer Mode.
458 *
459 * This function returns the Graphic Equalizer Mode setting used in the audio port corresponding to the specified port handle.
460 *
461 * @param[in] handle - Handle for the output audio port.
462 * @param[out] mode - Graphic Equalizer Mode. 0 = EQ OFF, 1 = EQ Open, 2 = EQ Rich and 3 = EQ Focused
463 *
464 * @return dsError_t - Status
465 * @retval dsERR_NONE - Success
466 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
467 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
468 * @retval dsERR_GENERAL - Underlying undefined platform error
469 *
470 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
471 *
472 * @warning This API is Not thread safe.
473 *
474 * @see dsSetGraphicEqualizerMode()
475 */
476dsError_t dsGetGraphicEqualizerMode(intptr_t handle, int *mode);
477
478/**
479 * @brief Gets the supported MS12 audio profiles
480 *
481 * This function will get the list of supported MS12 audio profiles
482 *
483 * @param[in] handle - Handle for the output Audio port
484 * @param[out] profiles - List of supported audio profiles. Please refer ::dsMS12AudioProfileList_t
485 *
486 * @return dsError_t - Status
487 * @retval dsERR_NONE - Success
488 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
489 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
490 * @retval dsERR_GENERAL - Underlying undefined platform error
491 *
492 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
493 *
494 * @warning This API is Not thread safe.
495 *
496 * @see dsSetMS12AudioProfile()
497 */
499
500/**
501 * @brief Gets current audio profile selection
502 *
503 * This function gets the current audio profile configured
504 *
505 * @param[in] handle - Handle for the output Audio port
506 * @param[out] profile - Audio profile configured currently
507 *
508 * @return dsError_t - Status
509 * @retval dsERR_NONE - Success
510 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
511 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
512 * @retval dsERR_GENERAL - Underlying undefined platform error
513 *
514 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
515 *
516 * @warning This API is Not thread safe.
517 *
518 * @see dsSetMS12AudioProfile()
519 */
520dsError_t dsGetMS12AudioProfile(intptr_t handle, char *profile);
521
522/**
523 * @brief Gets the supported ARC types of the connected ARC/eARC device
524 *
525 * This function gets the supported ARC types of the connected device on ARC/eARC port.
526 *
527 * @param[in] handle - Handle for the HDMI ARC/eARC port
528 * @param[out] types - Value of supported ARC types. Please refer ::dsAudioARCTypes_t
529 *
530 * @return dsError_t - Status
531 * @retval dsERR_NONE - Success
532 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
533 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
534 * @retval dsERR_GENERAL - Underlying undefined platform error
535 *
536 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
537 *
538 * @warning This API is Not thread safe.
539 */
540dsError_t dsGetSupportedARCTypes(intptr_t handle, int *types);
541
542/**
543 * @brief Sets Short Audio Descriptor retrieved from CEC for the connected ARC device
544 *
545 * This function sets the Short Audio Descriptor based on best available options
546 * of Audio capabilities supported by connected ARC device. Required when ARC output
547 * mode is Auto/Passthrough. Please refer ::dsAudioSADList_t, ::dsSetStereoMode
548 *
549 * @param[in] handle - Handle for the HDMI ARC/eARC port.
550 * @param[in] sad_list - All SADs retrieved from CEC for the connected ARC device.
551 *
552 * @return dsError_t - Status
553 * @retval dsERR_NONE - Success
554 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
555 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
556 * @retval dsERR_GENERAL - Underlying undefined platform error
557 *
558 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
559 *
560 * @warning This API is Not thread safe.
561 */
562dsError_t dsAudioSetSAD(intptr_t handle, dsAudioSADList_t sad_list);
563
564/**
565 * @brief Enable/Disable ARC/EARC and route audio to connected device.
566 *
567 * This function enables/disables ARC/EARC and routes audio to connected device. Please refer ::dsAudioARCStatus_t and ::dsAudioARCTypes_t
568 *
569 * @param[in] handle - Handle for the HDMI ARC/eARC port
570 * @param[in] arcStatus - ARC/eARC feature. Please refer ::dsAudioARCStatus_t
571 * ( @a true to enable ARC/eARC, @a false to disable )
572 *
573 * @return dsError_t - Status
574 * @retval dsERR_NONE - Success
575 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
576 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
577 * @retval dsERR_GENERAL - Underlying undefined platform error
578 *
579 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
580 *
581 * @warning This API is Not thread safe.
582 */
584
585/**
586 * @brief Gets the stereo mode of an audio port.
587 *
588 * This function returns the stereo mode setting for the audio port corresponding to specified port handle.
589 *
590 * @param[in] handle - Handle for the output audio port
591 * @param[out] stereoMode - Pointer to hold the stereo mode setting of the
592 * specified audio port. Please refer ::dsAudioStereoMode_t
593 *
594 * @return dsError_t - Status
595 * @retval dsERR_NONE - Success
596 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
597 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
598 * @retval dsERR_GENERAL - Underlying undefined platform error
599 *
600 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
601 *
602 * @warning This API is Not thread safe.
603 *
604 * @see dsSetStereoMode()
605 */
606dsError_t dsGetStereoMode(intptr_t handle, dsAudioStereoMode_t *stereoMode);
607
608/**
609 * @brief Checks if auto mode is enabled or not for the current audio port.
610 *
611 * This function returns the current auto mode of audio port corresponding to specified port handle.
612 *
613 * @param[in] handle - Handle for the output audio port
614 * @param[out] autoMode - Pointer to hold the auto mode setting ( @a if enabled, @a false if disabled) of the specified audio port
615 *
616 * @return dsError_t - Status
617 * @retval dsERR_NONE - Success
618 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
619 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
620 * @retval dsERR_GENERAL - Underlying undefined platform error
621 *
622 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
623 *
624 * @warning This API is Not thread safe.
625 *
626 * @see dsSetStereoAuto()
627 */
628dsError_t dsGetStereoAuto(intptr_t handle, int *autoMode);
629
630/**
631 * @brief Gets the audio gain of an audio port.
632 *
633 * This function returns the current audio gain for the audio port corresponding to specified port handle.
634 *
635 * @param[in] handle - Handle for the output audio port
636 * @param[out] gain - Pointer to hold the audio gain value of the specified audio port.
637 The gain ranges between -2080 and 480
638 *
639 * @return dsError_t - Status
640 * @retval dsERR_NONE - Success
641 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
642 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
643 * @retval dsERR_GENERAL - Underlying undefined platform error
644 *
645 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
646 *
647 * @warning This API is Not thread safe.
648 *
649 * @see dsSetAudioGain()
650 */
651dsError_t dsGetAudioGain(intptr_t handle, float *gain);
652
653/**
654 * @brief Gets the current audio dB level of an audio port.
655 *
656 * This function returns the current audio dB level for the audio port corresponding to specified port handle.
657 * The Audio dB level ranges from -1450 to 180 dB
658 *
659 * @param[in] handle - Handle for the output audio port
660 * @param[out] db - Pointer to hold the Audio dB level of the specified audio port
661 *
662 * @return dsError_t - Status
663 * @retval dsERR_NONE - Success
664 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
665 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
666 * @retval dsERR_GENERAL - Underlying undefined platform error
667 *
668 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
669 *
670 * @warning This API is Not thread safe.
671 *
672 * @see dsSetAudioDB()
673 */
674dsError_t dsGetAudioDB(intptr_t handle, float *db);
675
676/**
677 * @brief Gets the current audio volume level of an audio port.
678 *
679 * This function returns the current audio volume level of audio port corresponding to specified port handle.
680 *
681 * @param[in] handle - Handle for the output audio port
682 * @param[out] level - Pointer to hold the audio level value (ranging from 0 to 100) of the specified audio port
683 *
684 * @return dsError_t - Status
685 * @retval dsERR_NONE - Success
686 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
687 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
688 * @retval dsERR_GENERAL - Underlying undefined platform error
689 *
690 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
691 *
692 * @warning This API is Not thread safe.
693 *
694 * @see dsSetAudioLevel()
695 */
696dsError_t dsGetAudioLevel(intptr_t handle, float *level);
697
698/**
699 * @brief Gets the maximum audio dB level of an audio port.
700 *
701 * This function returns the maximum audio dB level supported by the audio port corresponding to specified port handle(platform specific).
702 *
703 * @param[in] handle - Handle for the output audio port
704 * @param[out] maxDb - Pointer to hold the maximum audio dB value (float value e.g:10.0) supported by the specified audio port(platform specific)
705 * Maximum value can be 180 dB
706 *
707 * @return dsError_t - Status
708 * @retval dsERR_NONE - Success
709 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
710 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
711 * @retval dsERR_GENERAL - Underlying undefined platform error
712 *
713 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
714 *
715 * @warning This API is Not thread safe.
716 */
717dsError_t dsGetAudioMaxDB(intptr_t handle, float *maxDb);
718
719/**
720 * @brief Gets the minimum audio dB level of an audio port.
721 *
722 * This function returns the minimum audio dB level supported by the audio port corresponding to specified port handle.
723 *
724 * @param[in] handle - Handle for the output audio port
725 * @param[out] minDb - Pointer to hold the minimum audio dB value (float. e.g: 0.0) supported by the specified audio port(platform specific)
726 * Minimum value can be -1450 dB
727 *
728 * @return dsError_t - Status
729 * @retval dsERR_NONE - Success
730 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
731 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
732 * @retval dsERR_GENERAL - Underlying undefined platform error
733 *
734 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
735 *
736 * @warning This API is Not thread safe.
737 */
738dsError_t dsGetAudioMinDB(intptr_t handle, float *minDb);
739
740/**
741 * @brief Gets the optimal audio level of an audio port.
742 *
743 * This function returns the optimal audio level (dB) of the audio port corresponding to specified port handle(platform specific).
744 *
745 * @param[in] handle - Handle for the output audio port
746 * @param[out] optimalLevel - Pointer to hold the optimal level value of the specified audio port(platform specific)
747 *
748 * @return dsError_t - Status
749 * @retval dsERR_NONE - Success
750 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
751 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
752 * @retval dsERR_GENERAL - Underlying undefined platform error
753 *
754 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
755 *
756 * @warning This API is Not thread safe.
757 */
758dsError_t dsGetAudioOptimalLevel(intptr_t handle, float *optimalLevel);
759
760/**
761 * @brief Gets the audio delay (in ms) of an audio port
762 *
763 * This function returns the audio delay (in milliseconds) of audio port with respect to video corresponding to the specified port handle.
764 *
765 * @param[in] handle - Handle for the output Audio port
766 * @param[out] audioDelayMs - Pointer to Audio delay ( ranges from 0 to 200 milliseconds )
767 *
768 * @return dsError_t - Status
769 * @retval dsERR_NONE - Success
770 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
771 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
772 * @retval dsERR_GENERAL - Underlying undefined platform error
773 *
774 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
775 *
776 * @warning This API is Not thread safe.
777 *
778 * @see dsSetAudioDelay()
779 */
780dsError_t dsGetAudioDelay(intptr_t handle, uint32_t *audioDelayMs);
781
782/**
783 * @brief Gets the audio delay offset (in ms) of an audio port.
784 *
785 * This function returns the audio delay offset (in milliseconds) of the audio port corresponding to specified port handle.
786 *
787 * @param[in] handle - Handle for the output Audio port
788 * @param[out] audioDelayOffsetMs - Audio delay offset in milliseconds
789 *
790 * @return dsError_t - Status
791 * @retval dsERR_NONE - Success
792 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
793 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
794 * @retval dsERR_GENERAL - Underlying undefined platform error
795 *
796 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
797 *
798 * @warning This API is Not thread safe.
799 *
800 * @see dsSetAudioDelayOffset()
801 */
802dsError_t dsGetAudioDelayOffset(intptr_t handle, uint32_t *audioDelayOffsetMs);
803
804/**
805 * @brief Sets the audio ATMOS output mode.
806 *
807 * This function will set the Audio Atmos output mode.
808 *
809 * @param[in] handle - Handle for the output Audio port
810 * @param[in] enable - Audio ATMOS output mode( @a true to enable @a false to disable)
811 *
812 * @return dsError_t - Status
813 * @retval dsERR_NONE - Success
814 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
815 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
816 * @retval dsERR_GENERAL - Underlying undefined platform error
817 *
818 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
819 *
820 * @warning This API is Not thread safe.
821 */
822dsError_t dsSetAudioAtmosOutputMode(intptr_t handle, bool enable);
823
824/**
825 * @brief Gets the ATMOS capability of the sink device.
826 *
827 * This function returns the ATMOS capability of the sink device.
828 *
829 * @param[in] handle - Handle for the output Audio port
830 * @param[out] capability - ATMOS capability of sink device. Please refer ::dsATMOSCapability_t
831 *
832 * @return dsError_t - Status
833 * @retval dsERR_NONE - Success
834 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
835 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
836 * @retval dsERR_GENERAL - Underlying undefined platform error
837 *
838 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
839 *
840 * @warning This API is Not thread safe.
841 */
843
844/**
845 * @brief Gets the loop-through mode of an audio port.
846 *
847 * This function is used to check if the audio port is configured for loop-through.
848 *
849 * @param[in] handle - Handle for the output audio port
850 * @param[out] loopThru - Status of loop-through feature for the specified audio port
851 * ( @a true when output is looped through, @a false otherwise)
852 *
853 * @return dsError_t - Status
854 * @retval dsERR_NONE - Success
855 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
856 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
857 * @retval dsERR_GENERAL - Underlying undefined platform error
858 *
859 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
860 *
861 * @warning This API is Not thread safe.
862 */
863dsError_t dsIsAudioLoopThru(intptr_t handle, bool *loopThru);
864
865/**
866 * @brief Gets the audio mute status of an audio port corresponding to the specified port handle.
867 *
868 * This function is used to check whether the audio on a specified port is muted or not.
869 *
870 * @param[in] handle - Handle for the output audio port
871 * @param[out] muted - Mute status of the specified audio port
872 * ( @a true if audio is muted, @a false otherwise)
873 *
874 * @return dsError_t - Status
875 * @retval dsERR_NONE - Success
876 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
877 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
878 * @retval dsERR_GENERAL - Underlying undefined platform error
879 *
880 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
881 *
882 * @warning This API is Not thread safe.
883 *
884 * @see dsSetAudioMute()
885 */
886dsError_t dsIsAudioMute(intptr_t handle, bool *muted);
887
888/**
889 * @brief Indicates whether the specified Audio port is enabled or not.
890 *
891 * @param[in] handle - Handle of the output audio port
892 * @param[out] enabled - Audio port enabled/disabled state
893 * ( @a true when audio port is enabled, @a false otherwise)
894 *
895 * @return dsError_t - Status
896 * @retval dsERR_NONE - Success
897 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
898 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
899 * @retval dsERR_GENERAL - Underlying undefined platform error
900 *
901 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
902 *
903 * @warning This API is Not thread safe.
904 *
905 * @see dsEnableAudioPort()
906 */
907dsError_t dsIsAudioPortEnabled(intptr_t handle, bool *enabled);
908
909/**
910 * @brief Enables or Disables the Audio port corresponding to the specified port handle.
911 *
912 * @param[in] handle - Handle of the output audio port
913 * @param[in] enabled - Flag to control the audio port state
914 * ( @a true to enable, @a false to disable)
915 *
916 * @return dsError_t - Status
917 * @retval dsERR_NONE - Success
918 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
919 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
920 * @retval dsERR_GENERAL - Underlying undefined platform error
921 *
922 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
923 *
924 * @warning This API is Not thread safe.
925 *
926 * @see dsIsAudioPortEnabled()
927 */
928dsError_t dsEnableAudioPort(intptr_t handle, bool enabled);
929
930/**
931 * @brief Enables or Disables MS12 DAPV2 and DE feature
932 *
933 * @param[in] handle - Handle of the output audio port
934 * @param[in] feature - Enums for MS12 features. Please refer ::dsMS12FEATURE_t
935 * @param[in] enable - Flag to control the MS12 features
936 * ( @a true to enable, @a false to disable)
937 *
938 * @return dsError_t - Status
939 * @retval dsERR_NONE - Success
940 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
941 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
942 * @retval dsERR_GENERAL - Underlying undefined platform error
943 *
944 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
945 *
946 * @warning This API is Not thread safe.
947 *
948 * @see dsGetMS12AudioProfileList(), dsGetMS12AudioProfile()
949 */
950dsError_t dsEnableMS12Config(intptr_t handle, dsMS12FEATURE_t feature,const bool enable);
951
952/**
953 * @brief Enables or Disables Loudness Equivalence feature.
954 *
955 * @param[in] handle - Handle of the output audio port
956 * @param[in] enable - Flag to control the LE features
957 * ( @a true to enable, @a false to disable)
958 *
959 * @return dsError_t - Status
960 * @retval dsERR_NONE - Success
961 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
962 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
963 * @retval dsERR_GENERAL - Underlying undefined platform error
964 *
965 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
966 *
967 * @warning This API is Not thread safe.
968 *
969 * @see dsGetLEConfig()
970 */
971dsError_t dsEnableLEConfig(intptr_t handle, const bool enable);
972
973/**
974 * @brief Gets the LE (Loudness Equivalence) configuration.
975 *
976 * This function is used to Get LE (Loudness Equivalence) feature of the audio port corresponding to specified port handle.
977 *
978 * @param[in] handle - Handle for the output Audio port
979 * @param[out] enable - Flag which return status of LE features
980 * ( @a true to enable, @a false to disable)
981 *
982 * @return dsError_t - Status
983 * @retval dsERR_NONE - Success
984 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
985 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
986 * @retval dsERR_GENERAL - Underlying undefined platform error
987 *
988 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
989 *
990 * @warning This API is Not thread safe.
991 *
992 * @see dsEnableLEConfig()
993 */
994dsError_t dsGetLEConfig(intptr_t handle, bool *enable);
995
996/**
997 * @brief Sets the encoding type of an audio port
998 *
999 * This function sets the audio encoding type to be used on the specified audio port.
1000 *
1001 * @param[in] handle - Handle for the output audio port
1002 * @param[in] encoding - The encoding type to be used on the audio port. Please refer ::dsAudioEncoding_t
1003 *
1004 * @return dsError_t - Status
1005 * @retval dsERR_NONE - Success
1006 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1007 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1008 * @retval dsERR_GENERAL - Underlying undefined platform error
1009 *
1010 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1011 *
1012 * @warning This API is Not thread safe.
1013 *
1014 * @see dsGetAudioEncoding()
1015 */
1017
1018/**
1019 * @brief Sets the audio compression of an audio port.
1020 *
1021 * This function sets the audio compression level(non-MS12) to be used on the audio port corresponding to the specified port handle.
1022 *
1023 * @param[in] handle - Handle for the output audio port
1024 * @param[in] compression - Audio compression level (value ranges from 0 to 10) to be used on the audio port
1025 *
1026 * @return dsError_t - Status
1027 * @retval dsERR_NONE - Success
1028 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1029 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1030 * @retval dsERR_GENERAL - Underlying undefined platform error
1031 *
1032 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1033 *
1034 * @warning This API is Not thread safe.
1035 *
1036 * @see dsGetAudioCompression()
1037 */
1038dsError_t dsSetAudioCompression(intptr_t handle, int compression);
1039
1040/**
1041 * @brief Sets the Dialog Enhancement level of an audio port.
1042 *
1043 * This function sets the dialog enhancement level to be used in the audio port corresponding to specified port handle.
1044 *
1045 * @param[in] handle - Handle for the output audio port.
1046 * @param[in] level - Dialog Enhancement level. Level ranges from 0 to 16.
1047 *
1048 * @return dsError_t - Status
1049 * @retval dsERR_NONE - Success
1050 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1051 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1052 * @retval dsERR_GENERAL - Underlying undefined platform error
1053 *
1054 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1055 *
1056 * @warning This API is Not thread safe.
1057 *
1058 * @see dsGetDialogEnhancement()
1059 */
1060dsError_t dsSetDialogEnhancement(intptr_t handle, int level);
1061
1062/**
1063 * @brief To enable/disable Dolby Volume Mode.
1064 *
1065 * This function sets the dolby audio mode status to the audio port corresponding to port handle.
1066 *
1067 * @param[in] handle - Handle for the output audio port
1068 * @param[in] mode - Dolby volume mode.
1069 * ( @a true to enable Dolby volume mode and @a false to disable Dolby volume mode )
1070 *
1071 * @return dsError_t - Status
1072 * @retval dsERR_NONE - Success
1073 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1074 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1075 * @retval dsERR_GENERAL - Underlying undefined platform error
1076 *
1077 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1078 *
1079 * @warning This API is Not thread safe.
1080 *
1081 * @see dsGetDolbyVolumeMode()
1082 */
1083dsError_t dsSetDolbyVolumeMode(intptr_t handle, bool mode);
1084
1085/**
1086 * @brief Sets the Intelligent Equalizer Mode.
1087 *
1088 * This function sets the Intelligent Equalizer Mode to be used in the audio port corresponding to the specified port handle.
1089 *
1090 * @param[in] handle - Handle for the output audio port.
1091 * @param[in] mode - Intelligent Equalizer mode. 0 = OFF, 1 = Open, 2 = Rich, 3 = Focused,
1092 * 4 = Balanced, 5 = Warm, 6 = Detailed
1093 *
1094 * @return dsError_t - Status
1095 * @retval dsERR_NONE - Success
1096 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1097 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1098 * @retval dsERR_GENERAL - Underlying undefined platform error
1099 *
1100 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1101 *
1102 * @warning This API is Not thread safe.
1103 *
1104 * @see dsGetIntelligentEqualizerMode()
1105 */
1106dsError_t dsSetIntelligentEqualizerMode(intptr_t handle, int mode);
1107
1108/**
1109 * @brief Sets the Dolby volume leveller settings.
1110 *
1111 * This function sets the Volume leveller(mode and level) value to be used in the audio port corresponding to specified port handle.
1112 *
1113 * @param[in] handle - Handle for the output Audio port
1114 * @param[in] volLeveller - Volume Leveller setting. Please refer ::dsVolumeLeveller_t
1115 *
1116 * @return dsError_t - Status
1117 * @retval dsERR_NONE - Success
1118 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1119 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1120 * @retval dsERR_GENERAL - Underlying undefined platform error
1121 *
1122 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1123 *
1124 * @warning This API is Not thread safe.
1125 *
1126 * @see dsGetVolumeLeveller()
1127 */
1129
1130/**
1131 * @brief Sets the audio Bass
1132 *
1133 * This function sets the Bass to be used in the audio port corresponding to specified port handle.
1134 *
1135 * @param[in] handle - Handle for the output Audio port
1136 * @param[in] boost - Bass Enhancer boost value (ranging from 0 to 100)
1137 *
1138 * @return dsError_t - Status
1139 * @retval dsERR_NONE - Success
1140 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1141 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1142 * @retval dsERR_GENERAL - Underlying undefined platform error
1143 *
1144 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1145 *
1146 * @warning This API is Not thread safe.
1147 *
1148 * @see dsGetBassEnhancer()
1149 */
1150dsError_t dsSetBassEnhancer(intptr_t handle, int boost);
1151
1152/**
1153 * @brief Enables / Disables the audio Surround Decoder.
1154 *
1155 * This function will enable/disable surround decoder of the audio port corresponding to specified port handle.
1156 *
1157 * @param[in] handle - Handle for the output Audio port
1158 * @param[in] enabled - Surround Decoder enabled(1)/disabled(0) value
1159 *
1160 * @return dsError_t - Status
1161 * @retval dsERR_NONE - Success
1162 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1163 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1164 * @retval dsERR_GENERAL - Underlying undefined platform error
1165 *
1166 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1167 *
1168 * @warning This API is Not thread safe.
1169 *
1170 * @see dsIsSurroundDecoderEnabled()
1171 */
1172dsError_t dsEnableSurroundDecoder(intptr_t handle, bool enabled);
1173
1174/**
1175 * @brief Sets the DRC Mode of specified audio port.
1176 *
1177 * This function sets the Dynamic Range Control to be used in the audio port corresponding to port handle.
1178 *
1179 * @param[in] handle - Handle for the output Audio port
1180 * @param[in] mode - DRC mode (0 for DRC Line Mode and 1 for DRC RF mode)
1181 *
1182 * @return dsError_t - Status
1183 * @retval dsERR_NONE - Success
1184 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1185 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1186 * @retval dsERR_GENERAL - Underlying undefined platform error
1187 *
1188 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1189 *
1190 * @warning This API is Not thread safe.
1191 *
1192 * @see dsGetDRCMode()
1193 */
1194dsError_t dsSetDRCMode(intptr_t handle, int mode);
1195
1196/**
1197 * @brief Sets the audio Surround Virtualizer level
1198 *
1199 * This function sets the Surround Virtualizer level(mode and boost) to be used in the audio port corresponding to specified port handle.
1200 *
1201 * @param[in] handle - Handle for the output Audio port
1202 * @param[in] virtualizer - Surround virtualizer setting. Please refer ::dsSurroundVirtualizer_t
1203 *
1204 * @return dsError_t - Status
1205 * @retval dsERR_NONE - Success
1206 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1207 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1208 * @retval dsERR_GENERAL - Underlying undefined platform error
1209 *
1210 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1211 *
1212 * @warning This API is Not thread safe.
1213 *
1214 * @see dsGetSurroundVirtualizer()
1215 */
1217
1218/**
1219 * @brief Set the Media Intelligent Steering of the audio port.
1220 *
1221 * This function sets the enable/disable status of Media Intelligent Steering for the audio port corresponding to specified port handle.
1222 *
1223 * @param[in] handle - Handle for the output Audio port
1224 * @param[in] enabled - MI Steering enabled(1)/disabled(0) value
1225 *
1226 * @return dsError_t - Status
1227 * @retval dsERR_NONE - Success
1228 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1229 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1230 * @retval dsERR_GENERAL - Underlying undefined platform error
1231 *
1232 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1233 *
1234 * @warning This API is Not thread safe.
1235 *
1236 * @see dsGetMISteering()
1237 */
1238dsError_t dsSetMISteering(intptr_t handle, bool enabled);
1239
1240/**
1241 * @brief Sets the Graphic Equalizer Mode.
1242 *
1243 * This function sets the Graphic Equalizer Mode setting to be used in the audio port corresponding to the specified port handle.
1244 *
1245 * @param[in] handle - Handle for the output audio port.
1246 * @param[in] mode - Graphic Equalizer mode. 0 for EQ OFF, 1 for EQ Open, 2 for EQ Rich and 3 for EQ Focused
1247 *
1248 * @return dsError_t - Status
1249 * @retval dsERR_NONE - Success
1250 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1251 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1252 * @retval dsERR_GENERAL - Underlying undefined platform error
1253 *
1254 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1255 *
1256 * @warning This API is Not thread safe.
1257 *
1258 * @see dsGetGraphicEqualizerMode()
1259 */
1260dsError_t dsSetGraphicEqualizerMode(intptr_t handle, int mode);
1261
1262/**
1263 * @brief Sets the MS12 audio profile
1264 *
1265 * This function will configure the user selected ms12 audio profile
1266 *
1267 * @param[in] handle - Handle for the output audio port
1268 * @param[in] profile - Audio profile to be used from the supported list. Please refer ::_dsMS12AudioProfileList_t
1269 *
1270 * @return dsError_t - Status
1271 * @retval dsERR_NONE - Success
1272 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1273 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1274 * @retval dsERR_GENERAL - Underlying undefined platform error
1275 *
1276 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1277 *
1278 * @warning This API is Not thread safe.
1279 *
1280 * @see dsGetMS12AudioProfile(), dsGetMS12AudioProfileList()
1281 */
1282dsError_t dsSetMS12AudioProfile(intptr_t handle, const char* profile);
1283
1284/**
1285 * @brief Sets the stereo mode of an audio port.
1286 *
1287 * This function sets the stereo mode to be used on the audio port corresponding to specified port handle.
1288 *
1289 * @param[in] handle - Handle for the output audio port
1290 * @param[in] mode - Stereo mode to be used on the specified audio port. Please refer ::dsAudioStereoMode_t
1291 *
1292 * @return dsError_t - Status
1293 * @retval dsERR_NONE - Success
1294 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1295 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1296 * @retval dsERR_GENERAL - Underlying undefined platform error
1297 *
1298 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1299 *
1300 * @warning This API is Not thread safe.
1301 *
1302 * @see dsGetStereoMode()
1303 */
1305
1306/**
1307 * @brief Sets the Auto Mode to be used on the audio port.
1308 *
1309 * This function sets the auto mode to be used on the specified audio port.
1310 *
1311 * @param[in] handle - Handle for the output audio port.
1312 * @param[in] autoMode - Indicates the auto mode ( @a true if enabled, @a false if disabled ) to be used on audio port.
1313 *
1314 * @return dsError_t - Status
1315 * @retval dsERR_NONE - Success
1316 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1317 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1318 * @retval dsERR_GENERAL - Underlying undefined platform error
1319 *
1320 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1321 *
1322 * @warning This API is Not thread safe.
1323 *
1324 * @see dsGetStereoAuto()
1325 */
1326dsError_t dsSetStereoAuto(intptr_t handle, int autoMode);
1327
1328/**
1329 * @brief Sets the audio gain of an audio port.
1330 *
1331 * This function sets the gain to be used on the audio port corresponding to specified port handle.
1332 *
1333 * @param[in] handle - Handle for the output audio port
1334 * @param[in] gain - Audio Gain to be used on the audio port value
1335 * The Gain ranges between -2080 and 480
1336 *
1337 * @return dsError_t - Status
1338 * @retval dsERR_NONE - Success
1339 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1340 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1341 * @retval dsERR_GENERAL - Underlying undefined platform error
1342 *
1343 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1344 *
1345 * @warning This API is Not thread safe.
1346 *
1347 * @see dsGetAudioGain()
1348 */
1349dsError_t dsSetAudioGain(intptr_t handle, float gain);
1350
1351/**
1352 * @brief Sets the current audio dB level of an audio port.
1353 *
1354 * This function sets the dB level to be used on the audio port corresponding to specified port handle.
1355 * Max dB is 180 and Min dB is -1450
1356 *
1357 * @param[in] handle - Handle for the output audio port
1358 * @param[in] db - Audio dB level to be used on the audio port
1359 *
1360 *
1361 * @return dsError_t - Status
1362 * @retval dsERR_NONE - Success
1363 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1364 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1365 * @retval dsERR_GENERAL - Underlying undefined platform error
1366 *
1367 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1368 *
1369 * @warning This API is Not thread safe.
1370 *
1371 * @see dsGetAudioDB()
1372 */
1373dsError_t dsSetAudioDB(intptr_t handle, float db);
1374
1375/**
1376 * @brief Sets the audio volume level of an audio port.
1377 *
1378 * This function sets the audio volume level to be used on the audio port corresponding to specified port handle.
1379 *
1380 * @param[in] handle - Handle for the output audio port
1381 * @param[in] level - Volume level value (ranging from 0 to 100) to be used on the specified audio port
1382 *
1383 * @return dsError_t - Status
1384 * @retval dsERR_NONE - Success
1385 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1386 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1387 * @retval dsERR_GENERAL - Underlying undefined platform error
1388 *
1389 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1390 *
1391 * @warning This API is Not thread safe.
1392 *
1393 * @see dsGetAudioLevel()
1394 */
1395dsError_t dsSetAudioLevel(intptr_t handle, float level);
1396
1397/**
1398 * @brief Sets the audio ducking level of an audio port.
1399 *
1400 * This function sets the audio ducking level to be used on the specified audio port based on the audio output mode.
1401 * If output mode is expert mode, this will mute the audio.
1402 *
1403 * @param[in] handle - Handle for the output audio port
1404 * @param[in] action - action type to start or stop ducking. Please refer ::dsAudioDuckingAction_t
1405 * @param[in] type - ducking type is absolute or relative to current volume level. Please refer ::dsAudioDuckingType_t
1406 * @param[in] level - The volume level value from 0 to 100 to be used on the audio port
1407 *
1408 * @return dsError_t - Status
1409 * @retval dsERR_NONE - Success
1410 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1411 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1412 * @retval dsERR_GENERAL - Underlying undefined platform error
1413 *
1414 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1415 *
1416 * @warning This API is Not thread safe.
1417 *
1418 */
1419dsError_t dsSetAudioDucking(intptr_t handle, dsAudioDuckingAction_t action, dsAudioDuckingType_t type, const unsigned char level);
1420
1421/**
1422 * @brief Sets loop-through mode of an audio port.
1423 *
1424 * This function enables/disables audio loop-through on the audio port corresponding to the specified port handle.
1425 *
1426 * @param[in] handle - Handle for the output audio port
1427 * @param[in] loopThru - Flag to enable/disable loop-through
1428 * ( @a true to enable, @a false to disable)
1429 *
1430 * @return dsError_t - Status
1431 * @retval dsERR_NONE - Success
1432 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1433 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1434 * @retval dsERR_GENERAL - Underlying undefined platform error
1435 *
1436 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1437 *
1438 * @warning This API is Not thread safe.
1439 */
1440dsError_t dsEnableLoopThru(intptr_t handle, bool loopThru);
1441
1442/**
1443 * @brief Mutes or un-mutes an audio port.
1444 *
1445 * This function mutes or un-mutes the audio port corresponding to the specified port handle.
1446 *
1447 * @param[in] handle - Handle for the output audio port
1448 * @param[in] mute - Flag to mute/un-mute the audio port
1449 * ( @a true to mute, @a false to un-mute)
1450 *
1451 * @return dsError_t - Status
1452 * @retval dsERR_NONE - Success
1453 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1454 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1455 * @retval dsERR_GENERAL - Underlying undefined platform error
1456 *
1457 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1458 *
1459 * @warning This API is Not thread safe.
1460 *
1461 * @see dsIsAudioMute()
1462 */
1463dsError_t dsSetAudioMute(intptr_t handle, bool mute);
1464
1465/**
1466 * @brief Checks whether the audio port supports Dolby MS11 Multistream Decode.
1467 *
1468 * This function checks whether specified audio port supports Dolby MS11 Multistream decode or not.
1469 *
1470 * @param[in] handle - Handle for the output audio port
1471 * @param[out] HasMS11Decode - MS11 Multistream Decode setting for the specified audio port
1472 * ( @a true if audio port supports Dolby MS11 Multistream Decoding or @a false otherwise )
1473 *
1474 * @return dsError_t - Status
1475 * @retval dsERR_NONE - Success
1476 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1477 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1478 * @retval dsERR_GENERAL - Underlying undefined platform error
1479 *
1480 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1481 *
1482 * @warning This API is Not thread safe.
1483 */
1484dsError_t dsIsAudioMSDecode(intptr_t handle, bool *HasMS11Decode);
1485
1486/**
1487 * @brief Checks whether the audio port supports Dolby MS12 Multistream Decode.
1488 *
1489 * This function checks whether specified audio port supports Dolby MS12 Multistream decode or not.
1490 *
1491 * @param[in] handle - Handle for the output audio port
1492 * @param[out] HasMS12Decode - MS12 Multistream Decode setting
1493 * ( @a true if audio port supports Dolby MS12 Multistream Decoding or @a false otherwise )
1494 *
1495 * @return dsError_t - Status
1496 * @retval dsERR_NONE - Success
1497 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1498 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1499 * @retval dsERR_GENERAL - Underlying undefined platform error
1500 *
1501 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1502 *
1503 * @warning This API is Not thread safe.
1504 *
1505 */
1506dsError_t dsIsAudioMS12Decode(intptr_t handle, bool *HasMS12Decode);
1507
1508/**
1509 * @brief Sets the audio delay (in ms) of an audio port.
1510 *
1511 * This function will set the audio delay (in milliseconds) of audio port corresponding to the specified port handle.
1512 *
1513 * @param[in] handle - Handle for the output Audio port
1514 * @param[in] audioDelayMs - Amount of delay(in milliseconds)
1515 *
1516 * @return dsError_t - Status
1517 * @retval dsERR_NONE - Success
1518 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1519 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1520 * @retval dsERR_GENERAL - Underlying undefined platform error
1521 *
1522 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1523 *
1524 * @warning This API is Not thread safe.
1525 *
1526 * @see dsGetAudioDelay()
1527 */
1528dsError_t dsSetAudioDelay(intptr_t handle, const uint32_t audioDelayMs);
1529
1530/**
1531 * @brief Sets the audio delay offset (in ms) of an audio port.
1532 *
1533 * This function will set the audio delay offset (in milliseconds) of the audio port corresponding to specified port handle.
1534 *
1535 * @param[in] handle - Handle for the output Audio port
1536 * @param[in] audioDelayOffsetMs - Amount of delay offset(in milliseconds)
1537 *
1538 * @return dsError_t - Status
1539 * @retval dsERR_NONE - Success
1540 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1541 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1542 * @retval dsERR_GENERAL - Underlying undefined platform error
1543 *
1544 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1545 *
1546 * @warning This API is Not thread safe.
1547 *
1548 * @see dsGetAudioDelayOffset()
1549 */
1550dsError_t dsSetAudioDelayOffset(intptr_t handle, const uint32_t audioDelayOffsetMs);
1551
1552/**
1553 * @brief Terminate the Audio Port sub-system of Device Settings HAL.
1554 *
1555 * This function terminates all the audio output ports by releasing the audio port specific handles
1556 * and the allocated resources.
1557 *
1558 * @return dsError_t - Status
1559 * @retval dsERR_NONE - Success
1560 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1561 * @retval dsERR_GENERAL - Underlying undefined platform error
1562 *
1563 * @pre dsAudioPortInit() should be called before calling this API.
1564 *
1565 * @warning This API is Not thread safe.
1566 */
1568
1569/**
1570 * @brief Checks if the audio output port is connected or not.
1571 *
1572 * This function is used to check if the audio output port is connected or not.
1573 *
1574 * @param[in] handle - Handle for the output Audio port
1575 * @param[out] pisCon - Flag for audio port connection status
1576 * ( @a true if audio port is connected and @a false if Not Connected)
1577 *
1578 * @return dsError_t - Status
1579 * @retval dsERR_NONE - Success
1580 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1581 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1582 * @retval dsERR_GENERAL - Underlying undefined platform error
1583 *
1584 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1585 *
1586 * @warning This API is Not thread safe.
1587 */
1588dsError_t dsAudioOutIsConnected(intptr_t handle, bool* pisCon);
1589
1590/**
1591 * @brief Registers for the Audio Output Connect Event
1592 *
1593 * This function is used to register for the Audio Output Connect Event
1594 *
1595 * @param[in] CBFunc - Audio output port connect callback function. Please refer ::dsAudioOutPortConnectCB_t
1596 *
1597 * @return dsError_t - Status
1598 * @retval dsERR_NONE - Success
1599 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1600 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1601 * @retval dsERR_GENERAL - Underlying undefined platform error
1602 *
1603 * @pre dsAudioPortInit() should be called before calling this API.
1604 *
1605 * @warning This API is Not thread safe.
1606 */
1608
1609/**
1610 * @brief Registers for the Audio Format Update Event
1611 *
1612 * This function is used to register for the Audio Format Update Event
1613 *
1614 * @param[in] cbFun - Audio format update callback function. Please refer ::dsAudioFormatUpdateCB_t
1615 *
1616 * @return dsError_t - Status
1617 * @retval dsERR_NONE - Success
1618 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1619 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1620 * @retval dsERR_GENERAL - Underlying undefined platform error
1621 *
1622 * @pre dsAudioPortInit() should be called before calling this API.
1623 *
1624 * @warning This API is Not thread safe.
1625 */
1627
1628/**
1629 * @brief Register for the Atmos capability change event of the sink device
1630 *
1631 * @param[in] cbFun - Atmos Capability chance callback function. Please refer ::dsAtmosCapsChangeCB_t
1632 *
1633 * @return dsError_t - Status
1634 * @retval dsERR_NONE - Success
1635 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1636 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1637 * @retval dsERR_GENERAL - Underlying undefined platform error
1638 *
1639 * @pre dsAudioPortInit() should be called before calling this API.
1640 *
1641 * @warning This API is Not thread safe.
1642**/
1644
1645/**
1646 * @brief Gets the Audio Format capabilities .
1647 *
1648 * This function is used to get the supported Audio capabilities for the input port supported by the platform.
1649 *
1650 * @param[in] handle - Handle for the output audio port
1651 * @param[out] capabilities - Bitwise OR value of supported Audio standards. Please refer ::dsAudioCapabilities_t
1652 *
1653 * @return dsError_t - Status
1654 * @retval dsERR_NONE - Success
1655 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1656 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1657 * @retval dsERR_GENERAL - Underlying undefined platform error
1658 *
1659 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1660 *
1661 * @warning This API is Not thread safe.
1662 */
1663dsError_t dsGetAudioCapabilities(intptr_t handle, int *capabilities);
1664
1665/**
1666 * @brief Gets the MS12 capabilities of audio port supported by the platform.
1667 *
1668 * This function is used to get the supported MS12 capabilities for the input port supported by the platform.
1669 *
1670 * @param[in] handle - Handle for the output audio port
1671 * @param[out] capabilities - OR-ed value of supported MS12 standards. Please refer ::dsMS12Capabilities_t
1672 *
1673 * @return dsError_t - Status
1674 * @retval dsERR_NONE - Success
1675 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1676 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1677 * @retval dsERR_GENERAL - Underlying undefined platform error
1678 *
1679 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1680 *
1681 * @warning This API is Not thread safe.
1682 */
1683dsError_t dsGetMS12Capabilities(intptr_t handle, int *capabilities);
1684
1685/**
1686 * @brief Resets the Dialog Enhancement of audio port to default value.
1687 *
1688 * This function is used to reset the dialog enhancement of audio port corresponding to the specified port handle to its platform-specific default value.
1689 *
1690 * @param[in] handle - Handle for the output audio port
1691 *
1692 * @return dsError_t - Status
1693 * @retval dsERR_NONE - Success
1694 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1695 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1696 * @retval dsERR_GENERAL - Underlying undefined platform error
1697 *
1698 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1699 *
1700 * @warning This API is Not thread safe.
1701 */
1703
1704/**
1705 * @brief Resets the audio bass enhancer to its default value.
1706 *
1707 * This function is used to reset the audio bass enhancer of audio port corresponding to port handle to its platform-specific default bass boost value.
1708 *
1709 * @param[in] handle - Handle for the output audio port
1710 *
1711 * @return dsError_t - Status
1712 * @retval dsERR_NONE - Success
1713 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1714 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1715 * @retval dsERR_GENERAL - Underlying undefined platform error
1716 *
1717 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1718 *
1719 * @see dsGetBassEnhancer, dsSetBassEnhancer
1720 *
1721 * @warning This API is Not thread safe.
1722 */
1724
1725/**
1726 * @brief Resets the audio surround virtualizer level to its default value.
1727 *
1728 * This function is used to reset the audio surround virtualizer level of audio port corresponding to port handle to its platform-specific default boost value.
1729 *
1730 * @param[in] handle - Handle for the output audio port
1731 *
1732 * @return dsError_t - Status
1733 * @retval dsERR_NONE - Success
1734 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1735 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1736 * @retval dsERR_GENERAL - Underlying undefined platform error
1737 *
1738 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1739 *
1740 * @see dsGetSurroundVirtualizer, dsSetSurroundVirtualizer
1741 *
1742 * @warning This API is Not thread safe.
1743 */
1745
1746/**
1747 * @brief Resets the Dolby volume leveller of the audio port to its default volume level.
1748 *
1749 * This function is used to reset the Dolby volume leveller of audio port corresponding to port handle to its platform-specific default volume level.
1750 *
1751 * @param[in] handle - Handle for the output audio port
1752 *
1753 * @return dsError_t - Status
1754 * @retval dsERR_NONE - Success
1755 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1756 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1757 * @retval dsERR_GENERAL - Underlying undefined platform error
1758 *
1759 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1760 *
1761 * @warning This API is Not thread safe.
1762 *
1763 * @see dsGetVolumeLeveller(), dsSetVolumeLeveller()
1764 *
1765 */
1767
1768/**
1769 * @brief To Set/override a specific audio setting in
1770 * a specific profile
1771 *
1772 * This function will override a specific audio setting in a
1773 * specific profile
1774 *
1775 * @param [in] handle Handle for the Output Audio port
1776 * @param [in] *profileState possible values ADD and REMOVE setting from the persistence
1777 * @param [in] *profileName ProfileName
1778 * @param [in] *profileSettingsName MS12 property name
1779 * @param [in] *profileSettingValue MS12 property value
1780 *
1781 * @return dsError_t - Status
1782 * @retval dsERR_NONE - Success
1783 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1784 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1785 * @retval dsERR_GENERAL - Underlying undefined platform error
1786 *
1787 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1788 *
1789 * @warning This API is Not thread safe.
1790 *
1791 */
1792dsError_t dsSetMS12AudioProfileSetttingsOverride(intptr_t handle,const char* profileState,const char* profileName,
1793 const char* profileSettingsName,const char* profileSettingValue);
1794
1795/**
1796 * @brief Enables/Disables associated audio mixing feature.
1797 *
1798 * This function will enable/disable associated audio mixing feature of audio port corresponding to specified port handle.
1799 *
1800 * @param[in] handle - Handle for the output audio port
1801 * @param[in] mixing - Flag to control audio mixing feature
1802 * ( @a true to enable, @a false to disable)
1803 *
1804 * @return dsError_t - Status
1805 * @retval dsERR_NONE - Success
1806 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1807 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1808 * @retval dsERR_GENERAL - Underlying undefined platform error
1809 *
1810 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1811 *
1812 * @warning This API is Not thread safe.
1813 *
1814 * @see dsGetAssociatedAudioMixing()
1815 */
1816dsError_t dsSetAssociatedAudioMixing(intptr_t handle, bool mixing);
1817
1818/**
1819 * @brief Gets the Associated Audio Mixing status - enabled/disabled
1820 *
1821 * This function is used to get the audio mixing status(enabled/disabled) of audio port corresponding to specified port handle.
1822 *
1823 * @param[in] handle - Handle for the output Audio port
1824 * @param[out] mixing - Associated Audio Mixing status
1825 * ( @a true if enabled and @a false if disabled)
1826 *
1827 * @return dsError_t - Status
1828 * @retval dsERR_NONE - Success
1829 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1830 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1831 * @retval dsERR_GENERAL - Underlying undefined platform error
1832 *
1833 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1834 *
1835 * @warning This API is Not thread safe.
1836 *
1837 * @see dsSetAssociatedAudioMixing()
1838 */
1839dsError_t dsGetAssociatedAudioMixing(intptr_t handle, bool *mixing);
1840
1841/**
1842 * @brief Sets the mixerbalance between main and associated audio
1843 *
1844 * This function will set the mixerbalance between main and associated audio of audio port corresponding to specified port handle.
1845 *
1846 * @param[in] handle - Handle for the output Audio port
1847 * @param[in] mixerbalance - int value -32(mute associated audio) to +32(mute main audio)
1848 *
1849 * @return dsError_t - Status
1850 * @retval dsERR_NONE - Success
1851 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1852 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1853 * @retval dsERR_GENERAL - Underlying undefined platform error
1854 *
1855 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1856 *
1857 * @warning This API is Not thread safe.
1858 *
1859 * @see dsGetFaderControl()
1860 */
1861dsError_t dsSetFaderControl(intptr_t handle, int mixerbalance);
1862
1863/**
1864 * @brief To get the mixer balance between main and associated audio
1865 *
1866 * This function will get the mixer balance between main and associated audio of audio port corresponding to specified port handle.
1867 *
1868 * @param[in] handle - Handle for the output Audio port
1869 * @param[out] mixerbalance - int value -32(mute associated audio) to +32(mute main audio)
1870 *
1871 * @return dsError_t - Status
1872 * @retval dsERR_NONE - Success
1873 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1874 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1875 * @retval dsERR_GENERAL - Underlying undefined platform error
1876 *
1877 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1878 *
1879 * @warning This API is Not thread safe.
1880 *
1881 * @see dsSetFaderControl()
1882 */
1883dsError_t dsGetFaderControl(intptr_t handle, int* mixerbalance);
1884
1885/**
1886 * @brief Sets AC4 Primary language
1887 *
1888 * This function will set AC4 Primary language of audio port corresponding to specified port handle.
1889 *
1890 * @param[in] handle - Handle for the output Audio port
1891 * @param[in] pLang - char* 3 letter language code string as per ISO 639-3
1892 *
1893 * @return dsError_t - Status
1894 * @retval dsERR_NONE - Success
1895 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1896 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1897 * @retval dsERR_GENERAL - Underlying undefined platform error
1898 *
1899 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1900 *
1901 * @warning This API is Not thread safe.
1902 *
1903 * @see dsGetPrimaryLanguage()
1904 */
1905dsError_t dsSetPrimaryLanguage(intptr_t handle, const char* pLang);
1906
1907/**
1908 * @brief To get AC4 Primary language
1909 *
1910 * This function will get AC4 Primary language of audio port corresponding to specified port handle.
1911 *
1912 * @param[in] handle - Handle for the output Audio port
1913 * @param[out] pLang - char* 3 letter lang code should be used as per ISO 639-3
1914 *
1915 * @return dsError_t - Status
1916 * @retval dsERR_NONE - Success
1917 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1918 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1919 * @retval dsERR_GENERAL - Underlying undefined platform error
1920 *
1921 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1922 *
1923 * @warning This API is Not thread safe.
1924 *
1925 * @see dsSetPrimaryLanguage()
1926 */
1927dsError_t dsGetPrimaryLanguage(intptr_t handle, char* pLang);
1928
1929/**
1930 * @brief To set AC4 Secondary language
1931 *
1932 * This function will set AC4 Secondary language of audio port corresponding to specified port handle.
1933 *
1934 * @param[in] handle - Handle for the output Audio port (Not Used as setting is not port specific)
1935 * @param[in] sLang - char* 3 letter lang code should be used as per ISO 639-3
1936 *
1937 * @return dsError_t - Status
1938 * @retval dsERR_NONE - Success
1939 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1940 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1941 * @retval dsERR_GENERAL - Underlying undefined platform error
1942 *
1943 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1944 *
1945 * @warning This API is Not thread safe.
1946 *
1947 * @see dsGetSecondaryLanguage()
1948 */
1949dsError_t dsSetSecondaryLanguage(intptr_t handle, const char* sLang);
1950
1951/**
1952 * @brief Gets the AC4 Secondary language
1953 *
1954 * This function will get AC4 Secondary language of audio port corresponding to specified port handle.
1955 *
1956 * @param[in] handle - Handle for the output Audio port (Not Used as setting is not port specific)
1957 * @param[out] sLang - char* 3 letter lang code should be used as per ISO 639-3
1958 *
1959 * @return dsError_t - Status
1960 * @retval dsERR_NONE - Success
1961 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1962 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1963 * @retval dsERR_GENERAL - Underlying undefined platform error
1964 *
1965 * @pre dsAudioPortInit() and dsGetAudioPort() should be called before calling this API.
1966 *
1967 * @warning This API is Not thread safe.
1968 *
1969 * @see dsSetSecondaryLanguage()
1970 */
1971dsError_t dsGetSecondaryLanguage(intptr_t handle, char* sLang);
1972
1973/**
1974 * @brief Gets the audio HDMI ARC port ID for each platform
1975 *
1976 * This function will get audio HDMI ARC port ID of platform
1977 *
1978 * @param[in] portId - HDMI ARC port ID
1979 *
1980 * @return dsError_t - Status
1981 * @retval dsERR_NONE - Success
1982 * @retval dsERR_INVALID_PARAM - Parameter passed to this function is invalid
1983 * @retval dsERR_OPERATION_NOT_SUPPORTED - The attempted operation is not supported
1984 * @retval dsERR_GENERAL - Underlying undefined platform error
1985 *
1986 * @pre dsAudioPortInit() should be called before calling this API.
1987 *
1988 * @warning This API is Not thread safe.
1989 *
1990 * @see dsGetSupportedARCTypes()
1991 */
1993
1994#ifdef __cplusplus
1995}
1996#endif
1997#endif /* _DS_AUDIOOUTPORT_H_ */
1998
1999/** @} */ // End of DS HAL Audio Public APIs
2000/** @} */ // End of DS Audio HAL
2001/** @} */ // End of Device Settings HAL
2002/** @} */ // End of Device Settings Module
2003/** @} */ // End of HPK
Device Settings HAL error codes.
HAL types.
dsError_t dsSetSecondaryLanguage(intptr_t handle, const char *sLang)
To set AC4 Secondary language.
dsError_t dsSetDRCMode(intptr_t handle, int mode)
Sets the DRC Mode of specified audio port.
dsError_t dsIsAudioMS12Decode(intptr_t handle, bool *HasMS12Decode)
Checks whether the audio port supports Dolby MS12 Multistream Decode.
dsError_t dsIsAudioLoopThru(intptr_t handle, bool *loopThru)
Gets the loop-through mode of an audio port.
dsError_t dsSetAudioEncoding(intptr_t handle, dsAudioEncoding_t encoding)
Sets the encoding type of an audio port.
dsError_t dsGetStereoAuto(intptr_t handle, int *autoMode)
Checks if auto mode is enabled or not for the current audio port.
dsError_t dsSetMS12AudioProfileSetttingsOverride(intptr_t handle, const char *profileState, const char *profileName, const char *profileSettingsName, const char *profileSettingValue)
To Set/override a specific audio setting in a specific profile.
dsError_t dsResetVolumeLeveller(intptr_t handle)
Resets the Dolby volume leveller of the audio port to its default volume level.
dsError_t dsGetVolumeLeveller(intptr_t handle, dsVolumeLeveller_t *volLeveller)
Gets the Dolby volume leveller settings.
dsError_t dsGetMS12AudioProfileList(intptr_t handle, dsMS12AudioProfileList_t *profiles)
Gets the supported MS12 audio profiles.
dsError_t dsSetAudioLevel(intptr_t handle, float level)
Sets the audio volume level of an audio port.
dsError_t dsResetBassEnhancer(intptr_t handle)
Resets the audio bass enhancer to its default value.
dsError_t dsIsSurroundDecoderEnabled(intptr_t handle, bool *enabled)
Gets the audio Surround Decoder enabled/disabled status.
dsError_t dsGetDialogEnhancement(intptr_t handle, int *level)
Gets the Dialog Enhancement level of the audio port.
dsError_t dsAudioPortInit()
Initializes the audio port sub-system of Device Settings HAL.
dsError_t dsAudioOutRegisterConnectCB(dsAudioOutPortConnectCB_t CBFunc)
Registers for the Audio Output Connect Event.
dsError_t dsSetVolumeLeveller(intptr_t handle, dsVolumeLeveller_t volLeveller)
Sets the Dolby volume leveller settings.
dsError_t dsSetDolbyVolumeMode(intptr_t handle, bool mode)
To enable/disable Dolby Volume Mode.
dsError_t dsGetAudioOptimalLevel(intptr_t handle, float *optimalLevel)
Gets the optimal audio level of an audio port.
dsError_t dsSetFaderControl(intptr_t handle, int mixerbalance)
Sets the mixerbalance between main and associated audio.
dsError_t dsSetGraphicEqualizerMode(intptr_t handle, int mode)
Sets the Graphic Equalizer Mode.
dsError_t dsGetFaderControl(intptr_t handle, int *mixerbalance)
To get the mixer balance between main and associated audio.
dsError_t dsSetIntelligentEqualizerMode(intptr_t handle, int mode)
Sets the Intelligent Equalizer Mode.
dsError_t dsAudioOutIsConnected(intptr_t handle, bool *pisCon)
Checks if the audio output port is connected or not.
dsError_t dsGetAudioDelayOffset(intptr_t handle, uint32_t *audioDelayOffsetMs)
Gets the audio delay offset (in ms) of an audio port.
dsError_t dsSetAudioDelay(intptr_t handle, const uint32_t audioDelayMs)
Sets the audio delay (in ms) of an audio port.
dsError_t dsGetAudioDB(intptr_t handle, float *db)
Gets the current audio dB level of an audio port.
dsError_t dsGetHDMIARCPortId(int *portId)
Gets the audio HDMI ARC port ID for each platform.
dsError_t dsAudioPortTerm()
Terminate the Audio Port sub-system of Device Settings HAL.
dsError_t dsGetAudioFormat(intptr_t handle, dsAudioFormat_t *audioFormat)
Gets the current audio format.
dsError_t dsSetAudioMute(intptr_t handle, bool mute)
Mutes or un-mutes an audio port.
dsError_t dsSetPrimaryLanguage(intptr_t handle, const char *pLang)
Sets AC4 Primary language.
dsError_t dsSetAssociatedAudioMixing(intptr_t handle, bool mixing)
Enables/Disables associated audio mixing feature.
dsError_t dsGetAudioGain(intptr_t handle, float *gain)
Gets the audio gain of an audio port.
dsError_t dsGetAudioCapabilities(intptr_t handle, int *capabilities)
Gets the Audio Format capabilities .
dsError_t dsGetAudioDelay(intptr_t handle, uint32_t *audioDelayMs)
Gets the audio delay (in ms) of an audio port.
dsError_t dsSetAudioDelayOffset(intptr_t handle, const uint32_t audioDelayOffsetMs)
Sets the audio delay offset (in ms) of an audio port.
dsError_t dsGetMS12AudioProfile(intptr_t handle, char *profile)
Gets current audio profile selection.
dsError_t dsGetSurroundVirtualizer(intptr_t handle, dsSurroundVirtualizer_t *virtualizer)
Gets the audio Surround Virtualizer level.
dsError_t dsGetSupportedARCTypes(intptr_t handle, int *types)
Gets the supported ARC types of the connected ARC/eARC device.
dsError_t dsResetSurroundVirtualizer(intptr_t handle)
Resets the audio surround virtualizer level to its default value.
dsError_t dsSetStereoAuto(intptr_t handle, int autoMode)
Sets the Auto Mode to be used on the audio port.
dsError_t dsGetAudioMinDB(intptr_t handle, float *minDb)
Gets the minimum audio dB level of an audio port.
dsError_t dsAudioSetSAD(intptr_t handle, dsAudioSADList_t sad_list)
Sets Short Audio Descriptor retrieved from CEC for the connected ARC device.
dsError_t dsGetAudioCompression(intptr_t handle, int *compression)
Gets the audio compression of the specified audio port.
dsError_t dsGetDRCMode(intptr_t handle, int *mode)
Gets the DRC Mode of the specified Audio Port.
dsError_t dsIsAudioMute(intptr_t handle, bool *muted)
Gets the audio mute status of an audio port corresponding to the specified port handle.
dsError_t dsSetAudioDB(intptr_t handle, float db)
Sets the current audio dB level of an audio port.
dsError_t dsEnableLEConfig(intptr_t handle, const bool enable)
Enables or Disables Loudness Equivalence feature.
dsError_t dsAudioAtmosCapsChangeRegisterCB(dsAtmosCapsChangeCB_t cbFun)
Register for the Atmos capability change event of the sink device.
dsError_t dsGetAudioPort(dsAudioPortType_t type, int index, intptr_t *handle)
Gets the audio port handle.
dsError_t dsGetLEConfig(intptr_t handle, bool *enable)
Gets the LE (Loudness Equivalence) configuration.
dsError_t dsGetIntelligentEqualizerMode(intptr_t handle, int *mode)
Gets the Intelligent Equalizer Mode.
dsError_t dsGetAudioEncoding(intptr_t handle, dsAudioEncoding_t *encoding)
Gets the encoding type of an audio port.
dsError_t dsGetAudioMaxDB(intptr_t handle, float *maxDb)
Gets the maximum audio dB level of an audio port.
dsError_t dsEnableMS12Config(intptr_t handle, dsMS12FEATURE_t feature, const bool enable)
Enables or Disables MS12 DAPV2 and DE feature.
dsError_t dsSetDialogEnhancement(intptr_t handle, int level)
Sets the Dialog Enhancement level of an audio port.
dsError_t dsSetAudioAtmosOutputMode(intptr_t handle, bool enable)
Sets the audio ATMOS output mode.
dsError_t dsSetMS12AudioProfile(intptr_t handle, const char *profile)
Sets the MS12 audio profile.
dsError_t dsAudioFormatUpdateRegisterCB(dsAudioFormatUpdateCB_t cbFun)
Registers for the Audio Format Update Event.
void(* dsAudioOutPortConnectCB_t)(dsAudioPortType_t portType, unsigned int uiPortNo, bool isPortCon)
Callback function used to notify the Audio port connection status change to the caller.
Definition dsAudio.h:124
dsError_t dsSetAudioCompression(intptr_t handle, int compression)
Sets the audio compression of an audio port.
dsError_t dsEnableSurroundDecoder(intptr_t handle, bool enabled)
Enables / Disables the audio Surround Decoder.
dsError_t dsEnableAudioPort(intptr_t handle, bool enabled)
Enables or Disables the Audio port corresponding to the specified port handle.
dsError_t dsIsAudioMSDecode(intptr_t handle, bool *HasMS11Decode)
Checks whether the audio port supports Dolby MS11 Multistream Decode.
dsError_t dsSetSurroundVirtualizer(intptr_t handle, dsSurroundVirtualizer_t virtualizer)
Sets the audio Surround Virtualizer level.
dsError_t dsGetSinkDeviceAtmosCapability(intptr_t handle, dsATMOSCapability_t *capability)
Gets the ATMOS capability of the sink device.
dsError_t dsSetAudioGain(intptr_t handle, float gain)
Sets the audio gain of an audio port.
dsError_t dsGetSecondaryLanguage(intptr_t handle, char *sLang)
Gets the AC4 Secondary language.
dsError_t dsGetMS12Capabilities(intptr_t handle, int *capabilities)
Gets the MS12 capabilities of audio port supported by the platform.
dsError_t dsSetStereoMode(intptr_t handle, dsAudioStereoMode_t mode)
Sets the stereo mode of an audio port.
dsError_t dsGetMISteering(intptr_t handle, bool *enabled)
Gets the Media Intelligent Steering of the audio port.
dsError_t dsAudioEnableARC(intptr_t handle, dsAudioARCStatus_t arcStatus)
Enable/Disable ARC/EARC and route audio to connected device.
dsError_t dsIsAudioPortEnabled(intptr_t handle, bool *enabled)
Indicates whether the specified Audio port is enabled or not.
dsError_t dsGetBassEnhancer(intptr_t handle, int *boost)
Gets the audio Bass.
dsError_t dsResetDialogEnhancement(intptr_t handle)
Resets the Dialog Enhancement of audio port to default value.
void(* dsAudioFormatUpdateCB_t)(dsAudioFormat_t audioFormat)
Callback function used to notify Audio Format change to the caller.
Definition dsAudio.h:136
dsError_t dsSetBassEnhancer(intptr_t handle, int boost)
Sets the audio Bass.
dsError_t dsEnableLoopThru(intptr_t handle, bool loopThru)
Sets loop-through mode of an audio port.
dsError_t dsSetAudioDucking(intptr_t handle, dsAudioDuckingAction_t action, dsAudioDuckingType_t type, const unsigned char level)
Sets the audio ducking level of an audio port.
dsError_t dsGetAudioLevel(intptr_t handle, float *level)
Gets the current audio volume level of an audio port.
dsError_t dsGetPrimaryLanguage(intptr_t handle, char *pLang)
To get AC4 Primary language.
dsError_t dsSetMISteering(intptr_t handle, bool enabled)
Set the Media Intelligent Steering of the audio port.
dsError_t dsGetGraphicEqualizerMode(intptr_t handle, int *mode)
Gets the Graphic Equalizer Mode.
dsError_t dsGetAssociatedAudioMixing(intptr_t handle, bool *mixing)
Gets the Associated Audio Mixing status - enabled/disabled.
dsError_t dsGetStereoMode(intptr_t handle, dsAudioStereoMode_t *stereoMode)
Gets the stereo mode of an audio port.
void(* dsAtmosCapsChangeCB_t)(dsATMOSCapability_t atmosCaps, bool status)
Call back function used to notify audio sink Atmos capability change.
Definition dsAudio.h:149
dsError_t dsGetDolbyVolumeMode(intptr_t handle, bool *mode)
Gets the dolby audio mode status of an audio port.
dsError_t
Device Settings API Error return codes.
Definition dsError.h:100
enum _dsAudioDuckingAction_t dsAudioDuckingAction_t
This enumeration defines the type of audio ducking action.
enum _dsAudioDuckingType_t dsAudioDuckingType_t
This enumeration defines the type of audio ducking type.
enum _dsAudioPortType_t dsAudioPortType_t
This enumeration defines the audio port types.
enum _dsATMOSCapability_t dsATMOSCapability_t
This enumeration defines ATMOS protocol version types.
enum _dsMS12FEATURE_t dsMS12FEATURE_t
Enumeration defines MS12 feature.
enum StereoMode dsAudioStereoMode_t
This enumeration defines the type of audio stereo mode.
enum _dsAudioEncoding_t dsAudioEncoding_t
This enumeration defines the audio encoding types.
enum _dsAudioFormat_t dsAudioFormat_t
This enumeration defines the type of audio format.
Structure that holds ARC status for the HDMI ARC/EARC port.
Definition dsTypes.h:247
Structure that holds Short Audio Descriptors retrieved from connected ARC device.
Definition dsTypes.h:239
Definition dsTypes.h:275
This defines the type of surround virtualizer mode.
Definition dsTypes.h:302
This defines the type of volume leveller mode.
Definition dsTypes.h:294