Merge "hal: Fix for FM mute issue on start of FM record"
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 4e33dfb..ce26388 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -795,8 +795,7 @@
out_snd_device = platform_get_output_snd_device(adev->platform,
usecase->stream.out->devices);
if (usecase->stream.out == adev->primary_output &&
- adev->active_input &&
- adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION) {
+ adev->active_input) {
select_devices(adev, adev->active_input->usecase);
}
}
@@ -805,8 +804,10 @@
out_snd_device = SND_DEVICE_NONE;
if (in_snd_device == SND_DEVICE_NONE) {
audio_devices_t out_device = AUDIO_DEVICE_NONE;
- if (adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION &&
- adev->primary_output && !adev->primary_output->standby) {
+ if ((adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION ||
+ (adev->mode == AUDIO_MODE_IN_COMMUNICATION &&
+ adev->active_input->source == AUDIO_SOURCE_MIC)) &&
+ adev->primary_output && !adev->primary_output->standby) {
out_device = adev->primary_output->devices;
} else if (usecase->id == USECASE_AUDIO_RECORD_AFE_PROXY) {
out_device = AUDIO_DEVICE_OUT_TELEPHONY_TX;
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index c384055..4b71451 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -1854,7 +1854,8 @@
snd_device = SND_DEVICE_IN_VOICE_REC_MIC;
}
}
- } else if (source == AUDIO_SOURCE_VOICE_COMMUNICATION) {
+ } else if ((source == AUDIO_SOURCE_VOICE_COMMUNICATION) ||
+ (mode == AUDIO_MODE_IN_COMMUNICATION)) {
if (out_device & AUDIO_DEVICE_OUT_SPEAKER)
in_device = AUDIO_DEVICE_IN_BACK_MIC;
if (adev->active_input) {