1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<!-- Copyright (C) 2018 The Android Open Source Project
3
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
17<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
18    <globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="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>
33                <mixPort name="voip_rx" role="source"
34                         flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
35                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
36                           samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
37                </mixPort>
38                <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
39                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
40                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
41                </mixPort>
42                <mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
43                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
44                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
45                </mixPort>
46                <mixPort name="hifi_playback" role="source" />
47                <mixPort name="deep_buffer" role="source"
48                        flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
49                    <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
50                             samplingRates="44100 48000"
51                             channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
52                </mixPort>
53                <mixPort name="compressed_offload" role="source"
54                         flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
55                    <profile name="" format="AUDIO_FORMAT_MP3"
56                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
57                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
58                    <profile name="" format="AUDIO_FORMAT_AAC_LC"
59                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
60                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
61                    <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
62                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
63                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
64                    <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
65                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
66                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
67                </mixPort>
68                <mixPort name="voice_tx" role="source">
69                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
70                             samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
71                </mixPort>
72                <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
73                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
74                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
75                </mixPort>
76                <mixPort name="incall_music_uplink" role="source"
77                        flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
78                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
79                             samplingRates="8000 16000 48000"
80                             channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
81                </mixPort>
82                <mixPort name="primary input" role="sink" maxActiveCount="0">
83                    <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
84                             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"/>
86                </mixPort>
87                <mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD">
88                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
89                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
90                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
91                </mixPort>
92                <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
93                    <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
94                             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"/>
96                </mixPort>
97                <mixPort name="hifi_input" role="sink" />
98                <mixPort name="voice_rx" role="sink">
99                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
100                             samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
101                </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"
104                             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"/>
106                </mixPort>
107                <mixPort name="voip_tx" role="sink"
108                         flags="AUDIO_INPUT_FLAG_VOIP_TX">
109                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
110                             samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
111                </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="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
121                </devicePort>
122                <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
123                </devicePort>
124                <devicePort tagName="Line Out" type="AUDIO_DEVICE_OUT_LINE" role="sink">
125                </devicePort>
126                <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
127                </devicePort>
128                <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
129                </devicePort>
130                <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
131                </devicePort>
132                <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
133                </devicePort>
134                <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
135                </devicePort>
136                <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
137                </devicePort>
138                <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
139                            encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
140                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
141                             samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
142                </devicePort>
143                <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
144                            encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
145                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
146                             samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
147                </devicePort>
148                <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
149                            encodedFormats="AUDIO_FORMAT_LDAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
150                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
151                             samplingRates="44100 48000 88200 96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
152                </devicePort>
153                <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
154                </devicePort>
155                <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
156                </devicePort>
157                <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
158                </devicePort>
159                <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
160                </devicePort>
161                <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
162                </devicePort>
163                <!-- TODO: Enable multi-channel recording -->
164                <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
165                </devicePort>
166                <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
167                </devicePort>
168            </devicePorts>
169            <routes>
170                <route type="mix" sink="Earpiece"
171                       sources="primary output,raw,deep_buffer,mmap_no_irq_out,voip_rx"/>
172                <route type="mix" sink="Speaker"
173                       sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
174                <route type="mix" sink="Speaker Safe"
175                       sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
176                <route type="mix" sink="Wired Headset"
177                       sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
178                <route type="mix" sink="Wired Headphones"
179                       sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
180                <route type="mix" sink="Line Out"
181                       sources="primary output,raw,deep_buffer,compressed_offload,mmap_no_irq_out,voip_rx"/>
182                <route type="mix" sink="BT SCO"
183                       sources="primary output,raw,deep_buffer,voip_rx"/>
184                <route type="mix" sink="BT SCO Headset"
185                       sources="primary output,raw,deep_buffer,voip_rx"/>
186                <route type="mix" sink="BT SCO Car Kit"
187                       sources="primary output,raw,deep_buffer,voip_rx"/>
188                <route type="mix" sink="USB Device Out"
189                       sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
190                <route type="mix" sink="USB Headset Out"
191                       sources="primary output,raw,deep_buffer,compressed_offload,hifi_playback,mmap_no_irq_out,voip_rx"/>
192                <route type="mix" sink="Telephony Tx"
193                       sources="voice_tx,incall_music_uplink"/>
194                <route type="mix" sink="primary input"
195                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
196                <route type="mix" sink="hotword input"
197                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
198                <route type="mix" sink="fast input"
199                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
200                <route type="mix" sink="voice_rx"
201                       sources="Telephony Rx"/>
202                <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
203                <route type="mix" sink="mmap_no_irq_in"
204                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
205                <route type="mix" sink="voip_tx"
206                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
207                <route type="mix" sink="BT A2DP Out"
208                       sources="primary output,deep_buffer,compressed_offload"/>
209                <route type="mix" sink="BT A2DP Headphones"
210                       sources="primary output,deep_buffer,compressed_offload"/>
211                <route type="mix" sink="BT A2DP Speaker"
212                       sources="primary output,deep_buffer,compressed_offload"/>
213            </routes>
214        </module>
215
216        <!-- Usb Audio HAL -->
217        <module name="usb" halVersion="2.0">
218            <mixPorts>
219                <mixPort name="usb_accessory output" role="source">
220                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
221                             samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
222                </mixPort>
223            </mixPorts>
224            <devicePorts>
225                <devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
226                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
227                             samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
228                </devicePort>
229            </devicePorts>
230            <routes>
231                <route type="mix" sink="USB Host Out"
232                       sources="usb_accessory output"/>
233            </routes>
234        </module>
235
236        <!-- Remote Submix Audio HAL -->
237        <xi:include href="r_submix_audio_policy_configuration.xml"/>
238
239        <!-- Bluetooth Audio HAL for Hearing aid -->
240        <xi:include href="bluetooth_hearing_aid_audio_policy_configuration.xml"/>
241
242    </modules>
243
244    <!-- Volume section -->
245
246    <xi:include href="audio_policy_volumes.xml"/>
247    <xi:include href="default_volume_tables.xml"/>
248
249</audioPolicyConfiguration>
250