Browse Source

audio: update audio AIDL config files

 - remove audio_policy_configuration.xml
 - add in-call-capture paths
 - add "PCM Soft Ramp" for speaker amp
 - set default "Digital PCM Volume" to 0

Bug: 206737711
Test: mm
Change-Id: Id9de5d3fa823f996d127adf64cca9201f11ecd0f
David Li 2 years ago
parent
commit
ec5fddb3d2

+ 0 - 213
audio/lynx/aidl_config/audio_policy_configuration.xml

@@ -1,213 +0,0 @@
-<?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>Earpiece</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="haptic" role="source">
-          <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-            samplingRates="48000"
-            channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
-        </mixPort>
-        <mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
-          <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
-            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="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="mmap playback" 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="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="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="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="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD">
-          <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-            samplingRates="16000"
-            channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO" />
-        </mixPort>
-        <mixPort name="hotword tap" role="sink" flags="AUDIO_INPUT_FLAG_HOTWORD_TAP">
-          <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-            samplingRates="16000"
-            channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO" />
-        </mixPort>
-        <mixPort name="hotword lookback" role="sink" flags="AUDIO_INPUT_FLAG_HOTWORD_TAP AUDIO_INPUT_FLAG_HW_LOOKBACK">
-          <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-            samplingRates="16000"
-            channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO" />
-        </mixPort>
-        <!-- <mixPort name="mmap capture" 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> -->
-      </mixPorts>
-      <devicePorts>
-        <!-- Output devices declaration, i.e. Sink DEVICE PORT -->
-        <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink" />
-        <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink" />
-        <devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink" />
-        <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET"
-          role="sink" />
-        <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE"
-          role="sink" />
-        <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink" />
-        <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET"
-          role="sink" />
-        <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT"
-          role="sink" />
-        <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink" />
-        <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET"
-          role="sink" />
-        <devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink" />
-        <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink" />
-        <!-- Input devices declaration, i.e. Source DEVICE PORT -->
-        <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source" />
-        <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC"
-          role="source" />
-        <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET"
-          role="source" />
-        <devicePort tagName="BT SCO Headset Mic"
-          type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source" />
-        <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
-          encodedFormats="AUDIO_FORMAT_OPUS 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_OPUS 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_OPUS 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 BLE Headset" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"
-          encodedFormats="AUDIO_FORMAT_LC3">
-          <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-            samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
-        </devicePort>
-        <devicePort tagName="BT BLE Speaker" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"
-          encodedFormats="AUDIO_FORMAT_LC3">
-          <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-            samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
-        </devicePort>
-        <devicePort tagName="BLE Headset Mic" type="AUDIO_DEVICE_IN_BLE_HEADSET"
-          role="source">
-        </devicePort>
-        <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source" />
-        <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET"
-          role="source" />
-        <!-- 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 tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE"
-          role="source" />
-      </devicePorts>
-      <!-- route declaration, i.e. list all available sources for a given sink -->
-      <routes>
-        <route type="mix" sink="Earpiece"
-          sources="primary output,deep buffer,haptic,voip_rx,compressed offload" />
-        <route type="mix" sink="Speaker"
-          sources="primary output,deep buffer,haptic,voip_rx,compressed offload" />
-        <route type="mix" sink="Telephony Tx" sources="incall playback" />
-        <route type="mix" sink="primary input"
-          sources="Built-In Mic,Built-In Back Mic" />
-        <route type="mix" sink="voip_tx"
-          sources="Built-In Mic,Built-In Back Mic" />
-        <route type="mix" sink="fast input"
-          sources="Built-In Mic,Built-In Back Mic" />
-        <route type="mix" sink="hotword input" sources="Built-In Mic" />
-        <route type="mix" sink="hotword tap" sources="Built-In Mic" />
-        <route type="mix" sink="hotword lookback" sources="Built-In Mic" />
-      </routes>
-    </module>
-  </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>

+ 51 - 11
audio/lynx/aidl_config/mixer_paths_aidl.xml

@@ -79,8 +79,8 @@
   <!-- Cirrus Booster Amp Output Gain -->
   <ctl name="AMP PCM Gain" value="17" />
   <ctl name="R AMP PCM Gain" value="17" />
-  <ctl name="Digital PCM Volume" value="817" />
-  <ctl name="R Digital PCM Volume" value="817" />
+  <ctl name="Digital PCM Volume" value="0" />
+  <ctl name="R Digital PCM Volume" value="0" />
 
   <!-- Cirrus Booster Amp Power -->
   <ctl name="Main AMP Enable Switch" value="0" />
@@ -97,6 +97,8 @@
   <ctl name="R DSP RX2 Source" value="ASPRX1" />
   <ctl name="Boost Peak Current Limit" value="3.50A" />
   <ctl name="R Boost Peak Current Limit" value="3.50A" />
+  <ctl name="PCM Soft Ramp" value=".5ms" />
+  <ctl name="R PCM Soft Ramp" value=".5ms" />
 
   <!-- Cirrus ASP TX source -->
   <ctl name="ASP TX1 Source" value="VMON" />
@@ -657,9 +659,41 @@
     <ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
   </path>
 
-  <path name="telephony-rx -> in-call-capture-0" />
-  <path name="telephony-rx -> in-call-capture-1" />
-  <path name="telephony-rx -> in-call-capture-2" />
+  <path name="telephony-rx (VOICE_DOWNLINK) -> in-call-capture-0">
+    <ctl name="Incall Capture Stream0" value="DL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_UPLINK) -> in-call-capture-0">
+    <ctl name="Incall Capture Stream0" value="UL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_CALL) -> in-call-capture-0">
+    <ctl name="Incall Capture Stream0" value="UL_DL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_DOWNLINK) -> in-call-capture-1">
+    <ctl name="Incall Capture Stream1" value="DL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_UPLINK) -> in-call-capture-1">
+    <ctl name="Incall Capture Stream1" value="UL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_CALL) -> in-call-capture-1">
+    <ctl name="Incall Capture Stream1" value="UL_DL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_DOWNLINK) -> in-call-capture-2">
+    <ctl name="Incall Capture Stream2" value="DL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_UPLINK) -> in-call-capture-2">
+    <ctl name="Incall Capture Stream2" value="UL" />
+  </path>
+
+  <path name="telephony-rx (VOICE_CALL) -> in-call-capture-2">
+    <ctl name="Incall Capture Stream2" value="UL_DL" />
+  </path>
 
   <path name="microphones -> mmap-capture-0">
     <ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1" />
@@ -679,6 +713,7 @@
     <ctl name="PCM Source" value="ASP" />
     <ctl name="AMP PCM Gain" value="6" />
     <ctl name="Main AMP Enable Switch" value="1" />
+    <ctl name="Digital PCM Volume" value="817" />
   </path>
 
   <path name="speaker-earpiece (VOICE)">
@@ -686,6 +721,7 @@
     <ctl name="PCM Source" value="ASP" />
     <ctl name="AMP PCM Gain" value="7" />
     <ctl name="Main AMP Enable Switch" value="1" />
+    <ctl name="Digital PCM Volume" value="817" />
   </path>
 
   <path name="speaker">
@@ -697,6 +733,8 @@
     <ctl name="Fast Use Case Switch Enable" value="1" />
     <ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
     <ctl name="R Fast Use Case Switch Enable" value="1" />
+    <ctl name="Digital PCM Volume" value="817" />
+    <ctl name="R Digital PCM Volume" value="817" />
   </path>
 
   <path name="speaker (VOICE)">
@@ -713,6 +751,7 @@
     <ctl name="R Fast Use Case Delta File" value="fast_switch2.txt" />
     <ctl name="R Fast Use Case Switch Enable" value="1" />
     <ctl name="Digital PCM Volume" value="800" />
+    <ctl name="R Digital PCM Volume" value="817" />
   </path>
 
   <path name="speaker-safe">
@@ -721,6 +760,7 @@
     <!-- load Bypass FIR -->
     <ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
     <ctl name="R Fast Use Case Switch Enable" value="1" />
+    <ctl name="R Digital PCM Volume" value="817" />
   </path>
 
   <!-- Tx device -->
@@ -779,12 +819,12 @@
   </path>
 
   <path name="microphones (CAMCORDER)">
-    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
-    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3"/>
-    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2"/>
-    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
-    <ctl name="MIC DC Blocker" value="1"/>
-    <ctl name="MIC Record Soft Gain (dB)" value="0"/>
+    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
+    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
+    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
+    <ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
+    <ctl name="MIC DC Blocker" value="1" />
+    <ctl name="MIC Record Soft Gain (dB)" value="0" />
   </path>
 
   <path name="back-microphones (CAMCORDER)">

+ 0 - 1
audio/lynx/audio-tables.mk

@@ -21,7 +21,6 @@ AUDIO_TABLE_FOLDER := lynx
 
 ifeq ($(BUILD_AUDIO_AIDL_VERSION),true)
 PRODUCT_COPY_FILES += \
-    device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
     device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_platform_configuration_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration_aidl.xml \
     device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
     device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/aidl_config/mixer_paths_aidl.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_aidl.xml