Merge "hal: Re-route TX/Input stream for compress voip"
diff --git a/configs/common_au/audio_policy_configuration.xml b/configs/common_au/audio_policy_configuration.xml
index 5881470..bfb6362 100644
--- a/configs/common_au/audio_policy_configuration.xml
+++ b/configs/common_au/audio_policy_configuration.xml
@@ -128,7 +128,7 @@
</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_16_BIT"
- samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="8000,16000,24000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
diff --git a/configs/msm8937/sound_trigger_platform_info.xml b/configs/msm8937/sound_trigger_platform_info.xml
index e8ec308..41fb422 100644
--- a/configs/msm8937/sound_trigger_platform_info.xml
+++ b/configs/msm8937/sound_trigger_platform_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2013-2016, 2018, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2013-2016, 2018, 2021, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -63,6 +63,7 @@
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
+ <param second_stage_supported="false" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param library="libsmwrapper.so" />
<param max_cpe_phrases="6" />
diff --git a/configs/msm8953/sound_trigger_platform_info.xml b/configs/msm8953/sound_trigger_platform_info.xml
index e0b0a93..4526218 100644
--- a/configs/msm8953/sound_trigger_platform_info.xml
+++ b/configs/msm8953/sound_trigger_platform_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2013-2018, 2021 The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -74,6 +74,7 @@
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param execution_type="ADSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
+ <param second_stage_supported="false" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param library="libsmwrapper.so" />
<param max_cpe_phrases="6" />
diff --git a/configs/msmnile_au/audio_policy_configuration.xml b/configs/msmnile_au/audio_policy_configuration.xml
index 04685f4..e4533ac 100644
--- a/configs/msmnile_au/audio_policy_configuration.xml
+++ b/configs/msmnile_au/audio_policy_configuration.xml
@@ -110,7 +110,7 @@
</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_16_BIT"
- samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="8000,16000,24000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
diff --git a/configs/msmnile_au/mixer_paths_adp.xml b/configs/msmnile_au/mixer_paths_adp.xml
index 50a4f99..fbd1607 100755
--- a/configs/msmnile_au/mixer_paths_adp.xml
+++ b/configs/msmnile_au/mixer_paths_adp.xml
@@ -1336,6 +1336,7 @@
<path name="audio-record">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="Four" />
</path>
<path name="front-passenger-record">
@@ -1647,12 +1648,14 @@
</path>
<path name="hfp-sco bt-sco">
- <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="One" />
<path name="hfp-sco" />
</path>
<path name="hfp-sco bt-sco-mmsecns">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="Four" />
<path name="hfp-sco" />
</path>
@@ -1662,12 +1665,14 @@
</path>
<path name="hfp-sco-wb bt-sco-wb">
- <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="One" />
<path name="hfp-sco-wb" />
</path>
<path name="hfp-sco-wb bt-sco-mmsecns">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="Four" />
<path name="hfp-sco-wb" />
</path>
diff --git a/configs/msmsteppe_au/audio_policy_configuration.xml b/configs/msmsteppe_au/audio_policy_configuration.xml
index 1df2ce3..ea6e0e3 100644
--- a/configs/msmsteppe_au/audio_policy_configuration.xml
+++ b/configs/msmsteppe_au/audio_policy_configuration.xml
@@ -110,7 +110,7 @@
</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_16_BIT"
- samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="8000,16000,24000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
diff --git a/configs/msmsteppe_au/mixer_paths_adp.xml b/configs/msmsteppe_au/mixer_paths_adp.xml
index 3858a50..0fef0ca 100644
--- a/configs/msmsteppe_au/mixer_paths_adp.xml
+++ b/configs/msmsteppe_au/mixer_paths_adp.xml
@@ -1178,6 +1178,7 @@
<path name="audio-record">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="Four" />
</path>
<path name="front-passenger-record">
@@ -1419,12 +1420,14 @@
</path>
<path name="hfp-sco bt-sco">
- <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="One" />
<path name="hfp-sco" />
</path>
<path name="hfp-sco bt-sco-mmsecns">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="Four" />
<path name="hfp-sco" />
</path>
@@ -1434,12 +1437,14 @@
</path>
<path name="hfp-sco-wb bt-sco-wb">
- <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="One" />
<path name="hfp-sco-wb" />
</path>
<path name="hfp-sco-wb bt-sco-mmsecns">
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="TERT_TDM_TX_0 ADM Channels" value="Four" />
<path name="hfp-sco-wb" />
</path>
diff --git a/configs/sdm660/sdm660.mk b/configs/sdm660/sdm660.mk
index f859681..073c955 100644
--- a/configs/sdm660/sdm660.mk
+++ b/configs/sdm660/sdm660.mk
@@ -118,7 +118,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/sdm660/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/sdm660/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/sdm660/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index ad2fe07..a35d69f 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -9659,6 +9659,7 @@
in audio_policy_configuration.xml for mmap_no_irq_in */
bool valid_mmap_record_rate = (config->sample_rate == 8000 ||
config->sample_rate == 16000 ||
+ config->sample_rate == 24000 ||
config->sample_rate == 32000 ||
config->sample_rate == 48000);
if (valid_mmap_record_rate &&