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

Commit ab379fcf authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Added extra A2DP logging when there is an error"

parents fb28f846 fd862637
Loading
Loading
Loading
Loading
+43 −7
Original line number Diff line number Diff line
@@ -405,6 +405,8 @@ static bool bta_av_next_getcap(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {

  /* if no streams available then stream open fails */
  if (!sent_cmd) {
    APPL_TRACE_ERROR("%s: BTA_AV_STR_GETCAP_FAIL_EVT: peer_addr=%s", __func__,
                     p_scb->peer_addr.ToString().c_str());
    bta_av_ssm_execute(p_scb, BTA_AV_STR_GETCAP_FAIL_EVT, p_data);
  }

@@ -925,6 +927,8 @@ void bta_av_do_disc_a2dp(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
    case BTA_AV_RS_FAIL:
      /* report a new failure event  */
      p_scb->open_status = BTA_AV_FAIL_ROLE;
      APPL_TRACE_ERROR("%s: BTA_AV_SDP_DISC_FAIL_EVT: peer_addr=%s", __func__,
                       p_scb->peer_addr.ToString().c_str());
      bta_av_ssm_execute(p_scb, BTA_AV_SDP_DISC_FAIL_EVT, NULL);
      break;

@@ -1177,7 +1181,8 @@ void bta_av_disconnect_req(tBTA_AV_SCB* p_scb,
                           UNUSED_ATTR tBTA_AV_DATA* p_data) {
  tBTA_AV_RCB* p_rcb;

  APPL_TRACE_DEBUG("%s: conn_lcb: 0x%x", __func__, bta_av_cb.conn_lcb);
  APPL_TRACE_WARNING("%s: conn_lcb: 0x%x peer_addr: %s", __func__,
                     bta_av_cb.conn_lcb, p_scb->peer_addr.ToString().c_str());

  alarm_cancel(bta_av_cb.link_signalling_timer);
  alarm_cancel(p_scb->avrc_ct_timer);
@@ -1531,7 +1536,12 @@ void bta_av_connect_req(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
 *
 ******************************************************************************/
void bta_av_sdp_failed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  if (!p_scb->open_status) p_scb->open_status = BTA_AV_FAIL_SDP;
  APPL_TRACE_ERROR("%s: peer_addr=%s open_status=%d", __func__,
                   p_scb->peer_addr.ToString().c_str(), p_scb->open_status);

  if (p_scb->open_status == BTA_AV_SUCCESS) {
    p_scb->open_status = BTA_AV_FAIL_SDP;
  }

  p_scb->sdp_discovery_started = false;
  bta_av_str_closed(p_scb, p_data);
@@ -1586,6 +1596,8 @@ void bta_av_disc_results(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  }
  /* else we got discover response but with no streams; we're done */
  else {
    APPL_TRACE_ERROR("%s: BTA_AV_STR_DISC_FAIL_EVT: peer_addr=%s", __func__,
                     p_scb->peer_addr.ToString().c_str());
    bta_av_ssm_execute(p_scb, BTA_AV_STR_DISC_FAIL_EVT, p_data);
  }
}
@@ -1630,6 +1642,8 @@ void bta_av_disc_res_as_acp(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  }
  /* else we got discover response but with no streams; we're done */
  else {
    APPL_TRACE_ERROR("%s: BTA_AV_STR_DISC_FAIL_EVT: peer_addr=%s", __func__,
                     p_scb->peer_addr.ToString().c_str());
    bta_av_ssm_execute(p_scb, BTA_AV_STR_DISC_FAIL_EVT, p_data);
  }
}
@@ -1727,7 +1741,8 @@ void bta_av_open_failed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  tBTA_AV_SCB* p_opened_scb = NULL;
  uint8_t idx;

  APPL_TRACE_DEBUG("%s", __func__);
  APPL_TRACE_ERROR("%s: peer_addr=%s", __func__,
                   p_scb->peer_addr.ToString().c_str());
  p_scb->open_status = BTA_AV_FAIL_STREAM;
  bta_av_cco_close(p_scb, p_data);

@@ -1760,6 +1775,12 @@ void bta_av_open_failed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
      open.sep = AVDT_TSEP_SRC;
    }

    APPL_TRACE_ERROR(
        "%s: there is already an active connection: peer_addr=%s chnl=%d "
        "hndl=%d status=%d starting=%d edr=%d",
        __func__, open.bd_addr.ToString().c_str(), open.chnl, open.hndl,
        open.status, open.starting, open.edr);

    tBTA_AV bta_av_data;
    bta_av_data.open = open;
    (*bta_av_cb.p_cback)(BTA_AV_OPEN_EVT, &bta_av_data);
@@ -1902,6 +1923,9 @@ void bta_av_discover_req(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
 *
 ******************************************************************************/
void bta_av_conn_failed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  APPL_TRACE_ERROR("%s: peer_addr=%s open_status=%d", __func__,
                   p_scb->peer_addr.ToString().c_str(), p_scb->open_status);

  p_scb->open_status = BTA_AV_FAIL_STREAM;
  bta_av_str_closed(p_scb, p_data);
}
@@ -2475,6 +2499,11 @@ void bta_av_str_closed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  tBTA_AV_EVT event;
  uint8_t policy = HCI_ENABLE_SNIFF_MODE;

  APPL_TRACE_WARNING(
      "%s: peer_addr=%s open_status=%d chnl=%d hndl=%d co_started=%d", __func__,
      p_scb->peer_addr.ToString().c_str(), p_scb->open_status, p_scb->chnl,
      p_scb->hndl, p_scb->co_started);

  if ((bta_av_cb.features & BTA_AV_FEAT_MASTER) == 0 ||
      bta_av_cb.audio_open_cnt == 1)
    policy |= HCI_ENABLE_MASTER_SLAVE_SWITCH;
@@ -2484,7 +2513,7 @@ void bta_av_str_closed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
    L2CA_SetDesireRole(L2CAP_ROLE_ALLOW_SWITCH);
  }

  if (p_scb->open_status) {
  if (p_scb->open_status != BTA_AV_SUCCESS) {
    /* must be failure when opening the stream */
    data.open.bd_addr = p_scb->peer_addr;
    data.open.status = p_scb->open_status;
@@ -2677,8 +2706,10 @@ void bta_av_rcfg_str_ok(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
 *
 ******************************************************************************/
void bta_av_rcfg_failed(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  APPL_TRACE_DEBUG("%s: num_recfg: %d, conn_lcb:0x%x", __func__,
                   p_scb->num_recfg, bta_av_cb.conn_lcb);
  APPL_TRACE_ERROR("%s: num_recfg=%d conn_lcb=0x%x peer_addr=%s", __func__,
                   p_scb->num_recfg, bta_av_cb.conn_lcb,
                   p_scb->peer_addr.ToString().c_str());

  if (p_scb->num_recfg > BTA_AV_RECONFIG_RETRY) {
    bta_av_cco_close(p_scb, p_data);
    /* report failure */
@@ -2733,7 +2764,10 @@ void bta_av_rcfg_connect(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
 *
 ******************************************************************************/
void bta_av_rcfg_discntd(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
  APPL_TRACE_DEBUG("%s: num_recfg: %d", __func__, p_scb->num_recfg);
  APPL_TRACE_ERROR("%s: num_recfg=%d conn_lcb=0x%x peer_addr=%s", __func__,
                   p_scb->num_recfg, bta_av_cb.conn_lcb,
                   p_scb->peer_addr.ToString().c_str());

  p_scb->num_recfg++;
  if (p_scb->num_recfg > BTA_AV_RECONFIG_RETRY) {
    /* report failure */
@@ -2774,6 +2808,8 @@ void bta_av_suspend_cont(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
      tBTA_AV bta_av_data;
      bta_av_data.reconfig = reconfig;
      (*bta_av_cb.p_cback)(BTA_AV_RECONFIG_EVT, &bta_av_data);
      APPL_TRACE_ERROR("%s: BTA_AV_STR_DISC_FAIL_EVT: peer_addr=%s", __func__,
                       p_scb->peer_addr.ToString().c_str());
      bta_av_ssm_execute(p_scb, BTA_AV_STR_DISC_FAIL_EVT, NULL);
    } else {
      APPL_TRACE_ERROR("%s: suspend rejected, try close", __func__);
+3 −1
Original line number Diff line number Diff line
@@ -1473,7 +1473,9 @@ void bta_av_sig_chg(tBTA_AV_DATA* p_data) {
        if (((mask & p_lcb->conn_msk) || bta_av_cb.conn_lcb) &&
            p_cb->p_scb[xx] &&
            p_cb->p_scb[xx]->peer_addr == p_data->str_msg.bd_addr) {
          APPL_TRACE_DEBUG("%s: Sending AVDT_DISCONNECT_EVT", __func__);
          APPL_TRACE_WARNING("%s: Sending AVDT_DISCONNECT_EVT peer_addr=%s",
                             __func__,
                             p_cb->p_scb[xx]->peer_addr.ToString().c_str());
          bta_av_ssm_execute(p_cb->p_scb[xx], BTA_AV_AVDT_DISCONNECT_EVT, NULL);
        }
      }
+10 −4
Original line number Diff line number Diff line
@@ -33,7 +33,8 @@
#include "osi/include/log.h"

void btif_a2dp_on_idle(void) {
  APPL_TRACE_EVENT("## ON A2DP IDLE ## peer_sep = %d", btif_av_get_peer_sep());
  APPL_TRACE_WARNING("## ON A2DP IDLE ## peer_sep = %d",
                     btif_av_get_peer_sep());
  if (btif_av_get_peer_sep() == AVDT_TSEP_SNK) {
    btif_a2dp_source_on_idle();
  } else if (btif_av_get_peer_sep() == AVDT_TSEP_SRC) {
@@ -44,7 +45,7 @@ void btif_a2dp_on_idle(void) {
bool btif_a2dp_on_started(tBTA_AV_START* p_av_start, bool pending_start) {
  bool ack = false;

  APPL_TRACE_EVENT("## ON A2DP STARTED ##");
  APPL_TRACE_WARNING("## ON A2DP STARTED ##");

  if (p_av_start == NULL) {
    /* ack back a local start request */
@@ -52,6 +53,11 @@ bool btif_a2dp_on_started(tBTA_AV_START* p_av_start, bool pending_start) {
    return true;
  }

  APPL_TRACE_WARNING(
      "%s: pending_start = %d status = %d suspending = %d initiator = %d",
      __func__, pending_start, p_av_start->status, p_av_start->suspending,
      p_av_start->initiator);

  if (p_av_start->status == BTA_AV_SUCCESS) {
    if (!p_av_start->suspending) {
      if (p_av_start->initiator) {
@@ -78,7 +84,7 @@ bool btif_a2dp_on_started(tBTA_AV_START* p_av_start, bool pending_start) {
}

void btif_a2dp_on_stopped(tBTA_AV_SUSPEND* p_av_suspend) {
  APPL_TRACE_EVENT("## ON A2DP STOPPED ##");
  APPL_TRACE_WARNING("## ON A2DP STOPPED ##");

  if (btif_av_get_peer_sep() == AVDT_TSEP_SRC) {
    btif_a2dp_sink_on_stopped(p_av_suspend);
@@ -89,7 +95,7 @@ void btif_a2dp_on_stopped(tBTA_AV_SUSPEND* p_av_suspend) {
}

void btif_a2dp_on_suspended(tBTA_AV_SUSPEND* p_av_suspend) {
  APPL_TRACE_EVENT("## ON A2DP SUSPENDED ##");
  APPL_TRACE_WARNING("## ON A2DP SUSPENDED ##");
  if (btif_av_get_peer_sep() == AVDT_TSEP_SRC) {
    btif_a2dp_sink_on_suspended(p_av_suspend);
  } else {