blob: 4eb28087232293919cd6fef1ea91be3170022354 [file] [log] [blame]
Tim Yao72bc0fb2019-12-03 11:04:19 -08001// This file is autogenerated by hidl-gen
2// then manualy edited for retrocompatiblity
3// Source: android.hardware.audio.common@4.0
4// Root: android.hardware:hardware/interfaces
5
6#ifndef HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_
7#define HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13enum {
14 AUDIO_IO_HANDLE_NONE = 0,
15 AUDIO_MODULE_HANDLE_NONE = 0,
16 AUDIO_PORT_HANDLE_NONE = 0,
17 AUDIO_PATCH_HANDLE_NONE = 0,
18};
19
20typedef enum {
21 AUDIO_STREAM_DEFAULT = -1, // (-1)
22 AUDIO_STREAM_MIN = 0,
23 AUDIO_STREAM_VOICE_CALL = 0,
24 AUDIO_STREAM_SYSTEM = 1,
25 AUDIO_STREAM_RING = 2,
26 AUDIO_STREAM_MUSIC = 3,
27 AUDIO_STREAM_ALARM = 4,
28 AUDIO_STREAM_NOTIFICATION = 5,
29 AUDIO_STREAM_BLUETOOTH_SCO = 6,
30 AUDIO_STREAM_ENFORCED_AUDIBLE = 7,
31 AUDIO_STREAM_DTMF = 8,
32 AUDIO_STREAM_TTS = 9,
33 AUDIO_STREAM_ACCESSIBILITY = 10,
34#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
35 /** For dynamic policy output mixes. Only used by the audio policy */
36 AUDIO_STREAM_REROUTING = 11,
37 /** For audio flinger tracks volume. Only used by the audioflinger */
38 AUDIO_STREAM_PATCH = 12,
39#endif // AUDIO_NO_SYSTEM_DECLARATIONS
40} audio_stream_type_t;
41
42typedef enum {
43 AUDIO_SOURCE_DEFAULT = 0,
44 AUDIO_SOURCE_MIC = 1,
45 AUDIO_SOURCE_VOICE_UPLINK = 2,
46 AUDIO_SOURCE_VOICE_DOWNLINK = 3,
47 AUDIO_SOURCE_VOICE_CALL = 4,
48 AUDIO_SOURCE_CAMCORDER = 5,
49 AUDIO_SOURCE_VOICE_RECOGNITION = 6,
50 AUDIO_SOURCE_VOICE_COMMUNICATION = 7,
51 AUDIO_SOURCE_REMOTE_SUBMIX = 8,
52 AUDIO_SOURCE_UNPROCESSED = 9,
53 AUDIO_SOURCE_FM_TUNER = 1998,
54#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
55 /**
56 * A low-priority, preemptible audio source for for background software
57 * hotword detection. Same tuning as VOICE_RECOGNITION.
58 * Used only internally by the framework.
59 */
60 AUDIO_SOURCE_HOTWORD = 1999,
61#endif // AUDIO_NO_SYSTEM_DECLARATIONS
62} audio_source_t;
63
64typedef enum {
65 AUDIO_SESSION_OUTPUT_STAGE = -1, // (-1)
66 AUDIO_SESSION_OUTPUT_MIX = 0,
67 AUDIO_SESSION_ALLOCATE = 0,
68 AUDIO_SESSION_NONE = 0,
69} audio_session_t;
70
71typedef enum {
72 AUDIO_FORMAT_INVALID = 0xFFFFFFFFu,
73 AUDIO_FORMAT_DEFAULT = 0,
74 AUDIO_FORMAT_PCM = 0x00000000u,
75 AUDIO_FORMAT_MP3 = 0x01000000u,
76 AUDIO_FORMAT_AMR_NB = 0x02000000u,
77 AUDIO_FORMAT_AMR_WB = 0x03000000u,
78 AUDIO_FORMAT_AAC = 0x04000000u,
79 AUDIO_FORMAT_HE_AAC_V1 = 0x05000000u,
80 AUDIO_FORMAT_HE_AAC_V2 = 0x06000000u,
81 AUDIO_FORMAT_VORBIS = 0x07000000u,
82 AUDIO_FORMAT_OPUS = 0x08000000u,
83 AUDIO_FORMAT_AC3 = 0x09000000u,
84 AUDIO_FORMAT_E_AC3 = 0x0A000000u,
85 AUDIO_FORMAT_DTS = 0x0B000000u,
86 AUDIO_FORMAT_DTS_HD = 0x0C000000u,
87 AUDIO_FORMAT_IEC61937 = 0x0D000000u,
88 AUDIO_FORMAT_DOLBY_TRUEHD = 0x0E000000u,
89 AUDIO_FORMAT_EVRC = 0x10000000u,
90 AUDIO_FORMAT_EVRCB = 0x11000000u,
91 AUDIO_FORMAT_EVRCWB = 0x12000000u,
92 AUDIO_FORMAT_EVRCNW = 0x13000000u,
93 AUDIO_FORMAT_AAC_ADIF = 0x14000000u,
94 AUDIO_FORMAT_WMA = 0x15000000u,
95 AUDIO_FORMAT_WMA_PRO = 0x16000000u,
96 AUDIO_FORMAT_AMR_WB_PLUS = 0x17000000u,
97 AUDIO_FORMAT_MP2 = 0x18000000u,
98 AUDIO_FORMAT_QCELP = 0x19000000u,
99 AUDIO_FORMAT_DSD = 0x1A000000u,
100 AUDIO_FORMAT_FLAC = 0x1B000000u,
101 AUDIO_FORMAT_ALAC = 0x1C000000u,
102 AUDIO_FORMAT_APE = 0x1D000000u,
103 AUDIO_FORMAT_AAC_ADTS = 0x1E000000u,
104 AUDIO_FORMAT_SBC = 0x1F000000u,
105 AUDIO_FORMAT_APTX = 0x20000000u,
106 AUDIO_FORMAT_APTX_HD = 0x21000000u,
107 AUDIO_FORMAT_AC4 = 0x22000000u,
108 AUDIO_FORMAT_LDAC = 0x23000000u,
109 AUDIO_FORMAT_MAT = 0x24000000u,
110 AUDIO_FORMAT_MAIN_MASK = 0xFF000000u,
111 AUDIO_FORMAT_SUB_MASK = 0x00FFFFFFu,
112
113 /* Subformats */
114 AUDIO_FORMAT_PCM_SUB_16_BIT = 0x1u,
115 AUDIO_FORMAT_PCM_SUB_8_BIT = 0x2u,
116 AUDIO_FORMAT_PCM_SUB_32_BIT = 0x3u,
117 AUDIO_FORMAT_PCM_SUB_8_24_BIT = 0x4u,
118 AUDIO_FORMAT_PCM_SUB_FLOAT = 0x5u,
119 AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED = 0x6u,
120
121 AUDIO_FORMAT_MP3_SUB_NONE = 0x0u,
122
123 AUDIO_FORMAT_AMR_SUB_NONE = 0x0u,
124
125 AUDIO_FORMAT_AAC_SUB_MAIN = 0x1u,
126 AUDIO_FORMAT_AAC_SUB_LC = 0x2u,
127 AUDIO_FORMAT_AAC_SUB_SSR = 0x4u,
128 AUDIO_FORMAT_AAC_SUB_LTP = 0x8u,
129 AUDIO_FORMAT_AAC_SUB_HE_V1 = 0x10u,
130 AUDIO_FORMAT_AAC_SUB_SCALABLE = 0x20u,
131 AUDIO_FORMAT_AAC_SUB_ERLC = 0x40u,
132 AUDIO_FORMAT_AAC_SUB_LD = 0x80u,
133 AUDIO_FORMAT_AAC_SUB_HE_V2 = 0x100u,
134 AUDIO_FORMAT_AAC_SUB_ELD = 0x200u,
135 AUDIO_FORMAT_AAC_SUB_XHE = 0x300u,
136
137 AUDIO_FORMAT_VORBIS_SUB_NONE = 0x0u,
138
139 AUDIO_FORMAT_E_AC3_SUB_JOC = 0x1u,
140
141 AUDIO_FORMAT_MAT_SUB_1_0 = 0x1u,
142 AUDIO_FORMAT_MAT_SUB_2_0 = 0x2u,
143 AUDIO_FORMAT_MAT_SUB_2_1 = 0x3u,
144
145 /* Aliases */
146 AUDIO_FORMAT_PCM_16_BIT = 0x1u, // (PCM | PCM_SUB_16_BIT)
147 AUDIO_FORMAT_PCM_8_BIT = 0x2u, // (PCM | PCM_SUB_8_BIT)
148 AUDIO_FORMAT_PCM_32_BIT = 0x3u, // (PCM | PCM_SUB_32_BIT)
149 AUDIO_FORMAT_PCM_8_24_BIT = 0x4u, // (PCM | PCM_SUB_8_24_BIT)
150 AUDIO_FORMAT_PCM_FLOAT = 0x5u, // (PCM | PCM_SUB_FLOAT)
151 AUDIO_FORMAT_PCM_24_BIT_PACKED = 0x6u, // (PCM | PCM_SUB_24_BIT_PACKED)
152 AUDIO_FORMAT_AAC_MAIN = 0x4000001u, // (AAC | AAC_SUB_MAIN)
153 AUDIO_FORMAT_AAC_LC = 0x4000002u, // (AAC | AAC_SUB_LC)
154 AUDIO_FORMAT_AAC_SSR = 0x4000004u, // (AAC | AAC_SUB_SSR)
155 AUDIO_FORMAT_AAC_LTP = 0x4000008u, // (AAC | AAC_SUB_LTP)
156 AUDIO_FORMAT_AAC_HE_V1 = 0x4000010u, // (AAC | AAC_SUB_HE_V1)
157 AUDIO_FORMAT_AAC_SCALABLE = 0x4000020u, // (AAC | AAC_SUB_SCALABLE)
158 AUDIO_FORMAT_AAC_ERLC = 0x4000040u, // (AAC | AAC_SUB_ERLC)
159 AUDIO_FORMAT_AAC_LD = 0x4000080u, // (AAC | AAC_SUB_LD)
160 AUDIO_FORMAT_AAC_HE_V2 = 0x4000100u, // (AAC | AAC_SUB_HE_V2)
161 AUDIO_FORMAT_AAC_ELD = 0x4000200u, // (AAC | AAC_SUB_ELD)
162 AUDIO_FORMAT_AAC_XHE = 0x4000300u, // (AAC | AAC_SUB_XHE)
163 AUDIO_FORMAT_AAC_ADTS_MAIN = 0x1e000001u, // (AAC_ADTS | AAC_SUB_MAIN)
164 AUDIO_FORMAT_AAC_ADTS_LC = 0x1e000002u, // (AAC_ADTS | AAC_SUB_LC)
165 AUDIO_FORMAT_AAC_ADTS_SSR = 0x1e000004u, // (AAC_ADTS | AAC_SUB_SSR)
166 AUDIO_FORMAT_AAC_ADTS_LTP = 0x1e000008u, // (AAC_ADTS | AAC_SUB_LTP)
167 AUDIO_FORMAT_AAC_ADTS_HE_V1 = 0x1e000010u, // (AAC_ADTS | AAC_SUB_HE_V1)
168 AUDIO_FORMAT_AAC_ADTS_SCALABLE = 0x1e000020u, // (AAC_ADTS | AAC_SUB_SCALABLE)
169 AUDIO_FORMAT_AAC_ADTS_ERLC = 0x1e000040u, // (AAC_ADTS | AAC_SUB_ERLC)
170 AUDIO_FORMAT_AAC_ADTS_LD = 0x1e000080u, // (AAC_ADTS | AAC_SUB_LD)
171 AUDIO_FORMAT_AAC_ADTS_HE_V2 = 0x1e000100u, // (AAC_ADTS | AAC_SUB_HE_V2)
172 AUDIO_FORMAT_AAC_ADTS_ELD = 0x1e000200u, // (AAC_ADTS | AAC_SUB_ELD)
173 AUDIO_FORMAT_AAC_ADTS_XHE = 0x1e000300u, // (AAC_ADTS | AAC_SUB_XHE)
174 AUDIO_FORMAT_E_AC3_JOC = 0xA000001u, // (E_AC3 | E_AC3_SUB_JOC)
175 AUDIO_FORMAT_MAT_1_0 = 0x24000001u, // (MAT | MAT_SUB_1_0)
176 AUDIO_FORMAT_MAT_2_0 = 0x24000002u, // (MAT | MAT_SUB_2_0)
177 AUDIO_FORMAT_MAT_2_1 = 0x24000003u, // (MAT | MAT_SUB_2_1)
178} audio_format_t;
179
180enum {
181 FCC_2 = 2,
182 FCC_8 = 8,
183};
184
185enum {
186 AUDIO_CHANNEL_REPRESENTATION_POSITION = 0x0u,
187 AUDIO_CHANNEL_REPRESENTATION_INDEX = 0x2u,
188 AUDIO_CHANNEL_NONE = 0x0u,
189 AUDIO_CHANNEL_INVALID = 0xC0000000u,
190
191 AUDIO_CHANNEL_OUT_FRONT_LEFT = 0x1u,
192 AUDIO_CHANNEL_OUT_FRONT_RIGHT = 0x2u,
193 AUDIO_CHANNEL_OUT_FRONT_CENTER = 0x4u,
194 AUDIO_CHANNEL_OUT_LOW_FREQUENCY = 0x8u,
195 AUDIO_CHANNEL_OUT_BACK_LEFT = 0x10u,
196 AUDIO_CHANNEL_OUT_BACK_RIGHT = 0x20u,
197 AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 0x40u,
198 AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 0x80u,
199 AUDIO_CHANNEL_OUT_BACK_CENTER = 0x100u,
200 AUDIO_CHANNEL_OUT_SIDE_LEFT = 0x200u,
201 AUDIO_CHANNEL_OUT_SIDE_RIGHT = 0x400u,
202 AUDIO_CHANNEL_OUT_TOP_CENTER = 0x800u,
203 AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT = 0x1000u,
204 AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER = 0x2000u,
205 AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT = 0x4000u,
206 AUDIO_CHANNEL_OUT_TOP_BACK_LEFT = 0x8000u,
207 AUDIO_CHANNEL_OUT_TOP_BACK_CENTER = 0x10000u,
208 AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT = 0x20000u,
209 AUDIO_CHANNEL_OUT_TOP_SIDE_LEFT = 0x40000u,
210 AUDIO_CHANNEL_OUT_TOP_SIDE_RIGHT = 0x80000u,
211 AUDIO_CHANNEL_OUT_MONO = 0x1u, // OUT_FRONT_LEFT
212 AUDIO_CHANNEL_OUT_STEREO = 0x3u, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT
213 AUDIO_CHANNEL_OUT_2POINT1 = 0xBu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_LOW_FREQUENCY
214 AUDIO_CHANNEL_OUT_2POINT0POINT2 = 0xC0003u, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
215 AUDIO_CHANNEL_OUT_2POINT1POINT2 = 0xC000Bu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT | OUT_LOW_FREQUENCY
216 AUDIO_CHANNEL_OUT_3POINT0POINT2 = 0xC0007u, // OUT_FRONT_LEFT | OUT_FRONT_CENTER | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
217 AUDIO_CHANNEL_OUT_3POINT1POINT2 = 0xC000Fu, // OUT_FRONT_LEFT | OUT_FRONT_CENTER | OUT_FRONT_RIGHT | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT | OUT_LOW_FREQUENCY
218 AUDIO_CHANNEL_OUT_QUAD = 0x33u, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_BACK_LEFT | OUT_BACK_RIGHT
219 AUDIO_CHANNEL_OUT_QUAD_BACK = 0x33u, // OUT_QUAD
220 AUDIO_CHANNEL_OUT_QUAD_SIDE = 0x603u, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_SIDE_LEFT | OUT_SIDE_RIGHT
221 AUDIO_CHANNEL_OUT_SURROUND = 0x107u, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_BACK_CENTER
222 AUDIO_CHANNEL_OUT_PENTA = 0x37u, // OUT_QUAD | OUT_FRONT_CENTER
223 AUDIO_CHANNEL_OUT_5POINT1 = 0x3Fu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_BACK_LEFT | OUT_BACK_RIGHT
224 AUDIO_CHANNEL_OUT_5POINT1_BACK = 0x3Fu, // OUT_5POINT1
225 AUDIO_CHANNEL_OUT_5POINT1_SIDE = 0x60Fu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_SIDE_LEFT | OUT_SIDE_RIGHT
226 AUDIO_CHANNEL_OUT_5POINT1POINT2 = 0xC003Fu, // OUT_5POINT1 | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
227 AUDIO_CHANNEL_OUT_5POINT1POINT4 = 0x2D03Fu, // OUT_5POINT1 | OUT_TOP_FRONT_LEFT | OUT_TOP_FRONT_RIGHT | OUT_TOP_BACK_LEFT | OUT_TOP_BACK_RIGHT
228 AUDIO_CHANNEL_OUT_6POINT1 = 0x13Fu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_BACK_LEFT | OUT_BACK_RIGHT | OUT_BACK_CENTER
229 AUDIO_CHANNEL_OUT_7POINT1 = 0x63Fu, // OUT_FRONT_LEFT | OUT_FRONT_RIGHT | OUT_FRONT_CENTER | OUT_LOW_FREQUENCY | OUT_BACK_LEFT | OUT_BACK_RIGHT | OUT_SIDE_LEFT | OUT_SIDE_RIGHT
230 AUDIO_CHANNEL_OUT_7POINT1POINT2 = 0xC063Fu, // OUT_7POINT1 | OUT_TOP_SIDE_LEFT | OUT_TOP_SIDE_RIGHT
231 AUDIO_CHANNEL_OUT_7POINT1POINT4 = 0x2D63Fu, // OUT_7POINT1 | OUT_TOP_FRONT_LEFT | OUT_TOP_FRONT_RIGHT | OUT_TOP_BACK_LEFT | OUT_TOP_BACK_RIGHT
232
233 AUDIO_CHANNEL_IN_LEFT = 0x4u,
234 AUDIO_CHANNEL_IN_RIGHT = 0x8u,
235 AUDIO_CHANNEL_IN_FRONT = 0x10u,
236 AUDIO_CHANNEL_IN_BACK = 0x20u,
237 AUDIO_CHANNEL_IN_LEFT_PROCESSED = 0x40u,
238 AUDIO_CHANNEL_IN_RIGHT_PROCESSED = 0x80u,
239 AUDIO_CHANNEL_IN_FRONT_PROCESSED = 0x100u,
240 AUDIO_CHANNEL_IN_BACK_PROCESSED = 0x200u,
241 AUDIO_CHANNEL_IN_PRESSURE = 0x400u,
242 AUDIO_CHANNEL_IN_X_AXIS = 0x800u,
243 AUDIO_CHANNEL_IN_Y_AXIS = 0x1000u,
244 AUDIO_CHANNEL_IN_Z_AXIS = 0x2000u,
245 AUDIO_CHANNEL_IN_BACK_LEFT = 0x10000u,
246 AUDIO_CHANNEL_IN_BACK_RIGHT = 0x20000u,
247 AUDIO_CHANNEL_IN_CENTER = 0x40000u,
248 AUDIO_CHANNEL_IN_LOW_FREQUENCY = 0x100000u,
249 AUDIO_CHANNEL_IN_TOP_LEFT = 0x200000u,
250 AUDIO_CHANNEL_IN_TOP_RIGHT = 0x400000u,
251 AUDIO_CHANNEL_IN_VOICE_UPLINK = 0x4000u,
252 AUDIO_CHANNEL_IN_VOICE_DNLINK = 0x8000u,
253 AUDIO_CHANNEL_IN_MONO = 0x10u, // IN_FRONT
254 AUDIO_CHANNEL_IN_STEREO = 0xCu, // IN_LEFT | IN_RIGHT
255 AUDIO_CHANNEL_IN_FRONT_BACK = 0x30u, // IN_FRONT | IN_BACK
256 AUDIO_CHANNEL_IN_6 = 0xFCu, // IN_LEFT | IN_RIGHT | IN_FRONT | IN_BACK | IN_LEFT_PROCESSED | IN_RIGHT_PROCESSED
257 AUDIO_CHANNEL_IN_2POINT0POINT2 = 0x60000Cu, // IN_LEFT | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT
258 AUDIO_CHANNEL_IN_2POINT1POINT2 = 0x70000Cu, // IN_LEFT | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT | IN_LOW_FREQUENCY
259 AUDIO_CHANNEL_IN_3POINT0POINT2 = 0x64000Cu, // IN_LEFT | IN_CENTER | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT
260 AUDIO_CHANNEL_IN_3POINT1POINT2 = 0x74000Cu, // IN_LEFT | IN_CENTER | IN_RIGHT | IN_TOP_LEFT | IN_TOP_RIGHT | IN_LOW_FREQUENCY
261 AUDIO_CHANNEL_IN_5POINT1 = 0x17000Cu, // IN_LEFT | IN_CENTER | IN_RIGHT | IN_BACK_LEFT | IN_BACK_RIGHT | IN_LOW_FREQUENCY
262 AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO = 0x4010u, // IN_VOICE_UPLINK | IN_MONO
263 AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO = 0x8010u, // IN_VOICE_DNLINK | IN_MONO
264 AUDIO_CHANNEL_IN_VOICE_CALL_MONO = 0xC010u, // IN_VOICE_UPLINK_MONO | IN_VOICE_DNLINK_MONO
265
266 AUDIO_CHANNEL_COUNT_MAX = 30u,
267 AUDIO_CHANNEL_INDEX_HDR = 0x80000000u, // REPRESENTATION_INDEX << COUNT_MAX
268 AUDIO_CHANNEL_INDEX_MASK_1 = 0x80000001u, // INDEX_HDR | (1 << 1) - 1
269 AUDIO_CHANNEL_INDEX_MASK_2 = 0x80000003u, // INDEX_HDR | (1 << 2) - 1
270 AUDIO_CHANNEL_INDEX_MASK_3 = 0x80000007u, // INDEX_HDR | (1 << 3) - 1
271 AUDIO_CHANNEL_INDEX_MASK_4 = 0x8000000Fu, // INDEX_HDR | (1 << 4) - 1
272 AUDIO_CHANNEL_INDEX_MASK_5 = 0x8000001Fu, // INDEX_HDR | (1 << 5) - 1
273 AUDIO_CHANNEL_INDEX_MASK_6 = 0x8000003Fu, // INDEX_HDR | (1 << 6) - 1
274 AUDIO_CHANNEL_INDEX_MASK_7 = 0x8000007Fu, // INDEX_HDR | (1 << 7) - 1
275 AUDIO_CHANNEL_INDEX_MASK_8 = 0x800000FFu, // INDEX_HDR | (1 << 8) - 1
276};
277
278typedef enum {
279#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
280 AUDIO_MODE_INVALID = -2, // (-2)
281 AUDIO_MODE_CURRENT = -1, // (-1)
282#endif // AUDIO_NO_SYSTEM_DECLARATIONS
283 AUDIO_MODE_NORMAL = 0,
284 AUDIO_MODE_RINGTONE = 1,
285 AUDIO_MODE_IN_CALL = 2,
286 AUDIO_MODE_IN_COMMUNICATION = 3,
287} audio_mode_t;
288
289enum {
290 AUDIO_DEVICE_NONE = 0x0u,
291 AUDIO_DEVICE_BIT_IN = 0x80000000u,
292 AUDIO_DEVICE_BIT_DEFAULT = 0x40000000u,
293
294 AUDIO_DEVICE_OUT_EARPIECE = 0x1u,
295 AUDIO_DEVICE_OUT_SPEAKER = 0x2u,
296 AUDIO_DEVICE_OUT_WIRED_HEADSET = 0x4u,
297 AUDIO_DEVICE_OUT_WIRED_HEADPHONE = 0x8u,
298 AUDIO_DEVICE_OUT_BLUETOOTH_SCO = 0x10u,
299 AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET = 0x20u,
300 AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT = 0x40u,
301 AUDIO_DEVICE_OUT_BLUETOOTH_A2DP = 0x80u,
302 AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100u,
303 AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 0x200u,
304 AUDIO_DEVICE_OUT_AUX_DIGITAL = 0x400u,
305 AUDIO_DEVICE_OUT_HDMI = 0x400u, // OUT_AUX_DIGITAL
306 AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800u,
307 AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000u,
308 AUDIO_DEVICE_OUT_USB_ACCESSORY = 0x2000u,
309 AUDIO_DEVICE_OUT_USB_DEVICE = 0x4000u,
310 AUDIO_DEVICE_OUT_REMOTE_SUBMIX = 0x8000u,
311 AUDIO_DEVICE_OUT_TELEPHONY_TX = 0x10000u,
312 AUDIO_DEVICE_OUT_LINE = 0x20000u,
313 AUDIO_DEVICE_OUT_HDMI_ARC = 0x40000u,
314 AUDIO_DEVICE_OUT_SPDIF = 0x80000u,
315 AUDIO_DEVICE_OUT_FM = 0x100000u,
316 AUDIO_DEVICE_OUT_AUX_LINE = 0x200000u,
317 AUDIO_DEVICE_OUT_SPEAKER_SAFE = 0x400000u,
318 AUDIO_DEVICE_OUT_IP = 0x800000u,
319 AUDIO_DEVICE_OUT_BUS = 0x1000000u,
320 AUDIO_DEVICE_OUT_PROXY = 0x2000000u,
321 AUDIO_DEVICE_OUT_USB_HEADSET = 0x4000000u,
322 AUDIO_DEVICE_OUT_HEARING_AID = 0x8000000u,
323 AUDIO_DEVICE_OUT_ECHO_CANCELLER = 0x10000000u,
324 AUDIO_DEVICE_OUT_DEFAULT = 0x40000000u, // BIT_DEFAULT
325
326 AUDIO_DEVICE_IN_COMMUNICATION = 0x80000001u, // BIT_IN | 0x1
327 AUDIO_DEVICE_IN_AMBIENT = 0x80000002u, // BIT_IN | 0x2
328 AUDIO_DEVICE_IN_BUILTIN_MIC = 0x80000004u, // BIT_IN | 0x4
329 AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET = 0x80000008u, // BIT_IN | 0x8
330 AUDIO_DEVICE_IN_WIRED_HEADSET = 0x80000010u, // BIT_IN | 0x10
331 AUDIO_DEVICE_IN_AUX_DIGITAL = 0x80000020u, // BIT_IN | 0x20
332 AUDIO_DEVICE_IN_HDMI = 0x80000020u, // IN_AUX_DIGITAL
333 AUDIO_DEVICE_IN_VOICE_CALL = 0x80000040u, // BIT_IN | 0x40
334 AUDIO_DEVICE_IN_TELEPHONY_RX = 0x80000040u, // IN_VOICE_CALL
335 AUDIO_DEVICE_IN_BACK_MIC = 0x80000080u, // BIT_IN | 0x80
336 AUDIO_DEVICE_IN_REMOTE_SUBMIX = 0x80000100u, // BIT_IN | 0x100
337 AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET = 0x80000200u, // BIT_IN | 0x200
338 AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET = 0x80000400u, // BIT_IN | 0x400
339 AUDIO_DEVICE_IN_USB_ACCESSORY = 0x80000800u, // BIT_IN | 0x800
340 AUDIO_DEVICE_IN_USB_DEVICE = 0x80001000u, // BIT_IN | 0x1000
341 AUDIO_DEVICE_IN_FM_TUNER = 0x80002000u, // BIT_IN | 0x2000
342 AUDIO_DEVICE_IN_TV_TUNER = 0x80004000u, // BIT_IN | 0x4000
343 AUDIO_DEVICE_IN_LINE = 0x80008000u, // BIT_IN | 0x8000
344 AUDIO_DEVICE_IN_SPDIF = 0x80010000u, // BIT_IN | 0x10000
345 AUDIO_DEVICE_IN_BLUETOOTH_A2DP = 0x80020000u, // BIT_IN | 0x20000
346 AUDIO_DEVICE_IN_LOOPBACK = 0x80040000u, // BIT_IN | 0x40000
347 AUDIO_DEVICE_IN_IP = 0x80080000u, // BIT_IN | 0x80000
348 AUDIO_DEVICE_IN_BUS = 0x80100000u, // BIT_IN | 0x100000
349 AUDIO_DEVICE_IN_PROXY = 0x81000000u, // BIT_IN | 0x1000000
350 AUDIO_DEVICE_IN_USB_HEADSET = 0x82000000u, // BIT_IN | 0x2000000
351 AUDIO_DEVICE_IN_BLUETOOTH_BLE = 0x84000000u, // BIT_IN | 0x4000000
352 AUDIO_DEVICE_IN_DEFAULT = 0xC0000000u, // BIT_IN | BIT_DEFAULT
353};
354
355typedef enum {
356 AUDIO_OUTPUT_FLAG_NONE = 0x0,
357 AUDIO_OUTPUT_FLAG_DIRECT = 0x1,
358 AUDIO_OUTPUT_FLAG_PRIMARY = 0x2,
359 AUDIO_OUTPUT_FLAG_FAST = 0x4,
360 AUDIO_OUTPUT_FLAG_DEEP_BUFFER = 0x8,
361 AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD = 0x10,
362 AUDIO_OUTPUT_FLAG_NON_BLOCKING = 0x20,
363 AUDIO_OUTPUT_FLAG_HW_AV_SYNC = 0x40,
364 AUDIO_OUTPUT_FLAG_TTS = 0x80,
365 AUDIO_OUTPUT_FLAG_RAW = 0x100,
366 AUDIO_OUTPUT_FLAG_SYNC = 0x200,
367 AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO = 0x400,
368 AUDIO_OUTPUT_FLAG_DIRECT_PCM = 0x2000,
369 AUDIO_OUTPUT_FLAG_MMAP_NOIRQ = 0x4000,
370 AUDIO_OUTPUT_FLAG_VOIP_RX = 0x8000,
371 AUDIO_OUTPUT_FLAG_INCALL_MUSIC = 0x10000,
372} audio_output_flags_t;
373
374typedef enum {
375 AUDIO_INPUT_FLAG_NONE = 0x0,
376 AUDIO_INPUT_FLAG_FAST = 0x1,
377 AUDIO_INPUT_FLAG_HW_HOTWORD = 0x2,
378 AUDIO_INPUT_FLAG_RAW = 0x4,
379 AUDIO_INPUT_FLAG_SYNC = 0x8,
380 AUDIO_INPUT_FLAG_MMAP_NOIRQ = 0x10,
381 AUDIO_INPUT_FLAG_VOIP_TX = 0x20,
382 AUDIO_INPUT_FLAG_HW_AV_SYNC = 0x40,
383#ifndef AUDIO_NO_SYSTEM_DECLARATIONS // TODO: Expose at HAL interface, remove FRAMEWORK_FLAGS mask
384 AUDIO_INPUT_FLAG_DIRECT = 0x80,
385 AUDIO_INPUT_FRAMEWORK_FLAGS = AUDIO_INPUT_FLAG_DIRECT,
386#endif
387} audio_input_flags_t;
388
389typedef enum {
390 AUDIO_USAGE_UNKNOWN = 0,
391 AUDIO_USAGE_MEDIA = 1,
392 AUDIO_USAGE_VOICE_COMMUNICATION = 2,
393 AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING = 3,
394 AUDIO_USAGE_ALARM = 4,
395 AUDIO_USAGE_NOTIFICATION = 5,
396 AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE = 6,
397#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
398 AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7,
399 AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8,
400 AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9,
401 AUDIO_USAGE_NOTIFICATION_EVENT = 10,
402#endif // AUDIO_NO_SYSTEM_DECLARATIONS
403 AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY = 11,
404 AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12,
405 AUDIO_USAGE_ASSISTANCE_SONIFICATION = 13,
406 AUDIO_USAGE_GAME = 14,
407 AUDIO_USAGE_VIRTUAL_SOURCE = 15,
408 AUDIO_USAGE_ASSISTANT = 16,
409} audio_usage_t;
410
411typedef enum {
412 AUDIO_CONTENT_TYPE_UNKNOWN = 0u,
413 AUDIO_CONTENT_TYPE_SPEECH = 1u,
414 AUDIO_CONTENT_TYPE_MUSIC = 2u,
415 AUDIO_CONTENT_TYPE_MOVIE = 3u,
416 AUDIO_CONTENT_TYPE_SONIFICATION = 4u,
417} audio_content_type_t;
418
419enum {
420 AUDIO_GAIN_MODE_JOINT = 0x1u,
421 AUDIO_GAIN_MODE_CHANNELS = 0x2u,
422 AUDIO_GAIN_MODE_RAMP = 0x4u,
423};
424
425typedef enum {
426 AUDIO_PORT_ROLE_NONE = 0,
427 AUDIO_PORT_ROLE_SOURCE = 1, // (::android::hardware::audio::common::V4_0::AudioPortRole.NONE implicitly + 1)
428 AUDIO_PORT_ROLE_SINK = 2, // (::android::hardware::audio::common::V4_0::AudioPortRole.SOURCE implicitly + 1)
429} audio_port_role_t;
430
431typedef enum {
432 AUDIO_PORT_TYPE_NONE = 0,
433 AUDIO_PORT_TYPE_DEVICE = 1, // (::android::hardware::audio::common::V4_0::AudioPortType.NONE implicitly + 1)
434 AUDIO_PORT_TYPE_MIX = 2, // (::android::hardware::audio::common::V4_0::AudioPortType.DEVICE implicitly + 1)
435 AUDIO_PORT_TYPE_SESSION = 3, // (::android::hardware::audio::common::V4_0::AudioPortType.MIX implicitly + 1)
436} audio_port_type_t;
437
438enum {
439 AUDIO_PORT_CONFIG_SAMPLE_RATE = 0x1u,
440 AUDIO_PORT_CONFIG_CHANNEL_MASK = 0x2u,
441 AUDIO_PORT_CONFIG_FORMAT = 0x4u,
442 AUDIO_PORT_CONFIG_GAIN = 0x8u,
443#ifndef AUDIO_NO_SYSTEM_DECLARATIONS
444 AUDIO_PORT_CONFIG_FLAGS = 0x10u, // Absent from AudioPortConfigMask, framework only.
445#endif
446};
447
448typedef enum {
449 AUDIO_LATENCY_LOW = 0,
450 AUDIO_LATENCY_NORMAL = 1, // (::android::hardware::audio::common::V4_0::AudioMixLatencyClass.LOW implicitly + 1)
451} audio_mix_latency_class_t;
452
453#ifdef __cplusplus
454}
455#endif
456
457#endif // HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_