audio: aptX: don't set bit-width explicitly
While finding the output profile for the aptX HD
A2DP the bit-width set to 24, but this leads to using
default app-type if there is no matching profile
for current audio format with 24 bit-width.
Don't set bit-width to 24 explicitly in case of
aptX HD.
CRs-Fixed: 2011277
Change-Id: If28ff26fb8e242d20ba0a98ff229fe278f1ec299
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 8ce3784..5423665 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -1067,13 +1067,8 @@
return a2dp.is_handoff_in_progress || !a2dp.a2dp_started;
}
-void audio_extn_a2dp_get_apptype_params(uint32_t *sample_rate,
- uint32_t *bit_width)
+void audio_extn_a2dp_get_sample_rate(int *sample_rate)
{
- if(a2dp.bt_encoder_format == ENC_CODEC_TYPE_APTX_HD)
- *bit_width = 24;
- else
- *bit_width = 16;
*sample_rate = a2dp.enc_sampling_rate;
}
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index 81f51e4..e6e77e9 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -241,7 +241,7 @@
#define audio_extn_a2dp_set_parameters(parms) (0)
#define audio_extn_a2dp_is_force_device_switch() (0)
#define audio_extn_a2dp_set_handoff_mode(is_on) (0)
-#define audio_extn_a2dp_get_apptype_params(sample_rate,bit_width) (0)
+#define audio_extn_a2dp_get_sample_rate(sample_rate) (0)
#define audio_extn_a2dp_get_encoder_latency() (0)
#define audio_extn_a2dp_is_ready() (0)
#define audio_extn_a2dp_is_suspended() (0)
@@ -252,8 +252,7 @@
void audio_extn_a2dp_set_parameters(struct str_parms *parms);
bool audio_extn_a2dp_is_force_device_switch();
void audio_extn_a2dp_set_handoff_mode(bool is_on);
-void audio_extn_a2dp_get_apptype_params(uint32_t *sample_rate,
- uint32_t *bit_width);
+void audio_extn_a2dp_get_sample_rate(int *sample_rate);
uint32_t audio_extn_a2dp_get_encoder_latency();
bool audio_extn_a2dp_is_ready();
bool audio_extn_a2dp_is_suspended();
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index cac1369..3653444 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -736,12 +736,6 @@
sample_rate = OUTPUT_SAMPLING_RATE_DSD128;
}
- if(devices & AUDIO_DEVICE_OUT_ALL_A2DP) {
- //TODO: Handle fractional sampling rate configuration for LL
- audio_extn_a2dp_get_apptype_params(&sample_rate, &bit_width);
- ALOGI("%s using %d sampling rate %d bit width for A2DP CoPP",
- __func__, sample_rate, bit_width);
- }
ALOGV("%s: flags: %x, format: %x sample_rate %d, profile %s, app_type %d",
__func__, flags, format, sample_rate, profile, app_type_cfg->app_type);
@@ -988,6 +982,14 @@
(usecase->stream.out->sample_rate < OUTPUT_SAMPLING_RATE_44100)) {
/* Reset to default if no native stream is active*/
usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
+ } else if (usecase->stream.out->devices & AUDIO_DEVICE_OUT_ALL_A2DP) {
+ /*
+ * For a2dp playback get encoder sampling rate and set copp sampling rate,
+ * for bit width use the stream param only.
+ */
+ audio_extn_a2dp_get_sample_rate(&usecase->stream.out->app_type_cfg.sample_rate);
+ ALOGI("%s using %d sample rate rate for A2DP CoPP",
+ __func__, usecase->stream.out->app_type_cfg.sample_rate);
}
sample_rate = usecase->stream.out->app_type_cfg.sample_rate;