hal: support for wide-band speech audio over BT
- Adding support for WB audio with BT devices
- Deprecate bt_samplrate" keyvalue pair which was
used earlier to determine wide band speech useCase.
Change-Id: Idc766dc4d8ecf25818f16bccc48c6740b0dfce65
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 6e52779..4360967 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -86,7 +86,6 @@
#define SAMPLE_RATE_16KHZ 16000
#define AUDIO_PARAMETER_KEY_FLUENCE_TYPE "fluence"
-#define AUDIO_PARAMETER_KEY_BTSCO "bt_samplerate"
#define AUDIO_PARAMETER_KEY_SLOWTALK "st_enable"
#define AUDIO_PARAMETER_KEY_VOLUME_BOOST "volume_boost"
@@ -117,7 +116,6 @@
bool fluence_in_audio_rec;
int fluence_type;
char fluence_cap[PROPERTY_VALUE_MAX];
- int btsco_sample_rate;
bool slowtalk;
/* Audio calibration related functions */
void *acdb_handle;
@@ -658,7 +656,6 @@
}
my_data->adev = adev;
- my_data->btsco_sample_rate = SAMPLE_RATE_8KHZ;
my_data->fluence_in_spkr_mode = false;
my_data->fluence_in_voice_call = false;
my_data->fluence_in_voice_rec = false;
@@ -1280,7 +1277,7 @@
snd_device = SND_DEVICE_OUT_VOICE_HEADPHONES;
}
} else if (devices & AUDIO_DEVICE_OUT_ALL_SCO) {
- if (my_data->btsco_sample_rate == SAMPLE_RATE_16KHZ)
+ if (adev->bt_wb_speech_enabled)
snd_device = SND_DEVICE_OUT_BT_SCO_WB;
else
snd_device = SND_DEVICE_OUT_BT_SCO;
@@ -1319,7 +1316,7 @@
else
snd_device = SND_DEVICE_OUT_SPEAKER;
} else if (devices & AUDIO_DEVICE_OUT_ALL_SCO) {
- if (my_data->btsco_sample_rate == SAMPLE_RATE_16KHZ)
+ if (adev->bt_wb_speech_enabled)
snd_device = SND_DEVICE_OUT_BT_SCO_WB;
else
snd_device = SND_DEVICE_OUT_BT_SCO;
@@ -1405,7 +1402,7 @@
snd_device = SND_DEVICE_IN_VOICE_HEADSET_MIC;
set_echo_reference(adev->mixer, EC_REF_RX);
} else if (out_device & AUDIO_DEVICE_OUT_ALL_SCO) {
- if (my_data->btsco_sample_rate == SAMPLE_RATE_16KHZ)
+ if (adev->bt_wb_speech_enabled)
snd_device = SND_DEVICE_IN_BT_SCO_MIC_WB;
else
snd_device = SND_DEVICE_IN_BT_SCO_MIC;
@@ -1543,7 +1540,7 @@
} else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) {
snd_device = SND_DEVICE_IN_HEADSET_MIC;
} else if (in_device & AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET) {
- if (my_data->btsco_sample_rate == SAMPLE_RATE_16KHZ)
+ if (adev->bt_wb_speech_enabled)
snd_device = SND_DEVICE_IN_BT_SCO_MIC_WB;
else
snd_device = SND_DEVICE_IN_BT_SCO_MIC;
@@ -1572,7 +1569,7 @@
} else if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) {
snd_device = SND_DEVICE_IN_HANDSET_MIC;
} else if (out_device & AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET) {
- if (my_data->btsco_sample_rate == SAMPLE_RATE_16KHZ)
+ if (adev->bt_wb_speech_enabled)
snd_device = SND_DEVICE_IN_BT_SCO_MIC_WB;
else
snd_device = SND_DEVICE_IN_BT_SCO_MIC;
@@ -1722,16 +1719,6 @@
ALOGV("%s: enter: %s", __func__, str_parms_to_str(parms));
- err = str_parms_get_int(parms, AUDIO_PARAMETER_KEY_BTSCO, &val);
- if (err >= 0) {
- str_parms_del(parms, AUDIO_PARAMETER_KEY_BTSCO);
- my_data->btsco_sample_rate = val;
- if (val == SAMPLE_RATE_16KHZ) {
- audio_route_apply_and_update_path(my_data->adev->audio_route,
- "bt-sco-wb-samplerate");
- }
- }
-
err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_SLOWTALK, value, sizeof(value));
if (err >= 0) {
bool state = false;