Merge "hal: add primary output validity check during voip device switch"
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 3e3f72f..8d6ef64 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2146,13 +2146,14 @@
out_snd_device = platform_get_output_snd_device(adev->platform,
usecase->stream.out);
voip_usecase = get_usecase_from_list(adev, USECASE_AUDIO_PLAYBACK_VOIP);
- if (voip_usecase == NULL)
+ if (voip_usecase == NULL && adev->primary_output && !adev->primary_output->standby)
voip_usecase = get_usecase_from_list(adev, adev->primary_output->usecase);
if ((usecase->stream.out != NULL &&
voip_usecase != NULL &&
usecase->stream.out->usecase == voip_usecase->id) &&
adev->active_input &&
+ adev->active_input->source == AUDIO_SOURCE_VOICE_COMMUNICATION &&
out_snd_device != usecase->out_snd_device) {
select_devices(adev, adev->active_input->usecase);
}