• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // 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
10 extern "C" {
11 #endif
12 
13 enum {
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 
20 typedef 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 
42 typedef 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 
64 typedef 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 
71 typedef 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 
180 enum {
181     FCC_2 = 2,
182     FCC_8 = 8,
183 };
184 
185 enum {
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 
278 typedef 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 
289 enum {
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 
355 typedef 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 
374 typedef 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 } audio_input_flags_t;
384 
385 typedef enum {
386     AUDIO_USAGE_UNKNOWN = 0,
387     AUDIO_USAGE_MEDIA = 1,
388     AUDIO_USAGE_VOICE_COMMUNICATION = 2,
389     AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING = 3,
390     AUDIO_USAGE_ALARM = 4,
391     AUDIO_USAGE_NOTIFICATION = 5,
392     AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE = 6,
393 #ifndef AUDIO_NO_SYSTEM_DECLARATIONS
394     AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7,
395     AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8,
396     AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9,
397     AUDIO_USAGE_NOTIFICATION_EVENT = 10,
398 #endif // AUDIO_NO_SYSTEM_DECLARATIONS
399     AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY = 11,
400     AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12,
401     AUDIO_USAGE_ASSISTANCE_SONIFICATION = 13,
402     AUDIO_USAGE_GAME = 14,
403     AUDIO_USAGE_VIRTUAL_SOURCE = 15,
404     AUDIO_USAGE_ASSISTANT = 16,
405 } audio_usage_t;
406 
407 typedef enum {
408     AUDIO_CONTENT_TYPE_UNKNOWN = 0u,
409     AUDIO_CONTENT_TYPE_SPEECH = 1u,
410     AUDIO_CONTENT_TYPE_MUSIC = 2u,
411     AUDIO_CONTENT_TYPE_MOVIE = 3u,
412     AUDIO_CONTENT_TYPE_SONIFICATION = 4u,
413 } audio_content_type_t;
414 
415 enum {
416     AUDIO_GAIN_MODE_JOINT    = 0x1u,
417     AUDIO_GAIN_MODE_CHANNELS = 0x2u,
418     AUDIO_GAIN_MODE_RAMP     = 0x4u,
419 };
420 
421 typedef enum {
422     AUDIO_PORT_ROLE_NONE = 0,
423     AUDIO_PORT_ROLE_SOURCE = 1, // (::android::hardware::audio::common::V4_0::AudioPortRole.NONE implicitly + 1)
424     AUDIO_PORT_ROLE_SINK = 2, // (::android::hardware::audio::common::V4_0::AudioPortRole.SOURCE implicitly + 1)
425 } audio_port_role_t;
426 
427 typedef enum {
428     AUDIO_PORT_TYPE_NONE = 0,
429     AUDIO_PORT_TYPE_DEVICE = 1, // (::android::hardware::audio::common::V4_0::AudioPortType.NONE implicitly + 1)
430     AUDIO_PORT_TYPE_MIX = 2, // (::android::hardware::audio::common::V4_0::AudioPortType.DEVICE implicitly + 1)
431     AUDIO_PORT_TYPE_SESSION = 3, // (::android::hardware::audio::common::V4_0::AudioPortType.MIX implicitly + 1)
432 } audio_port_type_t;
433 
434 enum {
435     AUDIO_PORT_CONFIG_SAMPLE_RATE  = 0x1u,
436     AUDIO_PORT_CONFIG_CHANNEL_MASK = 0x2u,
437     AUDIO_PORT_CONFIG_FORMAT       = 0x4u,
438     AUDIO_PORT_CONFIG_GAIN         = 0x8u,
439 };
440 
441 typedef enum {
442     AUDIO_LATENCY_LOW = 0,
443     AUDIO_LATENCY_NORMAL = 1, // (::android::hardware::audio::common::V4_0::AudioMixLatencyClass.LOW implicitly + 1)
444 } audio_mix_latency_class_t;
445 
446 #ifdef __cplusplus
447 }
448 #endif
449 
450 #endif  // HIDL_GENERATED_ANDROID_HARDWARE_AUDIO_COMMON_V4_0_EXPORTED_CONSTANTS_H_
451