OSDN Git Service

AVDT MTU is fixed
authorHansong Zhang <hsz@google.com>
Thu, 24 Sep 2020 22:15:18 +0000 (15:15 -0700)
committerHansong Zhang <hsz@google.com>
Thu, 24 Sep 2020 22:47:51 +0000 (15:47 -0700)
Bug: 159815595
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: Iad9e204602f643a820c982e46d24539b4595f84f

bta/av/bta_av_cfg.cc
bta/av/bta_av_main.cc
bta/include/bta_av_api.h
stack/avdt/avdt_ad.cc
stack/avdt/avdt_int.h
stack/avdt/avdt_l2c.cc

index ff4b048..1842af8 100644 (file)
@@ -129,8 +129,6 @@ const tBTA_AV_CFG bta_av_cfg = {
     BTA_AV_RC_COMP_ID,     /* AVRCP Company ID */
     BTA_AV_RC_SUPF_CT,     /* AVRCP controller categories */
     BTA_AV_RC_SUPF_TG,     /* AVRCP target categories */
-    672,                   /* AVDTP signaling channel MTU at L2CAP */
-    MAX_3MBPS_AVDTP_MTU,   /* AVDTP audio transport channel MTU at L2CAP */
     bta_av_audio_flush_to, /* AVDTP audio transport channel flush
                               timeout */
     6,                     /* AVDTP audio channel max data queue size */
@@ -153,8 +151,6 @@ const tBTA_AV_CFG bta_avk_cfg = {
     AVRC_CO_METADATA,      /* AVRCP Company ID */
     BTA_AVK_RC_SUPF_CT,    /* AVRCP controller categories */
     BTA_AVK_RC_SUPF_TG,    /* AVRCP target categories */
-    672,                   /* AVDTP signaling channel MTU at L2CAP */
-    MAX_3MBPS_AVDTP_MTU,   /* AVDTP audio transport channel MTU at L2CAP */
     bta_av_audio_flush_to, /* AVDTP audio transport channel flush timeout */
     6,                     /* AVDTP audio channel max data queue size */
     false, /* true, to accept AVRC 1.3 group nevigation command */
@@ -175,8 +171,6 @@ const tBTA_AV_CFG bta_av_cfg_compatibility = {
     BTA_AV_RC_COMP_ID,     /* AVRCP Company ID */
     BTA_AV_RC_SUPF_CT,     /* AVRCP controller categories */
     AVRC_SUPF_TG_CAT1,     /* Only support CAT1 for AVRCP1.3 */
-    672,                   /* AVDTP signaling channel MTU at L2CAP */
-    MAX_3MBPS_AVDTP_MTU,   /* AVDTP audio transport channel MTU at L2CAP */
     bta_av_audio_flush_to, /* AVDTP audio transport channel flush timeout */
     6,                     /* AVDTP audio channel max data queue size */
     false, /* true, to accept AVRC 1.3 group nevigation command */
index f572598..577eee4 100644 (file)
@@ -460,7 +460,7 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
 
     if (bta_av_cb.reg_audio == 0) {
       /* the first channel registered. register to AVDTP */
-      reg.ctrl_mtu = p_bta_av_cfg->sig_mtu;
+      reg.ctrl_mtu = 672;
       reg.ret_tout = BTA_AV_RET_TOUT;
       reg.sig_tout = BTA_AV_SIG_TOUT;
       reg.idle_tout = BTA_AV_IDLE_TOUT;
@@ -532,7 +532,7 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
     p_scb->media_type = AVDT_MEDIA_TYPE_AUDIO;
     avdtp_stream_config.cfg.psc_mask = AVDT_PSC_TRANS;
     avdtp_stream_config.media_type = AVDT_MEDIA_TYPE_AUDIO;
-    avdtp_stream_config.mtu = p_bta_av_cfg->audio_mtu;
+    avdtp_stream_config.mtu = MAX_3MBPS_AVDTP_MTU;
     avdtp_stream_config.flush_to = L2CAP_DEFAULT_FLUSH_TO;
     btav_a2dp_codec_index_t codec_index_min = BTAV_A2DP_CODEC_INDEX_SOURCE_MIN;
     btav_a2dp_codec_index_t codec_index_max = BTAV_A2DP_CODEC_INDEX_SOURCE_MAX;
index 76dbd63..1066211 100644 (file)
@@ -378,8 +378,6 @@ typedef struct {
   uint32_t company_id;  /* AVRCP Company ID */
   uint16_t avrc_ct_cat; /* AVRCP controller categories */
   uint16_t avrc_tg_cat; /* AVRCP target categories */
-  uint16_t sig_mtu;     /* AVDTP signaling channel MTU at L2CAP */
-  uint16_t audio_mtu;   /* AVDTP audio transport channel MTU at L2CAP */
   const uint16_t*
       p_audio_flush_to;    /* AVDTP audio transport channel flush timeout */
   uint16_t audio_mqs;      /* AVDTP audio channel max data queue size */
index c6a508f..82e3984 100644 (file)
@@ -527,11 +527,11 @@ void avdt_ad_open_req(uint8_t type, AvdtpCcb* p_ccb, AvdtpScb* p_scb,
 
   if (type == AVDT_CHAN_SIG) {
     /* if signaling, get mtu from registration control block */
-    p_tbl->my_mtu = avdtp_cb.rcb.ctrl_mtu;
+    p_tbl->my_mtu = kSignalMtu;
     p_tbl->my_flush_to = L2CAP_DEFAULT_FLUSH_TO;
   } else {
     /* otherwise get mtu from scb */
-    p_tbl->my_mtu = p_scb->stream_config.mtu;
+    p_tbl->my_mtu = kAudioMtu;
     p_tbl->my_flush_to = p_scb->stream_config.flush_to;
 
     /* also set scb_hdl in rt_tbl */
index 504fa05..523d070 100644 (file)
@@ -1005,4 +1005,7 @@ extern const uint8_t avdt_msg_rej_2_evt[];
 
 void avdt_l2c_disconnect(uint16_t lcid);
 
+constexpr uint16_t kSignalMtu = 672;
+constexpr uint16_t kAudioMtu = MAX_3MBPS_AVDTP_MTU;
+
 #endif /* AVDT_INT_H */
index 0003e55..f201892 100644 (file)
@@ -97,7 +97,7 @@ static void avdt_sec_check_complete_term(const RawAddress* bd_addr,
     /* Send L2CAP config req */
     memset(&cfg, 0, sizeof(tL2CAP_CFG_INFO));
     cfg.mtu_present = true;
-    cfg.mtu = p_tbl->my_mtu;
+    cfg.mtu = kSignalMtu;
     cfg.flush_to_present = true;
     cfg.flush_to = p_tbl->my_flush_to;
     L2CA_ConfigReq(p_tbl->lcid, &cfg);
@@ -138,7 +138,7 @@ static void avdt_sec_check_complete_orig(const RawAddress* bd_addr,
     /* Send L2CAP config req */
     memset(&cfg, 0, sizeof(tL2CAP_CFG_INFO));
     cfg.mtu_present = true;
-    cfg.mtu = p_tbl->my_mtu;
+    cfg.mtu = kSignalMtu;
     cfg.flush_to_present = true;
     cfg.flush_to = p_tbl->my_flush_to;
     L2CA_ConfigReq(p_tbl->lcid, &cfg);
@@ -181,7 +181,7 @@ void avdt_l2c_connect_ind_cback(const RawAddress& bd_addr, uint16_t lcid,
     } else {
       /* allocate and set up entry; first channel is always signaling */
       p_tbl = avdt_ad_tc_tbl_alloc(p_ccb);
-      p_tbl->my_mtu = avdtp_cb.rcb.ctrl_mtu;
+      p_tbl->my_mtu = kSignalMtu;
       p_tbl->my_flush_to = L2CAP_DEFAULT_FLUSH_TO;
       p_tbl->tcid = AVDT_CHAN_SIG;
       p_tbl->lcid = lcid;