| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| <!-- Copyright (c) 2016, The Linux Foundation. All rights reserved |
| Not a Contribution. |
| --> |
| <!-- Copyright (C) 2015 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="1.0" xmlns:xi="http://www.w3.org/2001/XInclude"> |
| <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” --> |
| |
| <!-- Global configuration Decalaration --> |
| <globalConfiguration speaker_drc_enabled="true"/> |
| |
| |
| <!-- Modules section: |
| There is one section per audio HW module present on the platform. |
| Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”. |
| The module names are the same as in current .conf file: |
| “primary”, “A2DP”, “remote_submix”, “USB” |
| Each module will contain the following sections: |
| “devicePorts”: a list of device descriptors for all input and output devices accessible via this |
| module. |
| This contains both permanently attached devices and removable devices. |
| “mixPorts”: listing all output and input streams exposed by the audio HAL |
| “routes”: list of possible connections between input and output devices or between stream and |
| devices. |
| "route": is defined by an attribute: |
| -"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix) |
| -"sink": the sink involved in this route |
| -"sources": all the sources than can be connected to the sink via vis route |
| “attachedDevices”: permanently attached devices. |
| The attachedDevices section is a list of devices names. The names correspond to device names |
| defined in <devicePorts> section. |
| “defaultOutputDevice”: device to be used by default when no policy rule applies |
| --> |
| <modules> |
| <!-- Primary Audio HAL --> |
| <module name="primary" halVersion="2.0"> |
| <attachedDevices> |
| <item>Earpiece</item> |
| <item>Speaker</item> |
| <item>Telephony Tx</item> |
| <item>Built-In Mic</item> |
| <item>Built-In Back Mic</item> |
| <item>FM Tuner</item> |
| <item>Telephony Rx</item> |
| </attachedDevices> |
| <defaultOutputDevice>Speaker</defaultOutputDevice> |
| <mixPorts> |
| <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="raw" role="source" |
| flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| 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_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="multichannel" role="source" |
| flags="AUDIO_OUTPUT_FLAG_DIRECT"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/> |
| </mixPort> |
| <mixPort name="direct_pcm" role="source" |
| flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="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"/> |
| <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="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"/> |
| <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="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"/> |
| </mixPort> |
| <mixPort name="compressed_offload" role="source" |
| flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING"> |
| <profile name="" format="AUDIO_FORMAT_MP3" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_FLAC" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_ALAC" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="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"/> |
| <profile name="" format="AUDIO_FORMAT_APE" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_LC" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_HE_V1" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_HE_V2" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_WMA" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" |
| channelMasks="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"/> |
| <profile name="" format="AUDIO_FORMAT_WMA_PRO" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="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"/> |
| <profile name="" format="AUDIO_FORMAT_VORBIS" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| <profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2" |
| samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" |
| channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/> |
| </mixPort> |
| <mixPort name="voice_tx" role="source"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> |
| </mixPort> |
| <mixPort name="voip_rx" role="source" |
| flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/> |
| </mixPort> |
| |
| <mixPort name="primary input" role="sink"> |
| <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,AUDIO_CHANNEL_IN_FRONT_BACK"/> |
| </mixPort> |
| <mixPort name="surround_sound" role="sink"> |
| <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,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1"/> |
| </mixPort> |
| <mixPort name="voice_rx" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> |
| </mixPort> |
| </mixPorts> |
| |
| <devicePorts> |
| <!-- Output devices declaration, i.e. Sink DEVICE PORT --> |
| <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/> |
| </devicePort> |
| <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address=""> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/> |
| </devicePort> |
| <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/> |
| </devicePort> |
| <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/> |
| </devicePort> |
| <devicePort tagName="BT SCO All" type="AUDIO_DEVICE_OUT_ALL_SCO" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/> |
| </devicePort> |
| <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| <devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/> |
| </devicePort> |
| <devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/> |
| </devicePort> |
| <devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> |
| </devicePort> |
| |
| <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source"> |
| <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,AUDIO_CHANNEL_IN_FRONT_BACK"/> |
| </devicePort> |
| <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source"> |
| <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,AUDIO_CHANNEL_IN_FRONT_BACK"/> |
| </devicePort> |
| <devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="48000" |
| channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> |
| </devicePort> |
| <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source"> |
| <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,AUDIO_CHANNEL_IN_FRONT_BACK"/> |
| </devicePort> |
| <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/> |
| </devicePort> |
| <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source"> |
| <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" |
| samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/> |
| </devicePort> |
| </devicePorts> |
| <!-- route declaration, i.e. list all available sources for a given sink --> |
| <routes> |
| <route type="mix" sink="Earpiece" |
| sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> |
| <route type="mix" sink="Speaker" |
| sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> |
| <route type="mix" sink="Wired Headset" |
| sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> |
| <route type="mix" sink="Wired Headphones" |
| sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> |
| <route type="mix" sink="Line" |
| sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> |
| <route type="mix" sink="HDMI" |
| sources="primary output,raw,deep_buffer,multichannel,direct_pcm,compressed_offload"/> |
| <route type="mix" sink="Proxy" |
| sources="primary output,raw,deep_buffer,multichannel,direct_pcm,compressed_offload"/> |
| <route type="mix" sink="FM" |
| sources="primary output"/> |
| <route type="mix" sink="BT SCO All" |
| sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/> |
| <route type="mix" sink="Telephony Tx" |
| sources="voice_tx"/> |
| <route type="mix" sink="primary input" |
| sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/> |
| <route type="mix" sink="surround_sound" |
| sources="Built-In Mic,Built-In Back Mic"/> |
| <route type="mix" sink="voice_rx" |
| sources="Telephony Rx"/> |
| </routes> |
| |
| </module> |
| |
| <!-- A2dp Audio HAL --> |
| <xi:include href="a2dp_audio_policy_configuration.xml"/> |
| |
| <!-- Usb Audio HAL --> |
| <xi:include href="usb_audio_policy_configuration.xml"/> |
| |
| <!-- Remote Submix Audio HAL --> |
| <xi:include href="r_submix_audio_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> |