author | Ting Wang <ting.wang@amlogic.com> | 2018-08-28 11:23:35 (GMT) |
---|---|---|
committer | Ting Wang <ting.wang@amlogic.com> | 2018-08-29 11:01:25 (GMT) |
commit | f3f8b95ba523f9df57933ed24d728fda38f73b6d (patch) | |
tree | c0dcca5688048ff3618cce31855f22e3608ef172 | |
parent | 80e7ee57b995915c472e8bfe749738f46d617595 (diff) | |
download | einstein-f3f8b95ba523f9df57933ed24d728fda38f73b6d.zip einstein-f3f8b95ba523f9df57933ed24d728fda38f73b6d.tar.gz einstein-f3f8b95ba523f9df57933ed24d728fda38f73b6d.tar.bz2 |
AudioPolicy:switch to configurable audiopolicy[2/2]
PD#171653
Bug:111847625
Change-Id: I3dfebda7b84f8261a59db2e657e92aa75ad872f5
-rw-r--r-- | device.mk | 9 | ||||
-rw-r--r-- | files/audio_policy_configuration.xml | 206 |
2 files changed, 214 insertions, 1 deletions
@@ -30,12 +30,19 @@ endif PRODUCT_COPY_FILES += \ device/amlogic/einstein/files/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ device/amlogic/einstein/files/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ - device/amlogic/einstein/files/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \ device/amlogic/einstein/files/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ device/amlogic/einstein/files/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ device/amlogic/einstein/files/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ device/amlogic/einstein/files/mesondisplay.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/mesondisplay.cfg +ifeq ($(USE_XML_AUDIO_POLICY_CONF), 1) +PRODUCT_COPY_FILES += \ + device/amlogic/einstein/files/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml +else +PRODUCT_COPY_FILES += \ + device/amlogic/einstein/files/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf +endif + ifeq ($(TARGET_WITH_MEDIA_EXT), true) PRODUCT_COPY_FILES += \ device/amlogic/einstein/files/media_codecs_ext.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_ext.xml diff --git a/files/audio_policy_configuration.xml b/files/audio_policy_configuration.xml new file mode 100644 index 0000000..55315a3 --- a/dev/null +++ b/files/audio_policy_configuration.xml @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- 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="false"/> + + + <!-- 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="3.0"> + <attachedDevices> + <item>Speaker</item> + <item>Spdif</item> + <item>Built-In Mic</item> + <item>Built-In Back Mic</item> + <item>Spdif In</item> + <item>HDMI In</item> + <item>Line In</item> + <item>Tuner</item> + </attachedDevices> + <defaultOutputDevice>Speaker</defaultOutputDevice> + <mixPorts> + <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + <profile name="" format="AUDIO_FORMAT_PCM_32_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"/> + <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" + channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> + </mixPort> + </mixPorts> + <devicePorts> + <!-- Output devices declaration, i.e. Sink DEVICE PORT --> + <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER"> + <gains> + <gain name="gain_1" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-8400" + maxValueMB="4000" + defaultValueMB="0" + stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="Spdif In" role="source" type="AUDIO_DEVICE_IN_SPDIF"> + <gains> + <gain name="gain_1" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-8400" + maxValueMB="4000" + defaultValueMB="0" + stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="HDMI In" role="source" type="AUDIO_DEVICE_IN_HDMI"> + <gains> + <gain name="gain_1" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-8400" + maxValueMB="4000" + defaultValueMB="0" + stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="Line In" role="source" type="AUDIO_DEVICE_IN_LINE"> + <gains> + <gain name="gain_1" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-8400" + maxValueMB="4000" + defaultValueMB="0" + stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="Tuner" role="source" type="AUDIO_DEVICE_IN_TV_TUNER"> + <gains> + <gain name="gain_1" mode="AUDIO_GAIN_MODE_JOINT" + minValueMB="-8400" + maxValueMB="4000" + defaultValueMB="0" + stepValueMB="100"/> + </gains> + </devicePort> + <devicePort tagName="Spdif" role="sink" type="AUDIO_DEVICE_OUT_SPDIF"> + </devicePort> + <devicePort tagName="HDMI Arc" role="sink" type="AUDIO_DEVICE_OUT_HDMI_ARC"> + </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="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="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="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> + </devicePorts> + <!-- route declaration, i.e. list all available sources for a given sink --> + <routes> + <route type="mix" sink="Speaker" + sources="primary output,BT SCO Headset Mic"/> + <route type="mix" sink="Spdif" + sources="primary output,BT SCO Headset Mic"/> + <route type="mix" sink="HDMI Arc" + sources="primary output,BT SCO Headset Mic"/> + <route type="mix" sink="Wired Headset" + sources="primary output,BT SCO Headset Mic"/> + <route type="mix" sink="Wired Headphones" + sources="primary output,BT SCO Headset Mic"/> + <route type="mix" sink="primary input" + sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,Spdif In,HDMI In,Line 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"/> + + <!-- Hearing aid Audio HAL --> + <!-- <xi:include href="hearing_aid_audio_policy_configuration.xml"/> --> + + <!-- MSD Audio HAL (optional) --> + <!-- <xi:include href="msd_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> |