hal : Fix voice call tx mute issue on BT
-voice call tx mute is observed in stress test as decoder config
is not reset and leading to mute in tx.
-this can happen in two scenarios:
a. LDAC ABR + Audio Server restart + voice call over BT
b. voice call with SWB speech codec and 2nd call with NB/WB codec.
-always reset decoder config on a2dp suspend without checking
for ABR use case.
Change-Id: I72be864f05cab6650a09190939d068e919a10a36
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 14bf29c..4a37bf1 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -2605,19 +2605,17 @@
struct abr_dec_cfg_t dummy_reset_cfg;
int ret = 0;
- if (a2dp.abr_config.is_abr_enabled) {
- ctl_dec_data = mixer_get_ctl_by_name(a2dp.adev->mixer, MIXER_SOURCE_DEC_CONFIG_BLOCK);
- if (!ctl_dec_data) {
- ALOGE("%s: ERROR A2DP decoder config mixer control not identifed", __func__);
- return -EINVAL;
- }
- memset(&dummy_reset_cfg, 0x0, sizeof(dummy_reset_cfg));
- ret = mixer_ctl_set_array(ctl_dec_data, (void *)&dummy_reset_cfg,
- sizeof(dummy_reset_cfg));
- if (ret != 0) {
- ALOGE("%s: Failed to set dummy decoder config", __func__);
- return ret;
- }
+ ctl_dec_data = mixer_get_ctl_by_name(a2dp.adev->mixer, MIXER_SOURCE_DEC_CONFIG_BLOCK);
+ if (!ctl_dec_data) {
+ ALOGE("%s: ERROR A2DP decoder config mixer control not identifed", __func__);
+ return -EINVAL;
+ }
+ memset(&dummy_reset_cfg, 0x0, sizeof(dummy_reset_cfg));
+ ret = mixer_ctl_set_array(ctl_dec_data, (void *)&dummy_reset_cfg,
+ sizeof(dummy_reset_cfg));
+ if (ret != 0) {
+ ALOGE("%s: Failed to set dummy decoder config", __func__);
+ return ret;
}
return ret;