diff options
author | Pavlin Radoslavov <pavlin@google.com> | 2017-07-21 00:51:07 +0000 |
---|---|---|
committer | Pavlin Radoslavov <pavlin@google.com> | 2017-07-20 18:00:13 -0700 |
commit | 7fe032bf56bac9adc920dec7ae0755f616c291bd (patch) | |
tree | 1edcf54cdef2469681c8769d39678d187afff7e5 | |
parent | 985644c8ca2bc3d99fb37a46df2c7f615c58ae88 (diff) | |
download | android_system_bt-7fe032bf56bac9adc920dec7ae0755f616c291bd.tar.gz android_system_bt-7fe032bf56bac9adc920dec7ae0755f616c291bd.tar.bz2 android_system_bt-7fe032bf56bac9adc920dec7ae0755f616c291bd.zip |
Revert "Always restrict the AVDTP MTU for SBC codec to MAX_2MBPS_AVDTP_MTU(663)"
This reverts commit 9eee3a772b3f23e5c33845422203f0dec07be234.
Not needed anymore - handled by the interoperability database.
Bug: 62394764
Bug: 34127145
Test: Audio streaming to headset that supports 3Mbps
Change-Id: I143c07c171e0fe9ef882c5e506545187f9e41498
(cherry picked from commit a97b0381c8626320151c246cfd9a71dedcf635ff)
-rw-r--r-- | stack/a2dp/a2dp_sbc_encoder.cc | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/stack/a2dp/a2dp_sbc_encoder.cc b/stack/a2dp/a2dp_sbc_encoder.cc index 5d48c7903..e4c20499c 100644 --- a/stack/a2dp/a2dp_sbc_encoder.cc +++ b/stack/a2dp/a2dp_sbc_encoder.cc @@ -753,14 +753,21 @@ static uint8_t calculate_max_frames_per_packet(void) { LOG_VERBOSE(LOG_TAG, "%s: original AVDTP MTU size: %d", __func__, a2dp_sbc_encoder_cb.TxAaMtuSize); + if (a2dp_sbc_encoder_cb.is_peer_edr && + !a2dp_sbc_encoder_cb.peer_supports_3mbps) { + // This condition would be satisfied only if the remote device is + // EDR and supports only 2 Mbps, but the effective AVDTP MTU size + // exceeds the 2DH5 packet size. + LOG_VERBOSE(LOG_TAG, + "%s: The remote device is EDR but does not support 3 Mbps", + __func__); - // Restrict the MTU - even though some Sink devices are advertising large - // MTU, they are not able to handle the packets and are stuttering. - if (effective_mtu_size > MAX_2MBPS_AVDTP_MTU) { - LOG_WARN(LOG_TAG, "%s: Restricting AVDTP MTU size to %d", __func__, - MAX_2MBPS_AVDTP_MTU); - effective_mtu_size = MAX_2MBPS_AVDTP_MTU; - a2dp_sbc_encoder_cb.TxAaMtuSize = effective_mtu_size; + if (effective_mtu_size > MAX_2MBPS_AVDTP_MTU) { + LOG_WARN(LOG_TAG, "%s: Restricting AVDTP MTU size to %d", __func__, + MAX_2MBPS_AVDTP_MTU); + effective_mtu_size = MAX_2MBPS_AVDTP_MTU; + a2dp_sbc_encoder_cb.TxAaMtuSize = effective_mtu_size; + } } if (!p_encoder_params->s16NumOfSubBands) { |