hal: avoid audio rerouting to different device when hfp is active
- when hfp is active we make sure we do not reroute anything
new to different device with same backend.
CRs-Fixed: 592390
Change-Id: I75e69916a8fe7e711b326cf82b206e3e16508b60
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index fefbfa4..f73f5fe 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -593,6 +593,7 @@
struct audio_usecase *usecase = NULL;
struct audio_usecase *vc_usecase = NULL;
struct audio_usecase *voip_usecase = NULL;
+ struct audio_usecase *hfp_usecase = NULL;
struct listnode *node;
int status = 0;
@@ -631,6 +632,12 @@
in_snd_device = voip_usecase->in_snd_device;
out_snd_device = voip_usecase->out_snd_device;
}
+ } else if (audio_extn_hfp_is_active(adev)) {
+ hfp_usecase = get_usecase_from_list(adev, USECASE_AUDIO_HFP_SCO);
+ if (hfp_usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) {
+ in_snd_device = hfp_usecase->in_snd_device;
+ out_snd_device = hfp_usecase->out_snd_device;
+ }
}
if (usecase->type == PCM_PLAYBACK) {
usecase->devices = usecase->stream.out->devices;