Merge "configs: trinket: Add backend tag for voice-handset-tmus device"
diff --git a/configs/apq8098_latv/apq8098_latv.mk b/configs/apq8098_latv/apq8098_latv.mk
index 7079ea7..c7a8cfa 100644
--- a/configs/apq8098_latv/apq8098_latv.mk
+++ b/configs/apq8098_latv/apq8098_latv.mk
@@ -271,7 +271,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/atoll/atoll.mk b/configs/atoll/atoll.mk
index 818258d..93d4cc9 100644
--- a/configs/atoll/atoll.mk
+++ b/configs/atoll/atoll.mk
@@ -290,7 +290,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/atoll/audio_policy_configuration.xml b/configs/atoll/audio_policy_configuration.xml
index d28a405..c6365ff 100644
--- a/configs/atoll/audio_policy_configuration.xml
+++ b/configs/atoll/audio_policy_configuration.xml
@@ -284,11 +284,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/kona/kona.mk b/configs/kona/kona.mk
index 33a678f..e145509 100644
--- a/configs/kona/kona.mk
+++ b/configs/kona/kona.mk
@@ -363,7 +363,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -423,6 +423,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=true \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/lito/lito.mk b/configs/lito/lito.mk
index d87d627..0a91560 100644
--- a/configs/lito/lito.mk
+++ b/configs/lito/lito.mk
@@ -347,7 +347,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -411,6 +411,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=true \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msm8909/msm8909.mk b/configs/msm8909/msm8909.mk
index b5cc947..4cef1df 100644
--- a/configs/msm8909/msm8909.mk
+++ b/configs/msm8909/msm8909.mk
@@ -171,7 +171,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
PRODUCT_PACKAGES += \
android.hardware.audio@2.0-service \
diff --git a/configs/msm8937/msm8937.mk b/configs/msm8937/msm8937.mk
index a41740f..5f896c7 100644
--- a/configs/msm8937/msm8937.mk
+++ b/configs/msm8937/msm8937.mk
@@ -234,7 +234,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#add dynamic feature flags here
PRODUCT_PROPERTY_OVERRIDES += \
@@ -263,6 +263,7 @@
vendor.audio.feature.hifi_audio.enable=true \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msm8953/msm8953.mk b/configs/msm8953/msm8953.mk
index 0b0e6be..3a1462f 100644
--- a/configs/msm8953/msm8953.mk
+++ b/configs/msm8953/msm8953.mk
@@ -247,7 +247,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
# for HIDL related packages
PRODUCT_PACKAGES += \
diff --git a/configs/msm8996/msm8996.mk b/configs/msm8996/msm8996.mk
index c4e2fce..ced5eb3 100644
--- a/configs/msm8996/msm8996.mk
+++ b/configs/msm8996/msm8996.mk
@@ -199,7 +199,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/msm8998/audio_policy_configuration.xml b/configs/msm8998/audio_policy_configuration.xml
index 62e75c2..91870ea 100644
--- a/configs/msm8998/audio_policy_configuration.xml
+++ b/configs/msm8998/audio_policy_configuration.xml
@@ -162,7 +162,7 @@
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
+ <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"/>
@@ -267,11 +267,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/msm8998/msm8998.mk b/configs/msm8998/msm8998.mk
index bdef964..889c17f 100644
--- a/configs/msm8998/msm8998.mk
+++ b/configs/msm8998/msm8998.mk
@@ -246,7 +246,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -283,6 +283,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msmnile/msmnile.mk b/configs/msmnile/msmnile.mk
index 3315b11..c3104c6 100644
--- a/configs/msmnile/msmnile.mk
+++ b/configs/msmnile/msmnile.mk
@@ -367,7 +367,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -402,6 +402,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=true \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=false \
vendor.audio.feature.maxx_audio.enable=true \
@@ -446,6 +447,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=true \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/msmnile_au/msmnile_au.mk b/configs/msmnile_au/msmnile_au.mk
index db33c9a..c027546 100644
--- a/configs/msmnile_au/msmnile_au.mk
+++ b/configs/msmnile_au/msmnile_au.mk
@@ -275,7 +275,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/msmsteppe/audio_policy_configuration.xml b/configs/msmsteppe/audio_policy_configuration.xml
index 99f03bf..2d2adc3 100644
--- a/configs/msmsteppe/audio_policy_configuration.xml
+++ b/configs/msmsteppe/audio_policy_configuration.xml
@@ -162,7 +162,7 @@
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
+ <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"/>
@@ -279,11 +279,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/msmsteppe/msmsteppe.mk b/configs/msmsteppe/msmsteppe.mk
index ec546ac..5565a0d 100644
--- a/configs/msmsteppe/msmsteppe.mk
+++ b/configs/msmsteppe/msmsteppe.mk
@@ -351,7 +351,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -384,6 +384,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/sdm660/audio_policy_configuration.xml b/configs/sdm660/audio_policy_configuration.xml
index 5ec3c56..fc5440f 100644
--- a/configs/sdm660/audio_policy_configuration.xml
+++ b/configs/sdm660/audio_policy_configuration.xml
@@ -158,7 +158,7 @@
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
+ <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"/>
@@ -258,11 +258,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/sdm660/sdm660.mk b/configs/sdm660/sdm660.mk
index 5c0dc9c..a4af966 100644
--- a/configs/sdm660/sdm660.mk
+++ b/configs/sdm660/sdm660.mk
@@ -261,7 +261,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable AAC frame ctl for A2DP sinks
PRODUCT_PROPERTY_OVERRIDES += \
@@ -294,6 +294,7 @@
vendor.audio.feature.hifi_audio.enable=true \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/sdm710/audio_policy_configuration.xml b/configs/sdm710/audio_policy_configuration.xml
index 3f17b95..b8bca1c 100644
--- a/configs/sdm710/audio_policy_configuration.xml
+++ b/configs/sdm710/audio_policy_configuration.xml
@@ -162,7 +162,7 @@
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
+ <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"/>
diff --git a/configs/sdm710/sdm710.mk b/configs/sdm710/sdm710.mk
index 5cb6a5a..ce955d4 100644
--- a/configs/sdm710/sdm710.mk
+++ b/configs/sdm710/sdm710.mk
@@ -356,7 +356,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -393,6 +393,7 @@
vendor.audio.feature.hifi_audio.enable=true \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/sdm845/audio_policy_configuration.xml b/configs/sdm845/audio_policy_configuration.xml
index 65b503c..6099b32 100644
--- a/configs/sdm845/audio_policy_configuration.xml
+++ b/configs/sdm845/audio_policy_configuration.xml
@@ -161,7 +161,7 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
+ <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"/>
diff --git a/configs/sdm845/sdm845.mk b/configs/sdm845/sdm845.mk
index 77da76c..2357c4b 100644
--- a/configs/sdm845/sdm845.mk
+++ b/configs/sdm845/sdm845.mk
@@ -305,7 +305,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -343,6 +343,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/configs/trinket/audio_policy_configuration.xml b/configs/trinket/audio_policy_configuration.xml
index a5d7f88..6d92ad5 100644
--- a/configs/trinket/audio_policy_configuration.xml
+++ b/configs/trinket/audio_policy_configuration.xml
@@ -162,7 +162,7 @@
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
- <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
+ <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"/>
@@ -284,11 +284,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/trinket/trinket.mk b/configs/trinket/trinket.mk
index be9142c..aedb0a8 100644
--- a/configs/trinket/trinket.mk
+++ b/configs/trinket/trinket.mk
@@ -253,7 +253,7 @@
#enable headset calibration
PRODUCT_PROPERTY_OVERRIDES += \
-audio.volume.headset.gain.depcal=true
+vendor.audio.volume.headset.gain.depcal=true
#enable dualmic fluence for voice communication
PRODUCT_PROPERTY_OVERRIDES += \
@@ -286,6 +286,7 @@
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.maxx_audio.enable=false \
diff --git a/hal/audio_extn/spkr_protection.c b/hal/audio_extn/spkr_protection.c
index b51a7d5..58fd16e 100644
--- a/hal/audio_extn/spkr_protection.c
+++ b/hal/audio_extn/spkr_protection.c
@@ -2049,8 +2049,6 @@
handle.thread_exit = false;
handle.cal_thrd_created = false;
if ((property_get("persist.vendor.audio.speaker.prot.enable",
- value, NULL) > 0) ||
- (property_get("persist.speaker.prot.enable",
value, NULL) > 0)) {
if (!strncmp("true", value, 4))
handle.spkr_prot_enable = true;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index fd9d06b..d0e429a 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -3056,7 +3056,7 @@
be_dai_name_table = NULL;
- property_get("persist.audio.dualmic.config",value,"");
+ property_get("persist.vendor.audio.dualmic.config",value,"");
if (!strcmp("endfire", value)) {
dual_mic_config = true;
}
diff --git a/hal/voice.c b/hal/voice.c
index c455537..0000d72 100644
--- a/hal/voice.c
+++ b/hal/voice.c
@@ -330,7 +330,7 @@
}
#endif
- if(adev->mic_break_enabled)
+ if (adev->mic_break_enabled)
platform_set_mic_break_det(adev->platform, true);
ret = pcm_start(session->pcm_tx);
@@ -786,6 +786,10 @@
void voice_init(struct audio_device *adev)
{
int i = 0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
+
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
memset(&adev->voice, 0, sizeof(adev->voice));
adev->voice.tty_mode = TTY_MODE_OFF;
@@ -793,7 +797,7 @@
adev->voice.volume = 1.0f;
adev->voice.mic_mute = false;
adev->voice.in_call = false;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ for (i = 0; i < max_voice_sessions; i++) {
adev->voice.session[i].pcm_rx = NULL;
adev->voice.session[i].pcm_tx = NULL;
adev->voice.session[i].state.current = CALL_INACTIVE;
diff --git a/hal/voice_extn/voice_extn.c b/hal/voice_extn/voice_extn.c
index d278742..e6a4ed6 100644
--- a/hal/voice_extn/voice_extn.c
+++ b/hal/voice_extn/voice_extn.c
@@ -87,6 +87,7 @@
static bool voice_extn_compress_voip_enabled = false;
static bool voice_extn_dynamic_ecns_feature_enabled = false;
static bool voice_extn_incall_music_enabled = false;
+static bool voice_extn_multi_session_enabled = false;
int voice_extn_is_call_state_active(struct audio_device *adev, bool *is_call_active);
@@ -184,10 +185,14 @@
struct voice_session *session = NULL;
int i = 0;
uint32_t session_id = 0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
+
+ for (i = 0; i < max_voice_sessions; i++) {
session = &adev->voice.session[i];
- if(session->state.current == call_state){
+ if (session->state.current == call_state){
session_id = session->vsid;
break;
}
@@ -203,10 +208,13 @@
enum voice_lch_mode lch_mode;
struct voice_session *session = NULL;
int ret = 0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
ALOGD("%s: enter:", __func__);
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ for (i = 0; i < max_voice_sessions; i++) {
usecase_id = voice_extn_get_usecase_for_session_idx(i);
session = &adev->voice.session[i];
ALOGD("%s: cur_state=%d new_state=%d vsid=%x",
@@ -220,7 +228,7 @@
case CALL_INACTIVE:
ALOGD("%s: INACTIVE -> ACTIVE vsid:%x", __func__, session->vsid);
ret = voice_start_usecase(adev, usecase_id);
- if(ret < 0) {
+ if (ret < 0) {
ALOGE("%s: voice_start_usecase() failed for usecase: %d\n",
__func__, usecase_id);
} else {
@@ -258,7 +266,7 @@
case CALL_LOCAL_HOLD:
ALOGD("%s: ACTIVE/HOLD/LOCAL_HOLD -> INACTIVE vsid:%x", __func__, session->vsid);
ret = voice_stop_usecase(adev, usecase_id);
- if(ret < 0) {
+ if (ret < 0) {
ALOGE("%s: voice_stop_usecase() failed for usecase: %d\n",
__func__, usecase_id);
} else {
@@ -334,8 +342,12 @@
struct voice_session *session = NULL;
int i = 0;
bool is_call_active;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
+
+ for (i = 0; i < max_voice_sessions; i++) {
if (vsid == adev->voice.session[i].vsid) {
session = &adev->voice.session[i];
break;
@@ -370,6 +382,9 @@
int voice_extn_get_active_session_id(struct audio_device *adev,
uint32_t *session_id)
{
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
*session_id = get_session_id_with_state(adev, CALL_ACTIVE);
return 0;
}
@@ -378,11 +393,14 @@
{
struct voice_session *session = NULL;
int i = 0;
- *is_call_active = false;
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
+ *is_call_active = false;
for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
session = &adev->voice.session[i];
- if(session->state.current != CALL_INACTIVE){
+ if (session->state.current != CALL_INACTIVE){
*is_call_active = true;
break;
}
@@ -403,14 +421,17 @@
return voice_extn_dynamic_ecns_feature_enabled;
}
-// START: INCALL_MUSIC ===================================================================
void incall_music_feature_init(bool is_feature_enabled)
{
voice_extn_incall_music_enabled = is_feature_enabled;
ALOGV("%s: ---- Feature INCALL_MUSIC is %s----", __func__,
is_feature_enabled ? "ENABLED" : "NOT ENABLED");
}
-// END: INCALL_MUSIC ===================================================================
+
+bool voice_extn_is_incall_music_enabled()
+{
+ return voice_extn_incall_music_enabled;
+}
void compr_voip_feature_init(bool is_feature_enabled)
{
@@ -424,6 +445,18 @@
return voice_extn_compress_voip_enabled;
}
+void multi_voice_session_feature_init(bool is_feature_enabled)
+{
+ voice_extn_multi_session_enabled = is_feature_enabled;
+ ALOGV("%s:: ---- Feature MULTI VOICE SESSION is %s ----", __func__,
+ is_feature_enabled ? "ENABLED" : "NOT ENABLED");
+}
+
+bool voice_extn_is_multi_session_supported()
+{
+ return voice_extn_multi_session_enabled;
+}
+
void voice_extn_feature_init()
{
// Register feature function here
@@ -437,10 +470,17 @@
incall_music_feature_init(
property_get_bool("vendor.audio.feature.incall_music.enable",
true));
+ multi_voice_session_feature_init(
+ property_get_bool("vendor.audio.feature.multi_voice_session.enable",
+ true));
+
}
void voice_extn_init(struct audio_device *adev)
{
+ if (!voice_extn_is_multi_session_supported())
+ return;
+
adev->voice.session[VOICE_SESS_IDX].vsid = VOICE_VSID;
adev->voice.session[VOICE2_SESS_IDX].vsid = VOICE2_VSID;
adev->voice.session[VOLTE_SESS_IDX].vsid = VOLTE_VSID;
@@ -454,6 +494,8 @@
const audio_usecase_t usecase_id,
struct voice_session **session)
{
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
switch(usecase_id)
{
@@ -500,6 +542,9 @@
* udpated.
*/
ALOGV("%s: enter:", __func__);
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
return update_calls(adev);
}
@@ -510,6 +555,9 @@
ALOGV("%s: enter:", __func__);
+ if (!voice_extn_is_multi_session_supported())
+ return -ENOSYS;
+
/* If BT device is enabled and voice calls are ended, telephony will call
* set_mode(AUDIO_MODE_NORMAL) which will trigger audio policy manager to
* set routing with device BT A2DP profile. Hence end all voice calls when
@@ -616,8 +664,12 @@
int ret = 0;
char *cur_ptr = value;
int i, len=0;
+ int max_voice_sessions = MAX_VOICE_SESSIONS;
- for (i = 0; i < MAX_VOICE_SESSIONS; i++) {
+ if (!voice_extn_is_multi_session_supported())
+ max_voice_sessions = 1;
+
+ for (i = 0; i < max_voice_sessions; i++) {
snprintf(cur_ptr, VOICE_EXTN_PARAMETER_VALUE_MAX_LEN - len,
"%d:%d,",adev->voice.session[i].vsid,
adev->voice.session[i].state.current);
@@ -655,7 +707,7 @@
}
str_parms_add_str(reply, AUDIO_PARAMETER_KEY_ALL_CALL_STATES, value);
}
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
voice_extn_compress_voip_get_parameters(query, reply);
str = str_parms_to_str(reply);
@@ -667,7 +719,7 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
voice_extn_compress_voip_out_get_parameters(out, query, reply);
}
@@ -675,7 +727,7 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
voice_extn_compress_voip_in_get_parameters(in, query, reply);
}
@@ -683,7 +735,7 @@
int voice_extn_check_and_set_incall_music_usecase(struct audio_device *adev,
struct stream_out *out)
{
- if(voice_extn_incall_music_enabled) {
+ if (voice_extn_incall_music_enabled) {
uint32_t session_id = get_session_id_with_state(adev, CALL_ACTIVE);
if (session_id == VOICEMMODE1_VSID) {
out->usecase = USECASE_INCALL_MUSIC_UPLINK;
@@ -707,10 +759,10 @@
int voice_extn_compress_voip_set_parameters(struct audio_device *adev,
- struct str_parms *parms)
+ struct str_parms *parms)
{
int ret = -ENOSYS;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_set_parameters(adev, parms);
return ret;
}
@@ -718,7 +770,7 @@
void voice_extn_compress_voip_get_parameters(struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
compress_voip_get_parameters(query, reply);
}
@@ -727,7 +779,7 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
compress_voip_out_get_parameters(out, query, reply);
}
@@ -735,14 +787,14 @@
struct str_parms *query,
struct str_parms *reply)
{
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
compress_voip_in_get_parameters(in, query, reply);
}
int voice_extn_compress_voip_out_get_buffer_size(struct stream_out *out)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_out_get_buffer_size(out);
return ret;
}
@@ -750,7 +802,7 @@
int voice_extn_compress_voip_in_get_buffer_size(struct stream_in *in)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_in_get_buffer_size(in);
return ret;
}
@@ -759,7 +811,7 @@
int voice_extn_compress_voip_start_output_stream(struct stream_out *out)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_start_output_stream(out);
return ret;
}
@@ -768,7 +820,7 @@
int voice_extn_compress_voip_start_input_stream(struct stream_in *in)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_start_input_stream(in);
return ret;
}
@@ -776,7 +828,7 @@
int voice_extn_compress_voip_close_output_stream(struct audio_stream *stream)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_close_output_stream(stream);
return ret;
}
@@ -785,7 +837,7 @@
int voice_extn_compress_voip_close_input_stream(struct audio_stream *stream)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_close_input_stream(stream);
return ret;
}
@@ -793,7 +845,7 @@
int voice_extn_compress_voip_open_output_stream(struct stream_out *out)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_open_output_stream(out);
return ret;
}
@@ -802,7 +854,7 @@
int voice_extn_compress_voip_open_input_stream(struct stream_in *in)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_open_input_stream(in);
return ret;
}
@@ -810,7 +862,7 @@
int voice_extn_compress_voip_set_volume(struct audio_device *adev, float volume)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_set_volume(adev, volume);
return ret;
}
@@ -818,7 +870,7 @@
int voice_extn_compress_voip_set_mic_mute(struct audio_device *adev, bool state)
{
int ret = -1;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_set_mic_mute(adev, state);
return ret;
}
@@ -826,7 +878,7 @@
bool voice_extn_compress_voip_pcm_prop_check()
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_pcm_prop_check();
return ret;
}
@@ -834,7 +886,7 @@
bool voice_extn_compress_voip_is_active(const struct audio_device *adev)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_active(adev);
return ret;
}
@@ -842,7 +894,7 @@
bool voice_extn_compress_voip_is_format_supported(audio_format_t format)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_format_supported(format);
return ret;
}
@@ -850,7 +902,7 @@
bool voice_extn_compress_voip_is_config_supported(struct audio_config *config)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_config_supported(config);
return ret;
}
@@ -858,7 +910,7 @@
bool voice_extn_compress_voip_is_started(struct audio_device *adev)
{
bool ret = false;
- if(voice_extn_compress_voip_enabled)
+ if (voice_extn_compress_voip_enabled)
ret = compress_voip_is_started(adev);
return ret;
}
diff --git a/hal/voice_extn/voice_extn.h b/hal/voice_extn/voice_extn.h
index c4f0d49..b2aab7e 100644
--- a/hal/voice_extn/voice_extn.h
+++ b/hal/voice_extn/voice_extn.h
@@ -78,10 +78,14 @@
bool voice_extn_compress_voip_is_config_supported(struct audio_config *config);
bool voice_extn_compress_voip_is_started(struct audio_device *adev);
void voice_extn_feature_init();
-void compr_voip_feature_init(bool is_feature_enabled);
-bool voice_extn_is_compress_voip_supported();
void dynamic_ecns_feature_init(bool is_feature_enabled);
bool voice_extn_is_dynamic_ecns_enabled();
+void incall_music_feature_init(bool is_feature_enabled);
+bool voice_extn_is_incall_music_enabled();
+void compr_voip_feature_init(bool is_feature_enabled);
+bool voice_extn_is_compress_voip_supported();
+void multi_voice_session_feature_init(bool is_feature_enabled);
+bool voice_extn_is_multi_session_supported();
#endif //VOICE_EXTN_H
diff --git a/post_proc/volume_listener.c b/post_proc/volume_listener.c
index 36aa496..44d1702 100644
--- a/post_proc/volume_listener.c
+++ b/post_proc/volume_listener.c
@@ -714,13 +714,9 @@
property_get("vendor.audio.volume.listener.dump", check_dump_val, "0");
if (atoi(check_dump_val))
dumping_enabled = true;
- else {
- property_get("audio.volume.listener.dump", check_dump_val, "0");
- if (atoi(check_dump_val))
- dumping_enabled = true;
- }
+
headset_cal_enabled = property_get_bool(
- "audio.volume.headset.gain.depcal", false);
+ "vendor.audio.volume.headset.gain.depcal", false);
init_status = 0;
list_init(&vol_effect_list);