Merge "configs: fastforward msmsteppe_au configs for Q"
diff --git a/configs/atoll/audio_policy_configuration.xml b/configs/atoll/audio_policy_configuration.xml
index b65a9b6..4a0800c 100644
--- a/configs/atoll/audio_policy_configuration.xml
+++ b/configs/atoll/audio_policy_configuration.xml
@@ -287,11 +287,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/audio_configs.xml b/configs/kona/audio_configs.xml
index 3c13e33..f5ea583 100644
--- a/configs/kona/audio_configs.xml
+++ b/configs/kona/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,50 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="battery_listener_enabled" value="true" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="true" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="true" />
- <flag name="ext_hw_plugin_enabled" value="true" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="true" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="true" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/kona/audio_configs_stock.xml b/configs/kona/audio_configs_stock.xml
index e26ef14..dd0c3b4 100644
--- a/configs/kona/audio_configs_stock.xml
+++ b/configs/kona/audio_configs_stock.xml
@@ -29,45 +29,4 @@
-->
<configs>
<!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="afe_proxy_enabled" value="false" />
- <flag name="anc_headset_enabled" value="false" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="audiosphere_enabled" value="false" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="false" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="false" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="true" />
- <flag name="ext_spkr_enabled" value="true" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="false" />
- <flag name="fm_power_opt" value="false" />
- <flag name="hdmi_edid_enabled" value="false" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="true" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="record_play_concurrency" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="false" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="false" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="false" />
- <flag name="wsa_enabled" value="false" />
</configs>
diff --git a/configs/kona/kona.mk b/configs/kona/kona.mk
index 33a678f..a4818d8 100644
--- a/configs/kona/kona.mk
+++ b/configs/kona/kona.mk
@@ -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/kona/mixer_paths.xml b/configs/kona/mixer_paths.xml
index 201c9fb..9f06147 100644
--- a/configs/kona/mixer_paths.xml
+++ b/configs/kona/mixer_paths.xml
@@ -2053,6 +2053,21 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
<path name="speaker-hdk">
<path name="speaker-mono" />
@@ -2135,6 +2150,22 @@
<path name="speaker-protected" />
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="vi-feedback">
</path>
@@ -2526,7 +2557,12 @@
</path>
<path name="voice-tty-hco-headset-mic">
- <path name="voice-tty-full-headset-mic" />
+ <ctl name="TX DEC6 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX6" value="ADC1" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1" />
+ <ctl name="ADC2_MIXER Switch" value="1" />
+ <ctl name="ADC2 MUX" value="INP2" />
</path>
<path name="voice-tty-vco-handset-mic">
diff --git a/configs/kona/mixer_paths_cdp.xml b/configs/kona/mixer_paths_cdp.xml
index ed9bfc0..27bce73 100644
--- a/configs/kona/mixer_paths_cdp.xml
+++ b/configs/kona/mixer_paths_cdp.xml
@@ -2090,6 +2090,21 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
<path name="speaker-hdk">
<path name="speaker-mono" />
@@ -2172,6 +2187,22 @@
<path name="speaker-protected" />
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="vi-feedback">
</path>
diff --git a/configs/kona/mixer_paths_qrd.xml b/configs/kona/mixer_paths_qrd.xml
index 3cf38a1..3856ee8 100644
--- a/configs/kona/mixer_paths_qrd.xml
+++ b/configs/kona/mixer_paths_qrd.xml
@@ -2489,6 +2489,22 @@
<path name="speaker-mono" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="sidetone-iir">
<ctl name="IIR0 Enable Band1" value="1" />
<ctl name="IIR0 Enable Band2" value="1" />
@@ -2548,6 +2564,22 @@
<path name="speaker-protected" />
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1" />
+ </path>
+
<path name="vi-feedback">
</path>
diff --git a/configs/lito/audio_configs.xml b/configs/lito/audio_configs.xml
index 271023d..8e3cda2 100644
--- a/configs/lito/audio_configs.xml
+++ b/configs/lito/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,50 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="battery_listener_enabled" value="true" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="true" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="true" />
- <flag name="ext_hw_plugin_enabled" value="true" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="true" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="true" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/lito/audio_configs_stock.xml b/configs/lito/audio_configs_stock.xml
index e26ef14..dd0c3b4 100644
--- a/configs/lito/audio_configs_stock.xml
+++ b/configs/lito/audio_configs_stock.xml
@@ -29,45 +29,4 @@
-->
<configs>
<!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="afe_proxy_enabled" value="false" />
- <flag name="anc_headset_enabled" value="false" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="audiosphere_enabled" value="false" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="false" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="false" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="true" />
- <flag name="ext_spkr_enabled" value="true" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="false" />
- <flag name="fm_power_opt" value="false" />
- <flag name="hdmi_edid_enabled" value="false" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="true" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="record_play_concurrency" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="false" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="false" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="false" />
- <flag name="wsa_enabled" value="false" />
</configs>
diff --git a/configs/lito/audio_platform_info.xml b/configs/lito/audio_platform_info.xml
index a1e2468..93d47c5 100644
--- a/configs/lito/audio_platform_info.xml
+++ b/configs/lito/audio_platform_info.xml
@@ -102,6 +102,7 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
@@ -137,6 +138,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -189,10 +191,15 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
diff --git a/configs/lito/audio_platform_info_intcodec.xml b/configs/lito/audio_platform_info_intcodec.xml
index 7f2a4a0..e72a83a 100644
--- a/configs/lito/audio_platform_info_intcodec.xml
+++ b/configs/lito/audio_platform_info_intcodec.xml
@@ -66,6 +66,7 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -114,6 +115,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -166,10 +168,15 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
diff --git a/configs/lito/audio_platform_info_qrd.xml b/configs/lito/audio_platform_info_qrd.xml
index 635f321..b8bbf8a 100644
--- a/configs/lito/audio_platform_info_qrd.xml
+++ b/configs/lito/audio_platform_info_qrd.xml
@@ -66,6 +66,7 @@
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
+ <usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -113,6 +114,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="WSA_CDC_DMA_RX_0-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
+ <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
@@ -165,10 +167,15 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
- <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
diff --git a/configs/lito/audio_policy_configuration.xml b/configs/lito/audio_policy_configuration.xml
index d932652..c6365ff 100644
--- a/configs/lito/audio_policy_configuration.xml
+++ b/configs/lito/audio_policy_configuration.xml
@@ -194,7 +194,7 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
</mixPort>
- <mixPort name="record_24" role="sink">
+ <mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
diff --git a/configs/lito/lito.mk b/configs/lito/lito.mk
index 4022d72..0b0f1bb 100644
--- a/configs/lito/lito.mk
+++ b/configs/lito/lito.mk
@@ -394,7 +394,7 @@
vendor.audio.feature.compress_in.enable=true \
vendor.audio.feature.compress_meta_data.enable=true \
vendor.audio.feature.compr_voip.enable=false \
-vendor.audio.feature.concurrent_capture.enable=false \
+vendor.audio.feature.concurrent_capture.enable=true \
vendor.audio.feature.custom_stereo.enable=true \
vendor.audio.feature.display_port.enable=true \
vendor.audio.feature.dsm_feedback.enable=false \
@@ -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/lito/mixer_paths.xml b/configs/lito/mixer_paths.xml
index ec6be2e..deb5cd4 100644
--- a/configs/lito/mixer_paths.xml
+++ b/configs/lito/mixer_paths.xml
@@ -61,11 +61,16 @@
<ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
<ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="0" />
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia3" value="0" />
@@ -129,6 +134,7 @@
<ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="0" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
@@ -175,6 +181,7 @@
<ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="0" />
<!-- Multimode Voice1 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="0" />
@@ -191,6 +198,7 @@
<ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="0" />
<!-- Multimode Voice2 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="0" />
@@ -423,6 +431,7 @@
<!-- defaults for mmap record -->
<ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia16 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia16 Mixer SLIM_8_TX" value="0" />
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="0" />
@@ -440,6 +449,10 @@
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
</path>
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
+ </path>
+
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
</path>
@@ -507,6 +520,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback" />
@@ -578,6 +595,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones" />
+ </path>
+
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback" />
@@ -613,6 +634,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback" />
<path name="audio-ull-playback headphones" />
@@ -730,6 +755,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones" />
+ </path>
+
<path name="compress-offload-playback headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
@@ -805,6 +834,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones" />
+ </path>
+
<path name="compress-offload-playback2 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
@@ -881,6 +914,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones" />
+ </path>
+
<path name="compress-offload-playback3 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
@@ -957,6 +994,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones" />
+ </path>
+
<path name="compress-offload-playback4 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
@@ -1032,6 +1073,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones" />
+ </path>
+
<path name="compress-offload-playback5 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
@@ -1107,6 +1152,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones" />
+ </path>
+
<path name="compress-offload-playback6 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
@@ -1182,6 +1231,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones" />
+ </path>
+
<path name="compress-offload-playback7 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1257,6 +1310,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones" />
+ </path>
+
<path name="compress-offload-playback8 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1332,6 +1389,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones" />
+ </path>
+
<path name="compress-offload-playback9 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1381,6 +1442,10 @@
<path name="audio-record bt-sco" />
</path>
+ <path name="audio-record headset-mic">
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record capture-fm">
<ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1" />
</path>
@@ -1406,6 +1471,31 @@
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco-swb">
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="low-latency-record">
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -1447,6 +1537,10 @@
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
</path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones" />
+ </path>
+
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1471,6 +1565,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1495,6 +1593,10 @@
<path name="incall-rec-uplink-compress" />
</path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
<path name="incall-rec-downlink">
<ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
</path>
@@ -1519,6 +1621,10 @@
<path name="incall-rec-downlink" />
</path>
+ <path name="incall-rec-downlink headset-mic">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-downlink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
</path>
@@ -1543,6 +1649,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink-compress headset-mic">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -1568,6 +1678,10 @@
<path name="incall-rec-uplink-and-downlink" />
</path>
+ <path name="incall-rec-uplink-and-downlink headset-mic">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink-compress">
<path name="incall-rec-uplink-compress" />
<path name="incall-rec-downlink-compress" />
@@ -1593,6 +1707,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink-compress headset-mic">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
<path name="hfp-sco">
</path>
@@ -1662,6 +1780,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="1" />
@@ -1711,6 +1834,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="1" />
@@ -1819,6 +1947,10 @@
<path name="audio-record-voip bt-sco" />
</path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="WSA_CDC_DMA_RX_0_DL_HL Switch" value="1" />
</path>
@@ -1828,10 +1960,10 @@
<!-- These are actual sound device specific mixer settings -->
<path name="amic2">
- <ctl name="TX DEC0 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX0" value="ADC1" />
- <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX DEC5 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX5" value="ADC1" />
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
+ <ctl name="TX_AIF2_CAP Mixer DEC5" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
</path>
@@ -2054,7 +2186,6 @@
<path name="headset-mic">
<path name="amic2" />
- <ctl name="TX_DEC0 Volume" value="84" />
</path>
<path name="headset-mic-liquid">
@@ -2111,6 +2242,10 @@
<path name="headphones" />
</path>
+ <path name="voice-headset">
+ <path name="headphones" />
+ </path>
+
<path name="voice-line">
<path name="voice-headphones" />
</path>
@@ -2646,6 +2781,10 @@
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="hifi-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2726,6 +2865,10 @@
<path name="incall_music_uplink" />
</path>
+ <path name="incall_music_uplink headset">
+ <path name="incall_music_uplink" />
+ </path>
+
<path name="incall_music_uplink speaker-and-headphones">
<path name="incall_music_uplink" />
</path>
diff --git a/configs/lito/mixer_paths_qrd.xml b/configs/lito/mixer_paths_qrd.xml
index b246c5a..3a17be2 100644
--- a/configs/lito/mixer_paths_qrd.xml
+++ b/configs/lito/mixer_paths_qrd.xml
@@ -61,11 +61,16 @@
<ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
<ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="0" />
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia3" value="0" />
@@ -129,6 +134,7 @@
<ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="0" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
@@ -175,6 +181,7 @@
<ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="0" />
<!-- Multimode Voice1 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="0" />
@@ -191,6 +198,7 @@
<ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0" />
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="0" />
<!-- Multimode Voice2 BTSCO -->
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="0" />
@@ -423,6 +431,7 @@
<!-- defaults for mmap record -->
<ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="0" />
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia16 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia16 Mixer SLIM_8_TX" value="0" />
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="0" />
@@ -440,6 +449,10 @@
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
</path>
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
+ </path>
+
<path name="echo-reference display-port">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
</path>
@@ -515,6 +528,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones" />
+ </path>
+
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback" />
@@ -590,6 +607,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1" />
</path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones" />
+ </path>
+
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback" />
@@ -626,6 +647,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones" />
+ </path>
+
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback" />
<path name="audio-ull-playback headphones" />
@@ -747,6 +772,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones" />
+ </path>
+
<path name="compress-offload-playback headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1" />
</path>
@@ -822,6 +851,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones" />
+ </path>
+
<path name="compress-offload-playback2 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1" />
</path>
@@ -897,6 +930,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones" />
+ </path>
+
<path name="compress-offload-playback3 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
</path>
@@ -973,6 +1010,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones" />
+ </path>
+
<path name="compress-offload-playback4 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1" />
</path>
@@ -1048,6 +1089,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones" />
+ </path>
+
<path name="compress-offload-playback5 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1" />
</path>
@@ -1123,6 +1168,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones" />
+ </path>
+
<path name="compress-offload-playback6 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1" />
</path>
@@ -1198,6 +1247,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones" />
+ </path>
+
<path name="compress-offload-playback7 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1273,6 +1326,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones" />
+ </path>
+
<path name="compress-offload-playback8 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1348,6 +1405,10 @@
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones" />
+ </path>
+
<path name="compress-offload-playback9 headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1393,6 +1454,10 @@
<path name="audio-record bt-sco" />
</path>
+ <path name="audio-record headset-mic">
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record capture-fm">
<ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1" />
</path>
@@ -1418,6 +1483,31 @@
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="audio-record-compress2">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 bt-sco-swb">
+ <path name="audio-record-compress2 bt-sco" />
+ </path>
+
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="low-latency-record">
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -1459,6 +1549,10 @@
<ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1" />
</path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones" />
+ </path>
+
<path name="incall-rec-uplink">
<ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1483,6 +1577,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
@@ -1507,6 +1605,10 @@
<path name="incall-rec-uplink-compress" />
</path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
<path name="incall-rec-downlink">
<ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
</path>
@@ -1531,6 +1633,10 @@
<path name="incall-rec-downlink" />
</path>
+ <path name="incall-rec-downlink headset-mic">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-downlink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
</path>
@@ -1555,6 +1661,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink-compress headset-mic">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -1580,6 +1690,10 @@
<path name="incall-rec-uplink-and-downlink" />
</path>
+ <path name="incall-rec-uplink-and-downlink headset-mic">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink-compress">
<path name="incall-rec-uplink-compress" />
<path name="incall-rec-downlink-compress" />
@@ -1605,6 +1719,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink-compress headset-mic">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
<path name="hfp-sco">
</path>
@@ -1683,6 +1801,11 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="1" />
@@ -1737,6 +1860,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="1" />
@@ -1849,6 +1977,10 @@
<path name="audio-record-voip bt-sco" />
</path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="bt-a2dp">
<ctl name="SLIM7_RX ADM Channels" value="Two" />
</path>
@@ -2056,6 +2188,10 @@
<ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="hifi-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2132,6 +2268,10 @@
<path name="incall_music_uplink" />
</path>
+ <path name="incall_music_uplink headset">
+ <path name="incall_music_uplink" />
+ </path>
+
<path name="incall_music_uplink speaker-and-headphones">
<path name="incall_music_uplink" />
</path>
@@ -2172,10 +2312,10 @@
</path>
<path name="amic2">
- <ctl name="TX DEC0 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX0" value="ADC1" />
- <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
+ <ctl name="TX DEC5 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX5" value="ADC1" />
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
+ <ctl name="TX_AIF2_CAP Mixer DEC5" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
</path>
@@ -2403,6 +2543,10 @@
<path name="headphones" />
</path>
+ <path name="voice-headset">
+ <path name="headphones" />
+ </path>
+
<path name="voice-line">
<path name="voice-headphones" />
</path>
diff --git a/configs/lito/sound_trigger_platform_info.xml b/configs/lito/sound_trigger_platform_info.xml
index 510fa09..3f5f5df 100644
--- a/configs/lito/sound_trigger_platform_info.xml
+++ b/configs/lito/sound_trigger_platform_info.xml
@@ -48,6 +48,7 @@
<param backend_dai_name="VA_CDC_DMA_TX_0" />
<!-- Param used to indicate if SVA has dedicated SLIM ports -->
<param dedicated_sva_path="true" />
+ <param dedicated_headset_path="false" />
<param platform_lpi_enable="true" />
</common_config>
<acdb_ids>
diff --git a/configs/msm8937/audio_configs.xml b/configs/msm8937/audio_configs.xml
index ed3ed8d..0b0caba 100644
--- a/configs/msm8937/audio_configs.xml
+++ b/configs/msm8937/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="true" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="false" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="true" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="false" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="true" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="true" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/msm8937/msm8937.mk b/configs/msm8937/msm8937.mk
index a41740f..ff86399 100644
--- a/configs/msm8937/msm8937.mk
+++ b/configs/msm8937/msm8937.mk
@@ -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/msm8998/audio_configs.xml b/configs/msm8998/audio_configs.xml
index 4b0159d..34d01b7 100644
--- a/configs/msm8998/audio_configs.xml
+++ b/configs/msm8998/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/msm8998/audio_policy_configuration.xml b/configs/msm8998/audio_policy_configuration.xml
index 62e75c2..0073071 100644
--- a/configs/msm8998/audio_policy_configuration.xml
+++ b/configs/msm8998/audio_policy_configuration.xml
@@ -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 81077c1..9f31670 100644
--- a/configs/msm8998/msm8998.mk
+++ b/configs/msm8998/msm8998.mk
@@ -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/audio_configs.xml b/configs/msmnile/audio_configs.xml
index 6217f0c..8e3cda2 100644
--- a/configs/msmnile/audio_configs.xml
+++ b/configs/msmnile/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,50 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audio_zoom_enabled" value="false" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="true" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="true" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="true" />
- <flag name="ext_hw_plugin_enabled" value="true" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="true" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="true" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/msmnile/audio_configs_stock.xml b/configs/msmnile/audio_configs_stock.xml
index bbc44c3..dd0c3b4 100644
--- a/configs/msmnile/audio_configs_stock.xml
+++ b/configs/msmnile/audio_configs_stock.xml
@@ -29,46 +29,4 @@
-->
<configs>
<!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="afe_proxy_enabled" value="false" />
- <flag name="anc_headset_enabled" value="false" />
- <flag name="audio_zoom_enabled" value="true" />
- <flag name="audiosphere_enabled" value="false" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="false" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="concurrent_capture_enabled" value="true" />
- <flag name="custom_stereo_enabled" value="false" />
- <flag name="display_port_enabled" value="false" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="true" />
- <flag name="ext_spkr_enabled" value="true" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="false" />
- <flag name="fm_power_opt" value="false" />
- <flag name="hdmi_edid_enabled" value="false" />
- <flag name="hdmi_passthrough_enabled" value="false" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="true" />
- <flag name="incall_music_enabled" value="true" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="false" />
- <flag name="maxx_audio_enabled" value="true" />
- <flag name="receiver_aided_stereo" value="false" />
- <flag name="record_play_concurrency" value="false" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="false" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="false" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="false" />
- <flag name="wsa_enabled" value="false" />
</configs>
diff --git a/configs/msmnile/msmnile.mk b/configs/msmnile/msmnile.mk
index 3315b11..bb9f804 100644
--- a/configs/msmnile/msmnile.mk
+++ b/configs/msmnile/msmnile.mk
@@ -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/msmsteppe/audio_policy_configuration.xml b/configs/msmsteppe/audio_policy_configuration.xml
index 99f03bf..7756457 100644
--- a/configs/msmsteppe/audio_policy_configuration.xml
+++ b/configs/msmsteppe/audio_policy_configuration.xml
@@ -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..55caba5 100644
--- a/configs/msmsteppe/msmsteppe.mk
+++ b/configs/msmsteppe/msmsteppe.mk
@@ -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_configs.xml b/configs/sdm660/audio_configs.xml
index 3688697..9ba674c 100644
--- a/configs/sdm660/audio_configs.xml
+++ b/configs/sdm660/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="true" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="true" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="true" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/sdm660/audio_policy_configuration.xml b/configs/sdm660/audio_policy_configuration.xml
index 5ec3c56..40c02b2 100644
--- a/configs/sdm660/audio_policy_configuration.xml
+++ b/configs/sdm660/audio_policy_configuration.xml
@@ -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 b598a2c..8fa1840 100644
--- a/configs/sdm660/sdm660.mk
+++ b/configs/sdm660/sdm660.mk
@@ -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_configs.xml b/configs/sdm710/audio_configs.xml
index 6a6fb7d..eb02775 100644
--- a/configs/sdm710/audio_configs.xml
+++ b/configs/sdm710/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="true" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/sdm710/sdm710.mk b/configs/sdm710/sdm710.mk
index 5cb6a5a..750147d 100644
--- a/configs/sdm710/sdm710.mk
+++ b/configs/sdm710/sdm710.mk
@@ -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_configs.xml b/configs/sdm845/audio_configs.xml
index 307f9a3..8e3cda2 100644
--- a/configs/sdm845/audio_configs.xml
+++ b/configs/sdm845/audio_configs.xml
@@ -49,6 +49,10 @@
<flag name="audio_extn_hdmi_spk_enabled" value="true" />
<flag name="use_xml_audio_policy_conf" value="true" />
<flag name="voice_concurrency" value="false" />
+ <flag name="afe_proxy_enabled" value="true" />
+ <flag name="compress_voip_enabled" value="false" />
+ <flag name="fm_power_opt" value="true" />
+ <flag name="record_play_concurrency" value="false" />
<!-- AV Configs -->
<property name="vendor.audio.use.sw.alac.decoder" value="true"/>
@@ -65,49 +69,4 @@
<flag name="qti_flac_decoder" value="true" />
<flag name="vorbis_offload_enabled" value="true" />
<flag name="wma_offload_enabled" value="true" />
-
- <!-- AHAL Configs -->
- <flag name="a2dp_offload_enabled" value="true" />
- <flag name="anc_headset_enabled" value="true" />
- <flag name="audiosphere_enabled" value="true" />
- <flag name="battery_listener_enabled" value="false" />
- <flag name="compress_capture_enabled" value="false" />
- <flag name="compress_in_enabled" value="false" />
- <flag name="compress_metadata_needed" value="true" />
- <flag name="concurrent_capture_enabled" value="false" />
- <flag name="custom_stereo_enabled" value="true" />
- <flag name="display_port_enabled" value="true" />
- <flag name="dsm_feedback_enabled" value="false" />
- <flag name="dynamic_ecns_enabled" value="false" />
- <flag name="ext_hw_plugin_enabled" value="false" />
- <flag name="ext_qdsp_enabled" value="false" />
- <flag name="ext_spkr_enabled" value="false" />
- <flag name="ext_spkr_tfa_enabled" value="false" />
- <flag name="fluence_enabled" value="true" />
- <flag name="hdmi_edid_enabled" value="true" />
- <flag name="hdmi_passthrough_enabled" value="true" />
- <flag name="hfp_enabled" value="true" />
- <flag name="hifi_audio_enabled" value="false" />
- <flag name="hwdep_cal_enabled" value="false" />
- <flag name="incall_music_enabled" value="false" />
- <flag name="keep_alive_enabled" value="false" />
- <flag name="kpi_optimize_enabled" value="true" />
- <flag name="maxx_audio_enabled" value="false" />
- <flag name="receiver_aided_stereo" value="true" />
- <flag name="snd_monitor_enabled" value="true" />
- <flag name="source_track_enabled" value="true" />
- <flag name="spkr_prot_enabled" value="true" />
- <flag name="ssrec_enabled" value="true" />
- <flag name="usb_offload_burst_mode" value="false" />
- <flag name="usb_offload_enabled" value="true" />
- <flag name="usb_offload_sidetone_vol_enabled" value="false" />
- <flag name="use_deep_buffer_as_primary_output" value="false" />
- <flag name="vbat_enabled" value="true" />
- <flag name="wsa_enabled" value="false" />
-
- <!-- Common configs between APM and AHAL -->
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
</configs>
diff --git a/configs/sdm845/sdm845.mk b/configs/sdm845/sdm845.mk
index 77da76c..a967867 100644
--- a/configs/sdm845/sdm845.mk
+++ b/configs/sdm845/sdm845.mk
@@ -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..ed15fdb 100644
--- a/configs/trinket/audio_policy_configuration.xml
+++ b/configs/trinket/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/trinket/trinket.mk b/configs/trinket/trinket.mk
index 56ef3a8..2a28adf 100644
--- a/configs/trinket/trinket.mk
+++ b/configs/trinket/trinket.mk
@@ -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/a2dp.c b/hal/audio_extn/a2dp.c
old mode 100755
new mode 100644
index 1b197b2..bcdcb1c
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -1031,12 +1031,10 @@
a2dp.audio_is_tws_mono_mode_enable = (audio_is_tws_mono_mode_enable_t)
dlsym(a2dp.bt_lib_source_handle,"isTwsMonomodeEnable");
- if (is_running_with_enhanced_fwk == UNINITIALIZED)
- is_running_with_enhanced_fwk = check_if_enhanced_fwk();
- if (a2dp.bt_lib_source_handle && is_running_with_enhanced_fwk
- && a2dp.bt_audio_pre_init) {
- ALOGD("calling BT module preinit");
- a2dp.bt_audio_pre_init();
+ if (a2dp.bt_lib_source_handle && a2dp.bt_audio_pre_init) {
+ ALOGD("calling BT module preinit");
+ // fwk related check's will be done in the BT layer
+ a2dp.bt_audio_pre_init();
}
}
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 1e28b86..a175b83 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -84,9 +84,9 @@
AUDIO_EVENT_CAPTURE_STREAM_INACTIVE,
AUDIO_EVENT_CAPTURE_STREAM_ACTIVE,
AUDIO_EVENT_BATTERY_STATUS_CHANGED,
- AUDIO_EVENT_SCREEN_STATUS_CHANGED,
AUDIO_EVENT_GET_PARAM,
- AUDIO_EVENT_UPDATE_ECHO_REF
+ AUDIO_EVENT_UPDATE_ECHO_REF,
+ AUDIO_EVENT_SCREEN_STATUS_CHANGED
} audio_event_type_t;
typedef enum {
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 94c9c50..5725603 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2752,6 +2752,7 @@
!(usecase->stream.out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) &&
(usecase->type != TRANSCODE_LOOPBACK_TX) &&
(usecase->type != TRANSCODE_LOOPBACK_RX) &&
+ (usecase->type != PCM_CAPTURE) &&
usecase->stream.out->started) {
if (is_bt_soc_on(adev) == false) {
ALOGD("BT SCO/A2dp disconnected while in connection");
@@ -4183,6 +4184,13 @@
if (out->usecase == USECASE_AUDIO_PLAYBACK_MMAP) {
do_stop = out->playback_started;
out->playback_started = false;
+
+ if (out->mmap_shared_memory_fd >= 0) {
+ ALOGV("%s: closing mmap_shared_memory_fd = %d",
+ __func__, out->mmap_shared_memory_fd);
+ close(out->mmap_shared_memory_fd);
+ out->mmap_shared_memory_fd = -1;
+ }
}
} else {
ALOGD("copl(%p):standby", out);
@@ -6110,6 +6118,9 @@
// Fall back to non exclusive mode
info->shared_memory_fd = pcm_get_poll_fd(out->pcm);
} else {
+ out->mmap_shared_memory_fd = info->shared_memory_fd; // for closing later
+ ALOGV("%s: opened mmap_shared_memory_fd = %d", __func__, out->mmap_shared_memory_fd);
+
if (mmap_size < buffer_size) {
step = "mmap";
goto exit;
@@ -6256,6 +6267,12 @@
} else if (in->usecase == USECASE_AUDIO_RECORD_MMAP) {
do_stop = in->capture_started;
in->capture_started = false;
+ if (in->mmap_shared_memory_fd >= 0) {
+ ALOGV("%s: closing mmap_shared_memory_fd = %d",
+ __func__, in->mmap_shared_memory_fd);
+ close(in->mmap_shared_memory_fd);
+ in->mmap_shared_memory_fd = -1;
+ }
} else {
if (audio_extn_cin_attached_usecase(in->usecase))
audio_extn_cin_close_input_stream(in);
@@ -6984,6 +7001,9 @@
// Fall back to non exclusive mode
info->shared_memory_fd = pcm_get_poll_fd(in->pcm);
} else {
+ in->mmap_shared_memory_fd = info->shared_memory_fd; // for closing later
+ ALOGV("%s: opened mmap_shared_memory_fd = %d", __func__, in->mmap_shared_memory_fd);
+
if (mmap_size < buffer_size) {
step = "mmap";
goto exit;
@@ -7208,6 +7228,7 @@
out->set_dual_mono = false;
out->prev_card_status_offline = false;
out->pspd_coeff_sent = false;
+ out->mmap_shared_memory_fd = -1; // not open
if ((flags & AUDIO_OUTPUT_FLAG_BD) &&
(property_get_bool("vendor.audio.matrix.limiter.enable", false)))
@@ -8110,16 +8131,13 @@
if (strcmp(value, AUDIO_PARAMETER_VALUE_ON) == 0){
adev->bt_sco_on = true;
} else {
- ALOGD("sco is off, reset sco and route device to handset/mic");
+ ALOGD("sco is off, reset sco and route device to handset mic");
adev->bt_sco_on = false;
audio_extn_sco_reset_configuration();
list_for_each(node, &adev->usecase_list) {
usecase = node_to_item(node, struct audio_usecase, list);
- if ((usecase->type == PCM_PLAYBACK) && usecase->stream.out &&
- (usecase->stream.out->devices & AUDIO_DEVICE_OUT_ALL_SCO))
- usecase->stream.out->devices = AUDIO_DEVICE_OUT_EARPIECE;
- else if ((usecase->type == PCM_CAPTURE) && usecase->stream.in &&
- (usecase->stream.in->device & AUDIO_DEVICE_IN_ALL_SCO))
+ if ((usecase->type == PCM_CAPTURE) && usecase->stream.in &&
+ (usecase->stream.in->device & AUDIO_DEVICE_IN_ALL_SCO))
usecase->stream.in->device = AUDIO_DEVICE_IN_BUILTIN_MIC;
else
continue;
@@ -8725,6 +8743,7 @@
in->zoom = 0;
list_init(&in->aec_list);
list_init(&in->ns_list);
+ in->mmap_shared_memory_fd = -1; // not open
ALOGV("%s: source %d, config->channel_mask %#x", __func__, source, config->channel_mask);
if (source == AUDIO_SOURCE_VOICE_UPLINK ||
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 9b7bf5b..ebdaa97 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -368,6 +368,7 @@
bool muted;
uint64_t written; /* total frames written, not cleared when entering standby */
int64_t mmap_time_offset_nanos; /* fudge factor to correct inaccuracies in DSP */
+ int mmap_shared_memory_fd; /* file descriptor associated with MMAP NOIRQ shared memory */
audio_io_handle_t handle;
struct stream_app_type_cfg app_type_cfg;
@@ -456,6 +457,7 @@
struct listnode aec_list;
struct listnode ns_list;
int64_t mmap_time_offset_nanos; /* fudge factor to correct inaccuracies in DSP */
+ int mmap_shared_memory_fd; /* file descriptor associated with MMAP NOIRQ shared memory */
audio_io_handle_t capture_handle;
audio_input_flags_t flags;
char profile[MAX_STREAM_PROFILE_STR_LEN];
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 130c017..64e9383 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -5910,7 +5910,6 @@
case USECASE_VOICEMMODE1_CALL:
case USECASE_VOICEMMODE2_CALL:
case USECASE_COMPRESS_VOIP_CALL:
- case USECASE_AUDIO_RECORD_FM_VIRTUAL:
case USECASE_INCALL_REC_UPLINK:
case USECASE_INCALL_REC_DOWNLINK:
case USECASE_INCALL_REC_UPLINK_AND_DOWNLINK:
@@ -5919,8 +5918,6 @@
case USECASE_INCALL_REC_UPLINK_AND_DOWNLINK_COMPRESS:
case USECASE_INCALL_MUSIC_UPLINK:
case USECASE_INCALL_MUSIC_UPLINK2:
- case USECASE_AUDIO_SPKR_CALIB_RX:
- case USECASE_AUDIO_SPKR_CALIB_TX:
case USECASE_AUDIO_RECORD_VOIP:
needs_event = true;
break;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index d83ef20..42c9256 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -8023,9 +8023,6 @@
case USECASE_INCALL_MUSIC_UPLINK:
case USECASE_INCALL_MUSIC_UPLINK2:
case USECASE_AUDIO_RECORD_VOIP:
- case USECASE_AUDIO_RECORD_FM_VIRTUAL:
- case USECASE_AUDIO_SPKR_CALIB_RX:
- case USECASE_AUDIO_SPKR_CALIB_TX:
needs_event = true;
break;
default:
@@ -8059,7 +8056,9 @@
}
/* Use client specified buffer size if mentioned */
- if ((info != NULL) && (info->duration_us > 0)) {
+ if ((info != NULL) &&
+ (info->duration_us >= MIN_OFFLOAD_BUFFER_DURATION_MS) &&
+ (info->duration_us <= MAX_OFFLOAD_BUFFER_DURATION_MS)) {
duration_ms = info->duration_us / 1000;
channel_count = audio_channel_count_from_in_mask(info->channel_mask);
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