blob: 37d69d94d4b69526b0d35dc441a60c2b4d471616 [file] [log] [blame]
Chris Friesdc2b50d2017-06-27 12:02:00 -05001<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Petri Gyntheree8432a2018-04-17 18:55:35 -07002<!-- Copyright (C) 2018 The Android Open Source Project
Chris Friesdc2b50d2017-06-27 12:02:00 -05003
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000017<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
Chris Friesdc2b50d2017-06-27 12:02:00 -050018 <globalConfiguration speaker_drc_enabled="true"/>
19
20 <modules>
21 <module name="primary" halVersion="2.0">
22 <attachedDevices>
23 <item>Speaker</item>
24 <item>Speaker Safe</item>
25 <item>Earpiece</item>
26 <item>Telephony Tx</item>
27 <item>Built-In Mic</item>
28 <item>Built-In Back Mic</item>
29 <item>Telephony Rx</item>
30 </attachedDevices>
31 <defaultOutputDevice>Speaker</defaultOutputDevice>
32 <mixPorts>
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000033 <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
Chris Friesdc2b50d2017-06-27 12:02:00 -050034 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
35 samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
36 </mixPort>
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000037 <mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
Chris Friesdc2b50d2017-06-27 12:02:00 -050038 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
39 samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
40 </mixPort>
41 <mixPort name="hifi_playback" role="source" />
42 <mixPort name="deep_buffer" role="source"
43 flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
juyuchen6871bc52018-05-21 16:22:12 +080044 <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000045 samplingRates="44100 48000"
Chris Friesdc2b50d2017-06-27 12:02:00 -050046 channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
47 </mixPort>
48 <mixPort name="compressed_offload" role="source"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000049 flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
Chris Friesdc2b50d2017-06-27 12:02:00 -050050 <profile name="" format="AUDIO_FORMAT_MP3"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000051 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
52 channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050053 <profile name="" format="AUDIO_FORMAT_AAC_LC"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000054 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
55 channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050056 <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000057 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
58 channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050059 <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000060 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
61 channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050062 </mixPort>
63 <mixPort name="voice_tx" role="source">
64 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000065 samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050066 </mixPort>
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000067 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
Chris Friesdc2b50d2017-06-27 12:02:00 -050068 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
69 samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
70 </mixPort>
71 <mixPort name="voip_rx" role="source"
kevinshhsub8481bb2018-03-12 19:10:48 +080072 flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
Chris Friesdc2b50d2017-06-27 12:02:00 -050073 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000074 samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050075 </mixPort>
Nadav Bar2ac62142018-01-07 11:50:01 +020076 <mixPort name="incall_music_uplink" role="source"
77 flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
78 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000079 samplingRates="8000 16000 48000"
Nadav Bar2ac62142018-01-07 11:50:01 +020080 channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
81 </mixPort>
Chris Friesdc2b50d2017-06-27 12:02:00 -050082 <mixPort name="primary input" role="sink">
83 <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000084 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
85 channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050086 </mixPort>
Carter Hsu04760882019-05-02 10:02:39 +080087 <mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
88 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000089 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
90 channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
Carter Hsu04760882019-05-02 10:02:39 +080091 </mixPort>
Chris Friesdc2b50d2017-06-27 12:02:00 -050092 <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
93 <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +000094 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
95 channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -050096 </mixPort>
97 <mixPort name="hifi_input" role="sink" />
98 <mixPort name="voice_rx" role="sink">
99 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +0000100 samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500101 </mixPort>
102 <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
103 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +0000104 samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
105 channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500106 </mixPort>
107 <mixPort name="voip_tx" role="sink"
108 flags="AUDIO_INPUT_FLAG_VOIP_TX">
109 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +0000110 samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500111 </mixPort>
112 </mixPorts>
113 <devicePorts>
114 <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
115 </devicePort>
116 <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
117 </devicePort>
118 <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
119 </devicePort>
120 <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
121 </devicePort>
122 <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
123 </devicePort>
124 <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
125 </devicePort>
126 <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
127 </devicePort>
128 <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
129 </devicePort>
130 <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
131 </devicePort>
Eric Laurentf75b46b2019-01-18 12:25:03 -0800132 <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
133 encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
Petri Gyntheree8432a2018-04-17 18:55:35 -0700134 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +0000135 samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
Petri Gyntheree8432a2018-04-17 18:55:35 -0700136 </devicePort>
Eric Laurentf75b46b2019-01-18 12:25:03 -0800137 <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
138 encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
Petri Gyntheree8432a2018-04-17 18:55:35 -0700139 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +0000140 samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
Petri Gyntheree8432a2018-04-17 18:55:35 -0700141 </devicePort>
Eric Laurentf75b46b2019-01-18 12:25:03 -0800142 <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
143 encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
Petri Gyntheree8432a2018-04-17 18:55:35 -0700144 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
Mikhail Naganovbf6ea052021-02-17 02:16:06 +0000145 samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
Petri Gyntheree8432a2018-04-17 18:55:35 -0700146 </devicePort>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500147 <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
148 </devicePort>
149 <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
150 </devicePort>
151 <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
152 </devicePort>
153 <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
154 </devicePort>
155 <!-- TODO: Enable multi-channel recording -->
156 <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
157 </devicePort>
158 <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
159 </devicePort>
160 </devicePorts>
161 <routes>
162 <route type="mix" sink="Earpiece"
163 sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
164 <route type="mix" sink="Speaker"
165 sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
166 <route type="mix" sink="Speaker Safe"
167 sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
168 <route type="mix" sink="BT SCO"
169 sources="primary output,raw,deep_buffer,voip_rx"/>
170 <route type="mix" sink="BT SCO Headset"
171 sources="primary output,raw,deep_buffer,voip_rx"/>
172 <route type="mix" sink="BT SCO Car Kit"
173 sources="primary output,raw,deep_buffer,voip_rx"/>
174 <route type="mix" sink="USB Device Out"
175 sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
176 <route type="mix" sink="USB Headset Out"
177 sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
178 <route type="mix" sink="Telephony Tx"
Nadav Bar2ac62142018-01-07 11:50:01 +0200179 sources="voice_tx,incall_music_uplink"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500180 <route type="mix" sink="primary input"
181 sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
Carter Hsu04760882019-05-02 10:02:39 +0800182 <route type="mix" sink="hotword input"
183 sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500184 <route type="mix" sink="fast input"
185 sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
186 <route type="mix" sink="voice_rx"
187 sources="Telephony Rx"/>
188 <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
189 <route type="mix" sink="mmap_no_irq_in"
190 sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/>
191 <route type="mix" sink="voip_tx"
192 sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
Petri Gyntheree8432a2018-04-17 18:55:35 -0700193 <route type="mix" sink="BT A2DP Out"
Aniket Kumar Latade345162018-06-18 16:35:13 -0700194 sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
Petri Gyntheree8432a2018-04-17 18:55:35 -0700195 <route type="mix" sink="BT A2DP Headphones"
Aniket Kumar Latade345162018-06-18 16:35:13 -0700196 sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
Petri Gyntheree8432a2018-04-17 18:55:35 -0700197 <route type="mix" sink="BT A2DP Speaker"
Aniket Kumar Latade345162018-06-18 16:35:13 -0700198 sources="primary output,deep_buffer,compressed_offload,voip_rx"/>
Chris Friesdc2b50d2017-06-27 12:02:00 -0500199 </routes>
200 </module>
201
Chris Friesdc2b50d2017-06-27 12:02:00 -0500202 <!-- Usb Audio HAL -->
203 <module name="usb" halVersion="2.0">
204 <mixPorts>
205 <mixPort name="usb_accessory output" role="source">
206 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
207 samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
208 </mixPort>
209 </mixPorts>
210 <devicePorts>
211 <devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
212 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
213 samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
214 </devicePort>
215 </devicePorts>
216 <routes>
217 <route type="mix" sink="USB Host Out"
218 sources="usb_accessory output"/>
219 </routes>
220 </module>
221
222 <!-- Remote Submix Audio HAL -->
223 <xi:include href="r_submix_audio_policy_configuration.xml"/>
224
Cheney Nic05ccdb2019-02-24 02:37:42 +0800225 <!-- Bluetooth Audio HAL for Hearing aid -->
226 <xi:include href="bluetooth_hearing_aid_audio_policy_configuration.xml"/>
Jakub Pawlowskia70c7f22018-03-12 09:44:29 -0700227
Chris Friesdc2b50d2017-06-27 12:02:00 -0500228 </modules>
229
230 <!-- Volume section -->
231
232 <xi:include href="audio_policy_volumes.xml"/>
233 <xi:include href="default_volume_tables.xml"/>
234
235</audioPolicyConfiguration>