diff options
-rw-r--r-- | hal/audio_hw.c | 6 |
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); |