blob: a3b0c55d76581516c2daa8675c939764ef05ae19 [file] [log] [blame]
Banajit Goswami8b11ffe2016-04-07 01:56:17 -07001# Global configuration section: lists input and output devices always present on the device
2# as well as the output device selected by default.
3# Devices are designated by a string that corresponds to the enum in audio.h
4
5global_configuration {
6 attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_TELEPHONY_TX
7 default_output_device AUDIO_DEVICE_OUT_SPEAKER
8 attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_TELEPHONY_RX|AUDIO_DEVICE_IN_FM_TUNER
9}
10
11# audio hardware module section: contains descriptors for all audio hw modules present on the
12# device. Each hw module node is named after the corresponding hw module library base name.
13# For instance, "primary" corresponds to audio.primary.<device>.so.
14# The "primary" module is mandatory and must include at least one output with
15# AUDIO_OUTPUT_FLAG_PRIMARY flag.
16# Each module descriptor contains one or more output profile descriptors and zero or more
17# input profile descriptors. Each profile lists all the parameters supported by a given output
18# or input stream category.
19# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
20# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
21
22audio_hw_modules {
23 primary {
24 outputs {
25 primary {
26 sampling_rates 44100|48000
27 channel_masks AUDIO_CHANNEL_OUT_STEREO
28 formats AUDIO_FORMAT_PCM_16_BIT
Naresh Tannirub4dbe7c2016-07-24 07:19:51 +053029 devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070030 flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY
31 }
32 raw {
33 sampling_rates 48000
34 channel_masks AUDIO_CHANNEL_OUT_STEREO
35 formats AUDIO_FORMAT_PCM_16_BIT
Naresh Tannirub4dbe7c2016-07-24 07:19:51 +053036 devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070037 flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
38 }
39 deep_buffer {
40 sampling_rates 44100|48000
41 channel_masks AUDIO_CHANNEL_OUT_STEREO
42 formats AUDIO_FORMAT_PCM_16_BIT
Naresh Tannirub4dbe7c2016-07-24 07:19:51 +053043 devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070044 flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
45 }
Satish Babu Patakokila50949a62016-06-13 16:53:58 +053046 compress_passthrough {
47 sampling_rates dynamic
48 channel_masks dynamic
49 formats dynamic
50 devices AUDIO_DEVICE_OUT_AUX_DIGITAL
51 flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
52 }
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070053 multichannel {
54 sampling_rates 8000|11025|16000|22050|32000|44100|48000|64000|88200|96000|128000|176400|192000
55 channel_masks dynamic
56 formats AUDIO_FORMAT_PCM_16_BIT
57 devices AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY
58 flags AUDIO_OUTPUT_FLAG_DIRECT
59 }
60 direct_pcm {
Ashish Jain5f8ebf12016-05-11 19:14:59 +053061 sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|64000|88200|96000|176400|192000
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070062 channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_2POINT1|AUDIO_CHANNEL_OUT_QUAD|AUDIO_CHANNEL_OUT_PENTA|AUDIO_CHANNEL_OUT_5POINT1|AUDIO_CHANNEL_OUT_6POINT1|AUDIO_CHANNEL_OUT_7POINT1
Ashish Jain5f8ebf12016-05-11 19:14:59 +053063 formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT
Naresh Tannirub4dbe7c2016-07-24 07:19:51 +053064 devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070065 flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM
66 }
67 compress_offload {
68 sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|64000|88200|96000|176400|192000
69 channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_2POINT1|AUDIO_CHANNEL_OUT_QUAD|AUDIO_CHANNEL_OUT_PENTA|AUDIO_CHANNEL_OUT_5POINT1|AUDIO_CHANNEL_OUT_6POINT1|AUDIO_CHANNEL_OUT_7POINT1
Ashish Jain5f8ebf12016-05-11 19:14:59 +053070 formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
Naresh Tannirub4dbe7c2016-07-24 07:19:51 +053071 devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070072 flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
73 }
74 incall_music {
75 sampling_rates 8000|16000|48000
76 channel_masks AUDIO_CHANNEL_OUT_MONO
77 formats AUDIO_FORMAT_PCM_16_BIT
78 devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO
79 flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_INCALL_MUSIC
80 }
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070081 voip_rx {
Shiv Maliyappanahalli5c2c4b92016-05-03 16:09:14 -070082 sampling_rates 8000|16000|32000|48000
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070083 channel_masks AUDIO_CHANNEL_OUT_MONO
84 formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_AMR_WB|AUDIO_FORMAT_QCELP|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_EVRCB|AUDIO_FORMAT_EVRCWB|AUDIO_FORMAT_EVRCNW
85 devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO
86 flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX
87 }
88 }
89 inputs {
90 primary {
91 sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
92 channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK
93 formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_AMR_WB|AUDIO_FORMAT_QCELP|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_EVRCB|AUDIO_FORMAT_EVRCWB|AUDIO_FORMAT_EVRCNW
Kuirong Wang357e0b12016-07-06 00:29:15 -070094 devices AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_FM_TUNER|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_USB_DEVICE
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070095 }
96 surround_sound {
97 sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
Chaithanya Krishna Bacharaju58f03872016-05-30 11:59:03 +053098 channel_masks AUDIO_CHANNEL_IN_5POINT1|AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK|AUDIO_CHANNEL_INDEX_MASK_3|AUDIO_CHANNEL_INDEX_MASK_4
Banajit Goswami8b11ffe2016-04-07 01:56:17 -070099 formats AUDIO_FORMAT_PCM_16_BIT
100 devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC
101 }
Manish Dewangan9a7292d2016-05-20 14:17:02 +0530102 record_24 {
103 sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|96000|192000
Chaithanya Krishna Bacharaju58f03872016-05-30 11:59:03 +0530104 channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK|AUDIO_CHANNEL_INDEX_MASK_3|AUDIO_CHANNEL_INDEX_MASK_4
Manish Dewangan9a7292d2016-05-20 14:17:02 +0530105 formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT
106 devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET
107 }
Banajit Goswami8b11ffe2016-04-07 01:56:17 -0700108 }
109 }
110 a2dp {
Banajit Goswami8b11ffe2016-04-07 01:56:17 -0700111 inputs {
112 a2dp {
113 sampling_rates 44100|48000
114 channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
115 formats AUDIO_FORMAT_PCM_16_BIT
116 devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP
117 }
118 }
119 }
120 usb {
121 outputs {
122 usb_accessory {
123 sampling_rates 44100
124 channel_masks AUDIO_CHANNEL_OUT_STEREO
125 formats AUDIO_FORMAT_PCM_16_BIT
126 devices AUDIO_DEVICE_OUT_USB_ACCESSORY
127 }
Banajit Goswami8b11ffe2016-04-07 01:56:17 -0700128 }
129 }
130 r_submix {
131 outputs {
132 submix {
133 sampling_rates 48000
134 channel_masks AUDIO_CHANNEL_OUT_STEREO
135 formats AUDIO_FORMAT_PCM_16_BIT
136 devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
137 }
138 }
139 inputs {
140 submix {
141 sampling_rates 48000
142 channel_masks AUDIO_CHANNEL_IN_STEREO
143 formats AUDIO_FORMAT_PCM_16_BIT
144 devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
145 }
146 }
147 }
148}