| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| <!-- Copyright (C) 2020 The Android Open Source Project |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| http://www.apache.org/licenses/LICENSE-2.0 |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude"> |
| <globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" /> |
| <modules> |
| <!-- Primary Audio HAL --> |
| <module name="primary" halVersion="2.0"> |
| <attachedDevices> |
| <item>Speaker</item> |
| <item>Speaker Safe</item> |
| <item>Built-In Mic</item> |
| <item>Built-In Back Mic</item> |
| <item>Telephony Tx</item> |
| <item>Voice Call And Telephony Rx</item> |
| <item>Echo Ref In</item> |
| </attachedDevices> |
| <defaultOutputDevice>Speaker</defaultOutputDevice> |
| <mixPorts> |
| <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST" |
| recommendedMuteDurationMs="40"> |
| <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER"> |
| <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="compressed_offload" role="source" |
| flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD"> |
| <profile name="" format="AUDIO_FORMAT_MP3" |
| samplingRates="8000 16000 24000 32000 44100 48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_LC" |
| samplingRates="8000 16000 24000 32000 44100 48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_HE_V1" |
| samplingRates="8000 16000 24000 32000 44100 48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_HE_V2" |
| samplingRates="8000 16000 24000 32000 44100 48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/> |
| </mixPort> |
| <mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST"> |
| <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ"> |
| <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="incall playback" role="source" |
| flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO" /> |
| </mixPort> |
| <mixPort name="voice call tx" role="source"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO" /> |
| </mixPort> |
| <mixPort name="voip_rx" role="source" |
| flags="AUDIO_OUTPUT_FLAG_VOIP_RX"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="ultrasound output" role="source" flags="AUDIO_OUTPUT_FLAG_ULTRASOUND"> |
| <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" |
| samplingRates="96000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="primary input" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/> |
| </mixPort> |
| <mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" > |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> |
| </mixPort> |
| <mixPort name="incall capture" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO"/> |
| </mixPort> |
| <mixPort name="voice call rx" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO"/> |
| </mixPort> |
| <mixPort name="voip_tx" role="sink" |
| flags="AUDIO_INPUT_FLAG_VOIP_TX"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/> |
| </mixPort> |
| <mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> |
| </mixPort> |
| <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ"> |
| <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/> |
| </mixPort> |
| <mixPort name="hifi_playback" role="source" /> |
| <mixPort name="hifi_input" role="sink" /> |
| <mixPort name="echo_ref_input" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_STEREO"/> |
| </mixPort> |
| <mixPort name="ultrasound input" role="sink" |
| flags="AUDIO_INPUT_FLAG_ULTRASOUND"> |
| <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" |
| samplingRates="96000" channelMasks="AUDIO_CHANNEL_INDEX_MASK_3"/> |
| </mixPort> |
| </mixPorts> |
| <devicePorts> |
| <!-- Output devices declaration, i.e. Sink DEVICE PORT --> |
| <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink"> |
| </devicePort> |
| <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink"> |
| </devicePort> |
| <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink"> |
| </devicePort> |
| <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink"> |
| </devicePort> |
| <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink"> |
| </devicePort> |
| <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink"> |
| </devicePort> |
| <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink"> |
| </devicePort> |
| <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink"> |
| </devicePort> |
| <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink"> |
| </devicePort> |
| <devicePort tagName="USB Dock" type="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET" role="sink"> |
| </devicePort> |
| <devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink"> |
| </devicePort> |
| <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink"> |
| </devicePort> |
| <!-- Input devices declaration, i.e. Source DEVICE PORT --> |
| <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source"> |
| </devicePort> |
| <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source"> |
| </devicePort> |
| <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source"> |
| </devicePort> |
| <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source"> |
| </devicePort> |
| <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink" |
| encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink" |
| encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink" |
| encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source"> |
| </devicePort> |
| <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source"> |
| </devicePort> |
| <!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value --> |
| <devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source"> |
| </devicePort> |
| <devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source"> |
| </devicePort> |
| </devicePorts> |
| <!-- route declaration, i.e. list all available sources for a given sink --> |
| <routes> |
| <route type="mix" sink="Speaker" |
| sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/> |
| <route type="mix" sink="Speaker Safe" |
| sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/> |
| <route type="mix" sink="BT A2DP Out" |
| sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> |
| <route type="mix" sink="BT A2DP Headphones" |
| sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> |
| <route type="mix" sink="BT A2DP Speaker" |
| sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> |
| <route type="mix" sink="USB Device Out" |
| sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> |
| <route type="mix" sink="USB Dock" |
| sources="primary output,deep buffer,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> |
| <route type="mix" sink="USB Headset Out" |
| sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,hifi_playback"/> |
| <route type="mix" sink="BT SCO" |
| sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> |
| <route type="mix" sink="BT SCO Headset" |
| sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> |
| <route type="mix" sink="BT SCO Car Kit" |
| sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> |
| <route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" /> |
| <route type="mix" sink="primary input" |
| sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> |
| <route type="mix" sink="hotword input" |
| sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> |
| <route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" /> |
| <route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" /> |
| <route type="mix" sink="voip_tx" |
| sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> |
| <route type="mix" sink="fast input" |
| sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> |
| <route type="mix" sink="mmap_no_irq_in" |
| sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> |
| <route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" /> |
| <route type="mix" sink="echo_ref_input" sources="Echo Ref In"/> |
| <route type="mix" sink="ultrasound input" sources="Built-In Mic,Built-In Back Mic"/> |
| </routes> |
| </module> |
| <!-- Bluetooth Audio HAL --> |
| <xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/> |
| <!-- Usb Audio HAL --> |
| <module name="usbv2" halVersion="2.0"> |
| <mixPorts> |
| <mixPort name="usb_accessory output" role="source"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| </mixPorts> |
| <devicePorts> |
| <devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| </devicePorts> |
| <routes> |
| <route type="mix" sink="USB Host Out" |
| sources="usb_accessory output"/> |
| </routes> |
| </module> |
| <!-- Remote Submix Audio HAL --> |
| <xi:include href="r_submix_audio_policy_configuration.xml"/> |
| <!-- Audio Proxy Audio HAL --> |
| <xi:include href="audio_proxy_policy_configuration.xml"/> |
| </modules> |
| <!-- End of Modules section --> |
| <!-- Volume section --> |
| <xi:include href="audio_policy_volumes.xml"/> |
| <xi:include href="default_volume_tables.xml"/> |
| <!-- End of Volume section --> |
| </audioPolicyConfiguration> |