Hal: add voice call usecase to re-select device when SCO ON arrived.
Sometimes routing to bt-sco failed since of the connection status
when setting force use to SCO, but then BT_SCO ON msg arrived, voice
call can't be rerouted.
Add voice call usecase to re-select device when SCO ON arrived to
avoid voice call can't route to right device when SCO state changed.
Change-Id: I1d090bd339817b5248e5d740d9b2956f0c9553e1
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 9b29a21..17a82b3 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -8758,12 +8758,14 @@
struct listnode *node;
list_for_each(node, &adev->usecase_list) {
usecase = node_to_item(node, struct audio_usecase, list);
- if (usecase->stream.in && (usecase->type == PCM_CAPTURE) &&
+ if (usecase->stream.in && (usecase->type == PCM_CAPTURE ||
+ usecase->type == VOICE_CALL) &&
(!is_btsco_device(SND_DEVICE_NONE, usecase->in_snd_device))) {
ALOGD("BT_SCO ON, switch all in use case to it");
select_devices(adev, usecase->id);
}
- if (usecase->stream.out && (usecase->type == PCM_PLAYBACK) &&
+ if (usecase->stream.out && (usecase->type == PCM_PLAYBACK ||
+ usecase->type == VOICE_CALL) &&
(!is_btsco_device(usecase->out_snd_device, SND_DEVICE_NONE))) {
ALOGD("BT_SCO ON, switch all out use case to it");
select_devices(adev, usecase->id);