hal: Update mixer control for voice/volte call
Update mixer control with session id in
voice/volte call so that mute and unmute
commands can work properly.
Bug: 32395731
Change-Id: Ib64707e644eda29bd145ad67ae6d2519ac643969
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index f2efec3..a7b51ab 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -1428,7 +1428,9 @@
struct mixer_ctl *ctl;
const char *mixer_ctl_name = "Voice Tx Mute";
int ret = 0;
- uint32_t set_values[ ] = {0};
+ uint32_t set_values[ ] = {0,
+ ALL_SESSION_VSID,
+ DEFAULT_MUTE_RAMP_DURATION_MS};
if (audio_extn_hfp_is_active(adev))
mixer_ctl_name = "HFP TX Mute";
@@ -1441,7 +1443,11 @@
return -EINVAL;
}
ALOGV("Setting voice mute state: %d", state);
- ret = mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
+ // "HFP TX mute" mixer control has xcount of 1.
+ if (audio_extn_hfp_is_active(adev))
+ ret = mixer_ctl_set_array(ctl, set_values, 1 /*count*/);
+ else
+ ret = mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
return ret;
}