hal: Fix voice call tx mute issue during voice and sva concurrency
Tx mute is observed for voice call with SVA running in background as
STHAL disables the device enabled by AHAL as it gets intimation about
audio usecase after enabling device.
Fix this by removing prop version check in device status so that STHAL
pauses its session before audio usecase enables device.
Also add check for playback usecase in stream status to send playback
usecase info to STHAL.
Change-Id: I8e575ad7cd198b4367d78f5dbe318fc908f86caf
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 909ef8f..c69b352 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -446,9 +446,6 @@
if (!st_dev)
return;
- if (st_dev->sthal_prop_api_version >= STHAL_PROP_API_VERSION_1_0)
- return;
-
if (snd_device >= SND_DEVICE_OUT_BEGIN &&
snd_device < SND_DEVICE_OUT_END)
device_type = PCM_PLAYBACK;
@@ -491,14 +488,15 @@
if (!st_dev)
return;
- if (st_dev->sthal_prop_api_version < STHAL_PROP_API_VERSION_1_0)
- return;
-
if (uc_info == NULL) {
ALOGE("%s: usecase is NULL!!!", __func__);
return;
}
+ if ((st_dev->sthal_prop_api_version < STHAL_PROP_API_VERSION_1_0) &&
+ (uc_info->type != PCM_PLAYBACK))
+ return;
+
if ((uc_info->in_snd_device >= SND_DEVICE_IN_BEGIN &&
uc_info->in_snd_device < SND_DEVICE_IN_END)) {
if (is_same_as_st_device(uc_info->in_snd_device))