diff options
Diffstat (limited to 'emulator/audio/audio_policy_configuration.xml')
-rw-r--r-- | emulator/audio/audio_policy_configuration.xml | 282 |
1 files changed, 282 insertions, 0 deletions
diff --git a/emulator/audio/audio_policy_configuration.xml b/emulator/audio/audio_policy_configuration.xml new file mode 100644 index 0000000..eb1d453 --- /dev/null +++ b/emulator/audio/audio_policy_configuration.xml @@ -0,0 +1,282 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- Copyright (C) 2018 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. + "gain": constraints applied to the millibel values: + - maxValueMB >= minValueMB + - defaultValueMB >= minValueMB && defaultValueMB <= maxValueMB + - (maxValueMB - minValueMB) % stepValueMB == 0 + - (defaultValueMB - minValueMB) % stepValueMB == 0 + “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="3.0"> + <attachedDevices> + <!-- One bus per context --> + <item>bus0_media_out</item> + <item>bus1_navigation_out</item> + <item>bus2_voice_command_out</item> + <item>bus3_call_ring_out</item> + <item>bus4_call_out</item> + <item>bus5_alarm_out</item> + <item>bus6_notification_out</item> + <item>bus7_system_sound_out</item> + <item>Built-In Mic</item> + <item>Built-In Back Mic</item> + <item>bus0_mic1_in</item> + <!-- Test input device port for audio patch --> + <item>bus1_audio_patch_test_in</item> + </attachedDevices> + <defaultOutputDevice>bus0_media_out</defaultOutputDevice> + <mixPorts> + <mixPort name="mixport_bus0_media_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus1_navigation_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus2_voice_command_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus3_call_ring_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus4_call_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus5_alarm_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus6_notification_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> + <mixPort name="mixport_bus7_system_sound_out" role="source" + flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </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="mixport_bus0_mic1_in" role="sink"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_IN_STEREO"/> + </mixPort> + <!-- + Test mixport for audio patch, + this needs to be present to work around the framework limitation + --> + <mixPort name="mixport_audio_patch_in" role="sink"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" + channelMasks="AUDIO_CHANNEL_IN_STEREO"/> + </mixPort> + </mixPorts> + <devicePorts> + <devicePort tagName="bus0_media_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus0_media_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus1_navigation_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus1_navigation_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus2_voice_command_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus2_voice_command_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus3_call_ring_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus3_call_ring_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus4_call_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus4_call_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus5_alarm_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus5_alarm_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus6_notification_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus6_notification_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="bus7_system_sound_out" role="sink" type="AUDIO_DEVICE_OUT_BUS" + address="bus7_system_sound_out"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </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="bus0_mic1_in" type="AUDIO_DEVICE_IN_BUS" role="source" + address="bus0_mic1_in"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + <!-- Test input device ports for audio patch --> + <devicePort tagName="bus1_audio_patch_test_in" type="AUDIO_DEVICE_IN_BUS" role="source" + address="bus1_audio_patch_test_in"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/> + <gains> + <gain name="" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-3200" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/> + </gains> + </devicePort> + </devicePorts> + <!-- route declaration, i.e. list all available sources for a given sink --> + <routes> + <route type="mix" sink="bus0_media_out" sources="mixport_bus0_media_out"/> + <route type="mix" sink="bus1_navigation_out" sources="mixport_bus1_navigation_out"/> + <route type="mix" sink="bus2_voice_command_out" sources="mixport_bus2_voice_command_out"/> + <route type="mix" sink="bus3_call_ring_out" sources="mixport_bus3_call_ring_out"/> + <route type="mix" sink="bus4_call_out" sources="mixport_bus4_call_out"/> + <route type="mix" sink="bus5_alarm_out" sources="mixport_bus5_alarm_out"/> + <route type="mix" sink="bus6_notification_out" sources="mixport_bus6_notification_out"/> + <route type="mix" sink="bus7_system_sound_out" sources="mixport_bus7_system_sound_out"/> + <route type="mix" sink="primary input" sources="Built-In Mic,Built-In Back Mic"/> + <route type="mix" sink="mixport_bus0_mic1_in" sources="bus0_mic1_in"/> + <!-- + Listed source device ports will be routed to desired sinks via audio patch, + this route needs to be present to work around framework limitation for now + --> + <route type="mix" sink="mixport_audio_patch_in" sources="bus1_audio_patch_test_in"/> + </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 --> + <!-- End of Modules section --> + +</audioPolicyConfiguration> |