summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hal/audio_hw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 9b29a219..17a82b38 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -8758,12 +8758,14 @@ static int adev_set_parameters(struct audio_hw_device *dev, const char *kvpairs)
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);