diff --git a/system/btif/src/btif_av.cc b/system/btif/src/btif_av.cc index a2fa2dbf6dc8dd1aaedde48e26877e956803b88b..31713f44a35ce4934517994cd7fe8c76a692ffdd 100644 --- a/system/btif/src/btif_av.cc +++ b/system/btif/src/btif_av.cc @@ -54,8 +54,6 @@ *****************************************************************************/ static const std::string kBtifAvSourceServiceName = "Advanced Audio Source"; static const std::string kBtifAvSinkServiceName = "Advanced Audio Sink"; -static const std::string kBtifAvA2dpOffloadEnable = - "persist.bluetooth.a2dp_offload.enable"; static constexpr int kDefaultMaxConnectedAudioDevices = 1; static constexpr tBTA_AV_HNDL kBtaHandleUnknown = 0; @@ -907,9 +905,13 @@ bt_status_t BtifAvSource::Init( max_connected_peers_ = max_connected_audio_devices; /* A2DP OFFLOAD */ - char value[PROPERTY_VALUE_MAX] = {'\0'}; - osi_property_get(kBtifAvA2dpOffloadEnable.c_str(), value, "false"); - a2dp_offload_enabled_ = (strcmp(value, "true") == 0); + char value_sup[PROPERTY_VALUE_MAX] = {'\0'}; + char value_dis[PROPERTY_VALUE_MAX] = {'\0'}; + osi_property_get("ro.bluetooth.a2dp_offload.supported", value_sup, "false"); + osi_property_get("persist.bluetooth.a2dp_offload.disabled", value_dis, + "false"); + a2dp_offload_enabled_ = + (strcmp(value_sup, "true") == 0) && (strcmp(value_dis, "false") == 0); BTIF_TRACE_DEBUG("a2dp_offload.enable = %d", a2dp_offload_enabled_); callbacks_ = callbacks; diff --git a/system/stack/a2dp/a2dp_codec_config.cc b/system/stack/a2dp/a2dp_codec_config.cc index 1279cebc39307271c30e9b3e287d43d2674a27f6..93d7381358b0c8962e46ce873fbc25db64c99d8a 100644 --- a/system/stack/a2dp/a2dp_codec_config.cc +++ b/system/stack/a2dp/a2dp_codec_config.cc @@ -549,13 +549,17 @@ bool A2dpCodecs::init() { char* tok = NULL; char* tmp_token = NULL; bool offload_codec_support[BTAV_A2DP_CODEC_INDEX_MAX] = {false}; - char value_cap[PROPERTY_VALUE_MAX], value_enable[PROPERTY_VALUE_MAX]; - osi_property_get("persist.bluetooth.a2dp_offload.cap", value_cap, "false"); - osi_property_get("persist.bluetooth.a2dp_offload.enable", value_enable, + char value_sup[PROPERTY_VALUE_MAX], value_dis[PROPERTY_VALUE_MAX]; + + osi_property_get("ro.bluetooth.a2dp_offload.supported", value_sup, "false"); + osi_property_get("persist.bluetooth.a2dp_offload.disabled", value_dis, "false"); - a2dp_offload_status = (strcmp(value_enable, "true") == 0); + a2dp_offload_status = + (strcmp(value_sup, "true") == 0) && (strcmp(value_dis, "false") == 0); if (a2dp_offload_status) { + char value_cap[PROPERTY_VALUE_MAX]; + osi_property_get("persist.bluetooth.a2dp_offload.cap", value_cap, ""); tok = strtok_r((char*)value_cap, "-", &tmp_token); while (tok != NULL) { if (strcmp(tok, "sbc") == 0) {