A2DP offload: switch to new properties
Bug: 63932139
Bug: 76201991
Test: Manual A2DP testing (A2DP offload enabled and disabled)
Change-Id: If906f8cdbd561f7c7ad311dc993f7b1f98c0a2aa
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 6f278c2..3eebab7 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -76,7 +76,8 @@
#define ENC_FMT_SBC "sbc"
// System properties used for A2DP Offload
-#define SYSPROP_A2DP_OFFLOAD_ENABLED "persist.vendor.bluetooth.a2dp_offload.enable"
+#define SYSPROP_A2DP_OFFLOAD_SUPPORTED "ro.bluetooth.a2dp_offload.supported"
+#define SYSPROP_A2DP_OFFLOAD_DISABLED "persist.bluetooth.a2dp_offload.disabled"
#define SYSPROP_A2DP_CODEC_LATENCIES "vendor.audio.a2dp.codec.latency"
// Default encoder bit width
@@ -226,8 +227,8 @@
bool a2dp_suspended;
/* Number of active sessions on A2DP output */
int a2dp_total_active_session_request;
- /* Flag to denote whether A2DP offload is supported */
- bool is_a2dp_offload_supported;
+ /* Flag to denote whether A2DP offload is enabled */
+ bool is_a2dp_offload_enabled;
/* Flag to denote whether codec reconfiguration/soft handoff is in progress */
bool is_handoff_in_progress;
/* Flag to denote whether APTX Dual Mono encoder is supported */
@@ -522,10 +523,12 @@
static void update_offload_codec_support()
{
- a2dp.is_a2dp_offload_supported =
- property_get_bool(SYSPROP_A2DP_OFFLOAD_ENABLED, false);
- ALOGD("%s: A2DP offload supported = %d",
- __func__, a2dp.is_a2dp_offload_supported);
+ a2dp.is_a2dp_offload_enabled =
+ property_get_bool(SYSPROP_A2DP_OFFLOAD_SUPPORTED, false) &&
+ !property_get_bool(SYSPROP_A2DP_OFFLOAD_DISABLED, false);
+
+ ALOGD("%s: A2DP offload enabled = %d", __func__,
+ a2dp.is_a2dp_offload_enabled);
}
static int stop_abr()
@@ -1461,7 +1464,7 @@
struct audio_usecase *uc_info;
struct listnode *node;
- if (a2dp.is_a2dp_offload_supported == false) {
+ if (a2dp.is_a2dp_offload_enabled == false) {
ALOGV("%s: No supported encoders identified,ignoring A2DP setparam", __func__);
return;
}
@@ -1579,7 +1582,7 @@
goto exit;
if ((a2dp.bt_state != A2DP_STATE_DISCONNECTED) &&
- (a2dp.is_a2dp_offload_supported) &&
+ (a2dp.is_a2dp_offload_enabled) &&
(a2dp.audio_check_a2dp_ready))
ret = a2dp.audio_check_a2dp_ready();
@@ -1598,7 +1601,7 @@
a2dp.bt_lib_handle = NULL;
a2dp_common_init();
a2dp.enc_sampling_rate = 48000;
- a2dp.is_a2dp_offload_supported = false;
+ a2dp.is_a2dp_offload_enabled = false;
a2dp.is_handoff_in_progress = false;
a2dp.is_aptx_dual_mono_supported = false;
reset_a2dp_enc_config_params();