Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e675e190 authored by Zach Johnson's avatar Zach Johnson Committed by Gerrit Code Review
Browse files

Merge changes I436836d3,I6431ab48,I3b5c8786,I5d4d15ec,Id97ddfce, ...

* changes:
  Remove sys id param from bta_ar_dereg_avrc
  Remove sys id param from bta_ar_reg_avrc
  Remove sys id param from bta_ar_dereg_avct
  Remove sys id param from bta_ar_reg_avct
  BTA_AR_INCLUDED is always true
  Remove p_avk_conn_cback, it's never set
  Remove BTA_ID_AVK
parents b21760a0 3028b207
Loading
Loading
Loading
Loading
+11 −60
Original line number Diff line number Diff line
@@ -30,26 +30,6 @@
/* AV control block */
tBTA_AR_CB bta_ar_cb;

/*******************************************************************************
 *
 * Function         bta_ar_id
 *
 * Description      This function maps sys_id to ar id mask.
 *
 * Returns          void
 *
 ******************************************************************************/
static uint8_t bta_ar_id(tBTA_SYS_ID sys_id) {
  uint8_t mask = 0;
  if (sys_id == BTA_ID_AV) {
    mask = BTA_AR_AV_MASK;
  } else if (sys_id == BTA_ID_AVK) {
    mask = BTA_AR_AVK_MASK;
  }

  return mask;
}

/*******************************************************************************
 *
 * Function         bta_ar_init
@@ -79,8 +59,6 @@ static void bta_ar_avdt_cback(uint8_t handle, const RawAddress& bd_addr,
  /* route the AVDT registration callback to av or avk */
  if (bta_ar_cb.p_av_conn_cback)
    (*bta_ar_cb.p_av_conn_cback)(handle, bd_addr, event, p_data, scb_index);
  if (bta_ar_cb.p_avk_conn_cback)
    (*bta_ar_cb.p_avk_conn_cback)(handle, bd_addr, event, p_data, scb_index);
}

/*******************************************************************************
@@ -99,9 +77,6 @@ void bta_ar_reg_avdt(AvdtpRcb* p_reg, tAVDT_CTRL_CBACK* p_cback,
  if (sys_id == BTA_ID_AV) {
    bta_ar_cb.p_av_conn_cback = p_cback;
    mask = BTA_AR_AV_MASK;
  } else if (sys_id == BTA_ID_AVK) {
    bta_ar_cb.p_avk_conn_cback = p_cback;
    mask = BTA_AR_AVK_MASK;
  } else {
    APPL_TRACE_ERROR("%s: the registration is from wrong sys_id:%d", __func__,
                     sys_id);
@@ -133,9 +108,6 @@ void bta_ar_dereg_avdt(tBTA_SYS_ID sys_id) {
  if (sys_id == BTA_ID_AV) {
    bta_ar_cb.p_av_conn_cback = NULL;
    mask = BTA_AR_AV_MASK;
  } else if (sys_id == BTA_ID_AVK) {
    bta_ar_cb.p_avk_conn_cback = NULL;
    mask = BTA_AR_AVK_MASK;
  }
  bta_ar_cb.avdt_registered &= ~mask;

@@ -156,18 +128,6 @@ void bta_ar_dereg_avdt(tBTA_SYS_ID sys_id) {
 ******************************************************************************/
void bta_ar_avdt_conn(tBTA_SYS_ID sys_id, const RawAddress& bd_addr,
                      uint8_t scb_index) {
  uint8_t event = BTA_AR_AVDT_CONN_EVT;
  tAVDT_CTRL data;

  if (sys_id == BTA_ID_AV) {
    if (bta_ar_cb.p_avk_conn_cback) {
      (*bta_ar_cb.p_avk_conn_cback)(0, bd_addr, event, &data, scb_index);
    }
  } else if (sys_id == BTA_ID_AVK) {
    if (bta_ar_cb.p_av_conn_cback) {
      (*bta_ar_cb.p_av_conn_cback)(0, bd_addr, event, &data, scb_index);
    }
  }
}

/*******************************************************************************
@@ -179,15 +139,11 @@ void bta_ar_avdt_conn(tBTA_SYS_ID sys_id, const RawAddress& bd_addr,
 * Returns          void
 *
 ******************************************************************************/
void bta_ar_reg_avct(uint16_t mtu, uint16_t mtu_br, tBTA_SYS_ID sys_id) {
  uint8_t mask = bta_ar_id(sys_id);

  if (mask) {
void bta_ar_reg_avct(uint16_t mtu, uint16_t mtu_br) {
  if (bta_ar_cb.avct_registered == 0) {
    AVCT_Register(mtu, mtu_br, BTA_SEC_AUTHENTICATE);
  }
    bta_ar_cb.avct_registered |= mask;
  }
  bta_ar_cb.avct_registered |= BTA_AR_AV_MASK;
}

/*******************************************************************************
@@ -199,10 +155,8 @@ void bta_ar_reg_avct(uint16_t mtu, uint16_t mtu_br, tBTA_SYS_ID sys_id) {
 * Returns          void
 *
 ******************************************************************************/
void bta_ar_dereg_avct(tBTA_SYS_ID sys_id) {
  uint8_t mask = bta_ar_id(sys_id);

  bta_ar_cb.avct_registered &= ~mask;
void bta_ar_dereg_avct() {
  bta_ar_cb.avct_registered &= ~BTA_AR_AV_MASK;

  if (bta_ar_cb.avct_registered == 0) AVCT_Deregister();
}
@@ -218,12 +172,11 @@ void bta_ar_dereg_avct(tBTA_SYS_ID sys_id) {
 *****************************************************************************/
void bta_ar_reg_avrc(uint16_t service_uuid, const char* service_name,
                     const char* provider_name, uint16_t categories,
                     tBTA_SYS_ID sys_id, bool browse_supported,
                     uint16_t profile_version) {
  uint8_t mask = bta_ar_id(sys_id);
                     bool browse_supported, uint16_t profile_version) {
  uint8_t mask = BTA_AR_AV_MASK;
  uint8_t temp[8], *p;

  if (!mask || !categories) return;
  if (!categories) return;

  if (service_uuid == UUID_SERVCLASS_AV_REM_CTRL_TARGET) {
    if (bta_ar_cb.sdp_tg_handle == 0) {
@@ -267,13 +220,11 @@ void bta_ar_reg_avrc(uint16_t service_uuid, const char* service_name,
 * Returns          void
 *
 *****************************************************************************/
void bta_ar_dereg_avrc(uint16_t service_uuid, tBTA_SYS_ID sys_id) {
  uint8_t mask = bta_ar_id(sys_id);
void bta_ar_dereg_avrc(uint16_t service_uuid) {
  uint8_t mask = BTA_AR_AV_MASK;
  uint16_t categories = 0;
  uint8_t temp[8], *p;

  if (!mask) return;

  if (service_uuid == UUID_SERVCLASS_AV_REM_CTRL_TARGET) {
    if (bta_ar_cb.sdp_tg_handle && mask == bta_ar_cb.tg_registered) {
      bta_ar_cb.tg_registered = 0;
+0 −1
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@
/* data associated with BTA_AR */
typedef struct {
  tAVDT_CTRL_CBACK* p_av_conn_cback;  /* av connection callback function */
  tAVDT_CTRL_CBACK* p_avk_conn_cback; /* avk connection callback function */
  uint8_t avdt_registered;
  uint8_t avct_registered;
  uint32_t sdp_tg_handle;
+0 −4
Original line number Diff line number Diff line
@@ -47,9 +47,7 @@
#include "osi/include/properties.h"
#include "stack/include/acl_api.h"
#include "utl.h"
#if (BTA_AR_INCLUDED == TRUE)
#include "bta_ar_api.h"
#endif

/*****************************************************************************
 *  Constants
@@ -1263,9 +1261,7 @@ void bta_av_str_opened(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
        }
      }
    }
#if (BTA_AR_INCLUDED == TRUE)
    bta_ar_avdt_conn(BTA_ID_AV, open.bd_addr, p_scb->hdi);
#endif
    if (p_scb->seps[p_scb->sep_idx].tsep == AVDT_TSEP_SRC) {
      open.starting = false;
      open.sep = AVDT_TSEP_SNK;
+3 −11
Original line number Diff line number Diff line
@@ -43,9 +43,7 @@
#include "stack/include/acl_api.h"
#include "utl.h"

#if (BTA_AR_INCLUDED == TRUE)
#include "bta_ar_api.h"
#endif

/*****************************************************************************
 *  Constants
@@ -1475,11 +1473,9 @@ void bta_av_sig_chg(tBTA_AV_DATA* p_data) {
      }
    }
  }
#if (BTA_AR_INCLUDED == TRUE)
  else if (event == BTA_AR_AVDT_CONN_EVT) {
    alarm_cancel(bta_av_cb.link_signalling_timer);
  }
#endif
  else {
    /* disconnected. */
    APPL_TRACE_DEBUG("%s: bta_av_cb.conn_lcb=0x%x", __func__,
@@ -2272,9 +2268,7 @@ void bta_av_dereg_comp(tBTA_AV_DATA* p_data) {

    /* remove the A2DP SDP record, if no more audio stream is left */
    if (!p_cb->reg_audio) {
#if (BTA_AR_INCLUDED == TRUE)
      bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REMOTE_CONTROL, BTA_ID_AV);
#endif
      bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REMOTE_CONTROL);
      if (p_cb->sdp_a2dp_handle) {
        bta_av_del_sdp_rec(&p_cb->sdp_a2dp_handle);
        p_cb->sdp_a2dp_handle = 0;
@@ -2297,14 +2291,12 @@ void bta_av_dereg_comp(tBTA_AV_DATA* p_data) {
                   p_cb->disabling);
  /* if no stream control block is active */
  if (p_cb->reg_audio == 0) {
#if (BTA_AR_INCLUDED == TRUE)
    /* deregister from AVDT */
    bta_ar_dereg_avdt(BTA_ID_AV);

    /* deregister from AVCT */
    bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REM_CTRL_TARGET, BTA_ID_AV);
    bta_ar_dereg_avct(BTA_ID_AV);
#endif
    bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REM_CTRL_TARGET);
    bta_ar_dereg_avct();

    if (p_cb->disabling) {
      p_cb->disabling = false;
+10 −27
Original line number Diff line number Diff line
@@ -41,9 +41,7 @@
#include "stack/include/acl_api.h"
#include "utl.h"

#if (BTA_AR_INCLUDED == TRUE)
#include "bta_ar_api.h"
#endif

/*****************************************************************************
 * Constants and types
@@ -241,15 +239,13 @@ static void bta_av_api_enable(tBTA_AV_DATA* p_data) {
      bta_sys_remove_uuid(UUID_SERVCLASS_AUDIO_SINK);
    }
#endif
#if (BTA_AR_INCLUDED == TRUE)
    // deregister from AVDT
    bta_ar_dereg_avdt(BTA_ID_AV);

    // deregister from AVCT
    bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REMOTE_CONTROL, BTA_ID_AV);
    bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REM_CTRL_TARGET, BTA_ID_AV);
    bta_ar_dereg_avct(BTA_ID_AV);
#endif
    bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REMOTE_CONTROL);
    bta_ar_dereg_avrc(UUID_SERVCLASS_AV_REM_CTRL_TARGET);
    bta_ar_dereg_avct();
  }

  /* initialize control block */
@@ -437,12 +433,8 @@ void bta_av_conn_cback(UNUSED_ATTR uint8_t handle, const RawAddress& bd_addr,
  uint16_t evt = 0;
  tBTA_AV_SCB* p_scb = NULL;

#if (BTA_AR_INCLUDED == TRUE)
  if (event == BTA_AR_AVDT_CONN_EVT || event == AVDT_CONNECT_IND_EVT ||
      event == AVDT_DISCONNECT_IND_EVT)
#else
  if (event == AVDT_CONNECT_IND_EVT || event == AVDT_DISCONNECT_IND_EVT)
#endif
  {
    evt = BTA_AV_SIG_CHG_EVT;
    if (event == AVDT_DISCONNECT_IND_EVT) {
@@ -568,17 +560,14 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
      reg.idle_tout = BTA_AV_IDLE_TOUT;
      reg.sec_mask = BTA_SEC_AUTHENTICATE;
      reg.scb_index = p_scb->hdi;
#if (BTA_AR_INCLUDED == TRUE)
      bta_ar_reg_avdt(&reg, bta_av_conn_cback, BTA_ID_AV);
#endif
      bta_sys_role_chg_register(&bta_av_sys_rs_cback);

      /* create remote control TG service if required */
      if (bta_av_cb.features & (BTA_AV_FEAT_RCTG)) {
/* register with no authorization; let AVDTP use authorization instead */
#if (BTA_AR_INCLUDED == TRUE)
        bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                        BTA_ID_AV);
        /* register with no authorization; let AVDTP use authorization instead
         */
        bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu);

        /* For the Audio Sink role we support additional TG to support
         * absolute volume.
@@ -600,9 +589,8 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {

        bta_ar_reg_avrc(
            UUID_SERVCLASS_AV_REM_CTRL_TARGET, "AV Remote Control Target", NULL,
            p_bta_av_cfg->avrc_tg_cat, BTA_ID_AV,
            p_bta_av_cfg->avrc_tg_cat,
            (bta_av_cb.features & BTA_AV_FEAT_BROWSE), profile_version);
#endif
      }

      /* Set the Capturing service class bit */
@@ -727,13 +715,9 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
      if (bta_av_cb.features & (BTA_AV_FEAT_RCCT)) {
        /* if TG is not supported, we need to register to AVCT now */
        if ((bta_av_cb.features & (BTA_AV_FEAT_RCTG)) == 0) {
#if (BTA_AR_INCLUDED == TRUE)
          bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                          BTA_ID_AV);
#endif
          bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu);
          bta_av_rc_create(&bta_av_cb, AVCT_ACP, 0, BTA_AV_NUM_LINKS + 1);
        }
#if (BTA_AR_INCLUDED == TRUE)
        /* create an SDP record as AVRC CT. We create 1.3 for SOURCE
         * because we rely on feature bits being scanned by external
         * devices more than the profile version itself.
@@ -742,16 +726,15 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
         */
        if (profile_initialized == UUID_SERVCLASS_AUDIO_SOURCE) {
          bta_ar_reg_avrc(UUID_SERVCLASS_AV_REMOTE_CONTROL, NULL, NULL,
                          p_bta_av_cfg->avrc_ct_cat, BTA_ID_AV,
                          p_bta_av_cfg->avrc_ct_cat,
                          (bta_av_cb.features & BTA_AV_FEAT_BROWSE),
                          AVRC_REV_1_3);
        } else if (profile_initialized == UUID_SERVCLASS_AUDIO_SINK) {
          bta_ar_reg_avrc(UUID_SERVCLASS_AV_REMOTE_CONTROL, NULL, NULL,
                          p_bta_av_cfg->avrc_ct_cat, BTA_ID_AV,
                          p_bta_av_cfg->avrc_ct_cat,
                          (bta_av_cb.features & BTA_AV_FEAT_BROWSE),
                          AVRC_REV_1_6);
        }
#endif
      }
    }
    bta_av_cb.reg_audio |= BTA_AV_HNDL_TO_MSK(p_scb->hdi);
Loading