component/bt: bug fix for HCI packet reassmebler
1. bug fix for HCI packet reassmebler; audio stream can be received; 2. fix some log message typos
This commit is contained in:
@@ -91,7 +91,7 @@ static UINT8 avdt_ad_tcid_to_type(UINT8 tcid)
|
||||
*/
|
||||
type = ((tcid + AVDT_CHAN_NUM_TYPES - 2) % (AVDT_CHAN_NUM_TYPES - 1)) + 1;
|
||||
}
|
||||
AVDT_TRACE_DEBUG("tcid: %d, type: %d", tcid, type);
|
||||
AVDT_TRACE_DEBUG("tcid: %d, type: %d\n", tcid, type);
|
||||
return type;
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ tAVDT_TC_TBL *avdt_ad_tc_tbl_alloc(tAVDT_CCB *p_ccb)
|
||||
*******************************************************************************/
|
||||
UINT8 avdt_ad_tc_tbl_to_idx(tAVDT_TC_TBL *p_tbl)
|
||||
{
|
||||
AVDT_TRACE_DEBUG("avdt_ad_tc_tbl_to_idx: %d", (p_tbl - avdt_cb.ad.tc_tbl));
|
||||
AVDT_TRACE_DEBUG("avdt_ad_tc_tbl_to_idx: %d\n", (p_tbl - avdt_cb.ad.tc_tbl));
|
||||
/* use array arithmetic to determine index */
|
||||
return (UINT8) (p_tbl - avdt_cb.ad.tc_tbl);
|
||||
}
|
||||
@@ -334,7 +334,7 @@ void avdt_ad_tc_close_ind(tAVDT_TC_TBL *p_tbl, UINT16 reason)
|
||||
p_tbl->cfg_flags = 0;
|
||||
p_tbl->peer_mtu = L2CAP_DEFAULT_MTU;
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_ad_tc_close_ind tcid: %d, old: %d",
|
||||
AVDT_TRACE_DEBUG("avdt_ad_tc_close_ind tcid: %d, old: %d\n",
|
||||
p_tbl->tcid, close.old_tc_state);
|
||||
/* if signaling channel, notify ccb that channel open */
|
||||
if (p_tbl->tcid == 0)
|
||||
@@ -548,7 +548,7 @@ void avdt_ad_open_req(UINT8 type, tAVDT_CCB *p_ccb, tAVDT_SCB *p_scb, UINT8 role
|
||||
|
||||
|
||||
p_tbl->tcid = avdt_ad_type_to_tcid(type, p_scb);
|
||||
AVDT_TRACE_DEBUG("avdt_ad_open_req: type: %d, role: %d, tcid:%d",
|
||||
AVDT_TRACE_DEBUG("avdt_ad_open_req: type: %d, role: %d, tcid:%d\n",
|
||||
type, role, p_tbl->tcid);
|
||||
|
||||
if (type == AVDT_CHAN_SIG)
|
||||
@@ -565,7 +565,7 @@ void avdt_ad_open_req(UINT8 type, tAVDT_CCB *p_ccb, tAVDT_SCB *p_scb, UINT8 role
|
||||
|
||||
/* also set scb_hdl in rt_tbl */
|
||||
avdt_cb.ad.rt_tbl[avdt_ccb_to_idx(p_ccb)][p_tbl->tcid].scb_hdl = avdt_scb_to_hdl(p_scb);
|
||||
AVDT_TRACE_DEBUG("avdt_cb.ad.rt_tbl[%d][%d].scb_hdl = %d",
|
||||
AVDT_TRACE_DEBUG("avdt_cb.ad.rt_tbl[%d][%d].scb_hdl = %d\n",
|
||||
avdt_ccb_to_idx(p_ccb), p_tbl->tcid,
|
||||
avdt_scb_to_hdl(p_scb));
|
||||
}
|
||||
@@ -585,11 +585,11 @@ void avdt_ad_open_req(UINT8 type, tAVDT_CCB *p_ccb, tAVDT_SCB *p_scb, UINT8 role
|
||||
{
|
||||
/* if connect req ok, store tcid in lcid table */
|
||||
avdt_cb.ad.lcid_tbl[lcid - L2CAP_BASE_APPL_CID] = avdt_ad_tc_tbl_to_idx(p_tbl);
|
||||
AVDT_TRACE_DEBUG("avdt_cb.ad.lcid_tbl[%d] = %d",
|
||||
AVDT_TRACE_DEBUG("avdt_cb.ad.lcid_tbl[%d] = %d\n",
|
||||
(lcid - L2CAP_BASE_APPL_CID), avdt_ad_tc_tbl_to_idx(p_tbl));
|
||||
|
||||
avdt_cb.ad.rt_tbl[avdt_ccb_to_idx(p_ccb)][p_tbl->tcid].lcid = lcid;
|
||||
AVDT_TRACE_DEBUG("avdt_cb.ad.rt_tbl[%d][%d].lcid = 0x%x",
|
||||
AVDT_TRACE_DEBUG("avdt_cb.ad.rt_tbl[%d][%d].lcid = 0x%x\n",
|
||||
avdt_ccb_to_idx(p_ccb), p_tbl->tcid,
|
||||
lcid);
|
||||
}
|
||||
@@ -619,7 +619,7 @@ void avdt_ad_close_req(UINT8 type, tAVDT_CCB *p_ccb, tAVDT_SCB *p_scb)
|
||||
tAVDT_TC_TBL *p_tbl;
|
||||
|
||||
p_tbl = avdt_ad_tc_tbl_by_type(type, p_ccb, p_scb);
|
||||
AVDT_TRACE_DEBUG("avdt_ad_close_req state: %d", p_tbl->state);
|
||||
AVDT_TRACE_DEBUG("avdt_ad_close_req state: %d\n", p_tbl->state);
|
||||
|
||||
switch(p_tbl->state)
|
||||
{
|
||||
|
||||
@@ -224,14 +224,14 @@ void AVDT_SINK_Deactivate()
|
||||
|
||||
void AVDT_AbortReq(UINT8 handle)
|
||||
{
|
||||
AVDT_TRACE_ERROR("%s", __func__);
|
||||
AVDT_TRACE_ERROR("%s\n", __func__);
|
||||
|
||||
tAVDT_SCB *p_scb = avdt_scb_by_hdl(handle);
|
||||
if (p_scb != NULL)
|
||||
{
|
||||
avdt_scb_event(p_scb, AVDT_SCB_API_ABORT_REQ_EVT, NULL);
|
||||
} else {
|
||||
AVDT_TRACE_ERROR("%s Improper SCB, can not abort the stream", __func__);
|
||||
AVDT_TRACE_ERROR("%s Improper SCB, can not abort the stream\n", __func__);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ static UINT16 avdt_get_cap_req(BD_ADDR bd_addr, tAVDT_CCB_API_GETCAP *p_evt)
|
||||
/* verify SEID */
|
||||
if ((p_evt->single.seid < AVDT_SEID_MIN) || (p_evt->single.seid > AVDT_SEID_MAX))
|
||||
{
|
||||
AVDT_TRACE_ERROR("seid: %d", p_evt->single.seid);
|
||||
AVDT_TRACE_ERROR("seid: %d\n", p_evt->single.seid);
|
||||
result = AVDT_BAD_PARAMS;
|
||||
}
|
||||
/* find channel control block for this bd addr; if none, allocate one */
|
||||
@@ -1194,7 +1194,7 @@ extern UINT16 AVDT_WriteDataReq(UINT8 handle, UINT8 *p_data, UINT32 data_len,
|
||||
result = AVDT_BAD_HANDLE;
|
||||
break;
|
||||
}
|
||||
AVDT_TRACE_WARNING("mux_tsid_media:%d", p_scb->curr_cfg.mux_tsid_media);
|
||||
AVDT_TRACE_WARNING("mux_tsid_media:%d\n", p_scb->curr_cfg.mux_tsid_media);
|
||||
|
||||
if (p_scb->p_pkt != NULL
|
||||
|| p_scb->p_ccb == NULL
|
||||
@@ -1203,7 +1203,7 @@ extern UINT16 AVDT_WriteDataReq(UINT8 handle, UINT8 *p_data, UINT32 data_len,
|
||||
|| p_scb->curr_cfg.mux_tsid_media == 0)
|
||||
{
|
||||
result = AVDT_ERR_BAD_STATE;
|
||||
AVDT_TRACE_WARNING("p_scb->p_pkt=%x, p_scb->p_ccb=%x, IsQueueEmpty=%x, p_scb->frag_off=%x",
|
||||
AVDT_TRACE_WARNING("p_scb->p_pkt=%x, p_scb->p_ccb=%x, IsQueueEmpty=%x, p_scb->frag_off=%x\n",
|
||||
p_scb->p_pkt, p_scb->p_ccb, GKI_queue_is_empty(&p_scb->frag_q), p_scb->frag_off);
|
||||
break;
|
||||
}
|
||||
@@ -1232,7 +1232,7 @@ extern UINT16 AVDT_WriteDataReq(UINT8 handle, UINT8 *p_data, UINT32 data_len,
|
||||
#if (BT_USE_TRACES == TRUE)
|
||||
if(result != AVDT_SUCCESS)
|
||||
{
|
||||
AVDT_TRACE_WARNING("*** AVDT_WriteDataReq failed result=%d",result);
|
||||
AVDT_TRACE_WARNING("*** AVDT_WriteDataReq failed result=%d\n",result);
|
||||
}
|
||||
#endif
|
||||
return result;
|
||||
@@ -1355,9 +1355,9 @@ UINT16 AVDT_SendReport(UINT8 handle, AVDT_REPORT_TYPE type,
|
||||
|
||||
case AVDT_RTCP_PT_RR: /* Receiver Report */
|
||||
*p++ = p_data->rr.frag_lost;
|
||||
AVDT_TRACE_API("packet_lost: %d", p_data->rr.packet_lost);
|
||||
AVDT_TRACE_API("packet_lost: %d\n", p_data->rr.packet_lost);
|
||||
p_data->rr.packet_lost &= 0xFFFFFF;
|
||||
AVDT_TRACE_API("packet_lost: %d", p_data->rr.packet_lost);
|
||||
AVDT_TRACE_API("packet_lost: %d\n", p_data->rr.packet_lost);
|
||||
UINT24_TO_BE_STREAM(p, p_data->rr.packet_lost);
|
||||
UINT32_TO_BE_STREAM(p, p_data->rr.seq_num_rcvd);
|
||||
UINT32_TO_BE_STREAM(p, p_data->rr.jitter);
|
||||
|
||||
@@ -302,7 +302,7 @@ void avdt_ccb_event(tAVDT_CCB *p_ccb, UINT8 event, tAVDT_CCB_EVT *p_data)
|
||||
int i;
|
||||
|
||||
#if AVDT_DEBUG == TRUE
|
||||
AVDT_TRACE_EVENT("CCB ccb=%d event=%s state=%s", avdt_ccb_to_idx(p_ccb), avdt_ccb_evt_str[event], avdt_ccb_st_str[p_ccb->state]);
|
||||
AVDT_TRACE_EVENT("CCB ccb=%d event=%s state=%s\n", avdt_ccb_to_idx(p_ccb), avdt_ccb_evt_str[event], avdt_ccb_st_str[p_ccb->state]);
|
||||
#endif
|
||||
|
||||
/* look up the state table for the current state */
|
||||
@@ -357,7 +357,7 @@ tAVDT_CCB *avdt_ccb_by_bd(BD_ADDR bd_addr)
|
||||
/* if no ccb found */
|
||||
p_ccb = NULL;
|
||||
|
||||
AVDT_TRACE_DEBUG("No ccb for addr %02x-%02x-%02x-%02x-%02x-%02x",
|
||||
AVDT_TRACE_DEBUG("No ccb for addr %02x-%02x-%02x-%02x-%02x-%02x\n",
|
||||
bd_addr[0], bd_addr[1], bd_addr[2], bd_addr[3], bd_addr[4], bd_addr[5]);
|
||||
}
|
||||
return p_ccb;
|
||||
@@ -387,7 +387,7 @@ tAVDT_CCB *avdt_ccb_alloc(BD_ADDR bd_addr)
|
||||
GKI_init_q(&p_ccb->cmd_q);
|
||||
GKI_init_q(&p_ccb->rsp_q);
|
||||
p_ccb->timer_entry.param = (UINT32) p_ccb;
|
||||
AVDT_TRACE_DEBUG("avdt_ccb_alloc %d", i);
|
||||
AVDT_TRACE_DEBUG("avdt_ccb_alloc %d\n", i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -415,7 +415,7 @@ void avdt_ccb_dealloc(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
|
||||
{
|
||||
UNUSED(p_data);
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_ccb_dealloc %d", avdt_ccb_to_idx(p_ccb));
|
||||
AVDT_TRACE_DEBUG("avdt_ccb_dealloc %d\n", avdt_ccb_to_idx(p_ccb));
|
||||
btu_stop_timer(&p_ccb->timer_entry);
|
||||
memset(p_ccb, 0, sizeof(tAVDT_CCB));
|
||||
}
|
||||
@@ -458,7 +458,7 @@ tAVDT_CCB *avdt_ccb_by_idx(UINT8 idx)
|
||||
else
|
||||
{
|
||||
p_ccb = NULL;
|
||||
AVDT_TRACE_WARNING("No ccb for idx %d", idx);
|
||||
AVDT_TRACE_WARNING("No ccb for idx %d\n", idx);
|
||||
}
|
||||
return p_ccb;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ static void avdt_sec_check_complete_term (BD_ADDR bd_addr, tBT_TRANSPORT transpo
|
||||
tAVDT_TC_TBL *p_tbl;
|
||||
UNUSED(p_ref_data);
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_sec_check_complete_term res: %d", res);
|
||||
AVDT_TRACE_DEBUG("avdt_sec_check_complete_term res: %d\n", res);
|
||||
if (!bd_addr)
|
||||
{
|
||||
AVDT_TRACE_WARNING("avdt_sec_check_complete_term: NULL BD_ADDR");
|
||||
@@ -136,7 +136,7 @@ static void avdt_sec_check_complete_orig (BD_ADDR bd_addr, tBT_TRANSPORT trasnpo
|
||||
tAVDT_TC_TBL *p_tbl;
|
||||
UNUSED(p_ref_data);
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_sec_check_complete_orig res: %d", res);
|
||||
AVDT_TRACE_DEBUG("avdt_sec_check_complete_orig res: %d\n", res);
|
||||
if (bd_addr)
|
||||
p_ccb = avdt_ccb_by_bd(bd_addr);
|
||||
p_tbl = avdt_ad_tc_tbl_by_st(AVDT_CHAN_SIG, p_ccb, AVDT_AD_ST_SEC_INT);
|
||||
@@ -283,7 +283,7 @@ void avdt_l2c_connect_cfm_cback(UINT16 lcid, UINT16 result)
|
||||
tL2CAP_CFG_INFO cfg;
|
||||
tAVDT_CCB *p_ccb;
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_l2c_connect_cfm_cback lcid: %d, result: %d",
|
||||
AVDT_TRACE_DEBUG("avdt_l2c_connect_cfm_cback lcid: %d, result: %d\n",
|
||||
lcid, result);
|
||||
/* look up info for this channel */
|
||||
if ((p_tbl = avdt_ad_tc_tbl_by_lcid(lcid)) != NULL)
|
||||
@@ -409,7 +409,7 @@ void avdt_l2c_config_ind_cback(UINT16 lcid, tL2CAP_CFG_INFO *p_cfg)
|
||||
{
|
||||
p_tbl->peer_mtu = L2CAP_DEFAULT_MTU;
|
||||
}
|
||||
AVDT_TRACE_DEBUG("peer_mtu: %d, lcid: x%x",p_tbl->peer_mtu, lcid);
|
||||
AVDT_TRACE_DEBUG("peer_mtu: %d, lcid: x%x\n",p_tbl->peer_mtu, lcid);
|
||||
|
||||
/* send L2CAP configure response */
|
||||
memset(p_cfg, 0, sizeof(tL2CAP_CFG_INFO));
|
||||
@@ -445,7 +445,7 @@ void avdt_l2c_disconnect_ind_cback(UINT16 lcid, BOOLEAN ack_needed)
|
||||
{
|
||||
tAVDT_TC_TBL *p_tbl;
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_l2c_disconnect_ind_cback lcid: %d, ack_needed: %d",
|
||||
AVDT_TRACE_DEBUG("avdt_l2c_disconnect_ind_cback lcid: %d, ack_needed: %d\n",
|
||||
lcid, ack_needed);
|
||||
/* look up info for this channel */
|
||||
if ((p_tbl = avdt_ad_tc_tbl_by_lcid(lcid)) != NULL)
|
||||
@@ -474,7 +474,7 @@ void avdt_l2c_disconnect_cfm_cback(UINT16 lcid, UINT16 result)
|
||||
{
|
||||
tAVDT_TC_TBL *p_tbl;
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_l2c_disconnect_cfm_cback lcid: %d, result: %d",
|
||||
AVDT_TRACE_DEBUG("avdt_l2c_disconnect_cfm_cback lcid: %d, result: %d\n",
|
||||
lcid, result);
|
||||
/* look up info for this channel */
|
||||
if ((p_tbl = avdt_ad_tc_tbl_by_lcid(lcid)) != NULL)
|
||||
|
||||
@@ -633,7 +633,7 @@ static UINT8 avdt_msg_prs_cfg(tAVDT_CFG *p_cfg, UINT8 *p, UINT16 len, UINT8* p_e
|
||||
{
|
||||
/* Skip unknown categories. */
|
||||
p += elem_len;
|
||||
AVDT_TRACE_DEBUG("skipping unknown service category=%d len: %d", elem, elem_len);
|
||||
AVDT_TRACE_DEBUG("skipping unknown service category=%d len: %d\n", elem, elem_len);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -647,7 +647,7 @@ static UINT8 avdt_msg_prs_cfg(tAVDT_CFG *p_cfg, UINT8 *p, UINT16 len, UINT8* p_e
|
||||
|
||||
/* add element to psc mask, but mask out codec or protect */
|
||||
p_cfg->psc_mask |= (1 << elem);
|
||||
AVDT_TRACE_DEBUG("elem=%d elem_len: %d psc_mask=0x%x", elem, elem_len, p_cfg->psc_mask);
|
||||
AVDT_TRACE_DEBUG("elem=%d elem_len: %d psc_mask=0x%x\n", elem, elem_len, p_cfg->psc_mask);
|
||||
|
||||
/* parse individual information elements with additional parameters */
|
||||
switch (elem)
|
||||
@@ -689,7 +689,7 @@ static UINT8 avdt_msg_prs_cfg(tAVDT_CFG *p_cfg, UINT8 *p, UINT16 len, UINT8* p_e
|
||||
#if AVDT_MULTIPLEXING == TRUE
|
||||
case AVDT_CAT_MUX:
|
||||
/* verify length */
|
||||
AVDT_TRACE_WARNING("psc_mask=0x%x elem_len=%d", p_cfg->psc_mask, elem_len);
|
||||
AVDT_TRACE_WARNING("psc_mask=0x%x elem_len=%d\n", p_cfg->psc_mask, elem_len);
|
||||
if( ((0 == (p_cfg->psc_mask & (AVDT_PSC_RECOV|AVDT_PSC_REPORT))) && (elem_len != 3))
|
||||
|| (((p_cfg->psc_mask & AVDT_PSC_REPORT) && !(p_cfg->psc_mask & AVDT_PSC_RECOV))
|
||||
&& (elem_len != 5))
|
||||
@@ -760,7 +760,7 @@ static UINT8 avdt_msg_prs_cfg(tAVDT_CFG *p_cfg, UINT8 *p, UINT16 len, UINT8* p_e
|
||||
} /* switch */
|
||||
} /* while ! err, !end*/
|
||||
*p_elem = elem;
|
||||
AVDT_TRACE_DEBUG("err=0x%x, elem:0x%x psc_mask=0x%x", err, elem, p_cfg->psc_mask);
|
||||
AVDT_TRACE_DEBUG("err=0x%x, elem:0x%x psc_mask=0x%x\n", err, elem, p_cfg->psc_mask);
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -914,7 +914,7 @@ static UINT8 avdt_msg_prs_reconfig_cmd(tAVDT_MSG *p_msg, UINT8 *p, UINT16 len)
|
||||
/* verify no protocol service capabilities in parameters */
|
||||
if (!err)
|
||||
{
|
||||
AVDT_TRACE_DEBUG("avdt_msg_prs_reconfig_cmd psc_mask=0x%x/0x%x", p_msg->config_cmd.p_cfg->psc_mask, AVDT_MSG_PSC_MASK);
|
||||
AVDT_TRACE_DEBUG("avdt_msg_prs_reconfig_cmd psc_mask=0x%x/0x%x\n", p_msg->config_cmd.p_cfg->psc_mask, AVDT_MSG_PSC_MASK);
|
||||
if ((p_msg->config_cmd.p_cfg->psc_mask != 0) ||
|
||||
(p_msg->config_cmd.p_cfg->num_codec == 0 && p_msg->config_cmd.p_cfg->num_protect == 0))
|
||||
{
|
||||
@@ -1161,7 +1161,7 @@ static UINT8 avdt_msg_prs_delay_rpt (tAVDT_MSG *p_msg, UINT8 *p, UINT16 len)
|
||||
/* verify len */
|
||||
if (len != AVDT_LEN_DELAY_RPT)
|
||||
{
|
||||
AVDT_TRACE_WARNING("avdt_msg_prs_delay_rpt expected len: %u got: %u", AVDT_LEN_DELAY_RPT, len);
|
||||
AVDT_TRACE_WARNING("avdt_msg_prs_delay_rpt expected len: %u got: %u\n", AVDT_LEN_DELAY_RPT, len);
|
||||
err = AVDT_ERR_LENGTH;
|
||||
}
|
||||
else
|
||||
@@ -1176,7 +1176,7 @@ static UINT8 avdt_msg_prs_delay_rpt (tAVDT_MSG *p_msg, UINT8 *p, UINT16 len)
|
||||
else
|
||||
{
|
||||
BE_STREAM_TO_UINT16 (p_msg->delay_rpt_cmd.delay, p);
|
||||
AVDT_TRACE_DEBUG("avdt_msg_prs_delay_rpt delay: %u", p_msg->delay_rpt_cmd.delay);
|
||||
AVDT_TRACE_DEBUG("avdt_msg_prs_delay_rpt delay: %u\n", p_msg->delay_rpt_cmd.delay);
|
||||
}
|
||||
}
|
||||
return err;
|
||||
@@ -1289,7 +1289,7 @@ BOOLEAN avdt_msg_send(tAVDT_CCB *p_ccb, BT_HDR *p_msg)
|
||||
label = AVDT_LAYERSPEC_LABEL(p_ccb->p_curr_msg->layer_specific);
|
||||
msg = AVDT_LAYERSPEC_MSG(p_ccb->p_curr_msg->layer_specific);
|
||||
sig = (UINT8) p_ccb->p_curr_msg->event;
|
||||
AVDT_TRACE_DEBUG("avdt_msg_send label:%d, msg:%d, sig:%d", label, msg, sig);
|
||||
AVDT_TRACE_DEBUG("avdt_msg_send label:%d, msg:%d, sig:%d\n", label, msg, sig);
|
||||
|
||||
/* keep track of how much of msg we've sent */
|
||||
curr_msg_len -= p_buf->len;
|
||||
@@ -1412,7 +1412,7 @@ BT_HDR *avdt_msg_asmbl(tAVDT_CCB *p_ccb, BT_HDR *p_buf)
|
||||
if (p_ccb->p_rx_msg == NULL)
|
||||
{
|
||||
GKI_freebuf(p_buf);
|
||||
AVDT_TRACE_WARNING("Pkt type=%d out of order", pkt_type);
|
||||
AVDT_TRACE_WARNING("Pkt type=%d out of order\n", pkt_type);
|
||||
p_ret = NULL;
|
||||
}
|
||||
else
|
||||
@@ -1719,7 +1719,7 @@ void avdt_msg_ind(tAVDT_CCB *p_ccb, BT_HDR *p_buf)
|
||||
|
||||
UNUSED(pkt_type);
|
||||
|
||||
AVDT_TRACE_DEBUG("msg_type=%d, sig=%d", msg_type, sig);
|
||||
AVDT_TRACE_DEBUG("msg_type=%d, sig=%d\n", msg_type, sig);
|
||||
/* set up label and ccb_idx in message hdr */
|
||||
msg.hdr.label = label;
|
||||
msg.hdr.ccb_idx = avdt_ccb_to_idx(p_ccb);
|
||||
@@ -1727,7 +1727,7 @@ void avdt_msg_ind(tAVDT_CCB *p_ccb, BT_HDR *p_buf)
|
||||
/* verify msg type */
|
||||
if (msg_type == AVDT_MSG_TYPE_GRJ)
|
||||
{
|
||||
AVDT_TRACE_WARNING("Dropping msg msg_type=%d", msg_type);
|
||||
AVDT_TRACE_WARNING("Dropping msg msg_type=%d\n", msg_type);
|
||||
ok = FALSE;
|
||||
}
|
||||
/* check for general reject */
|
||||
@@ -1749,7 +1749,7 @@ void avdt_msg_ind(tAVDT_CCB *p_ccb, BT_HDR *p_buf)
|
||||
msg.hdr.sig_id = sig;
|
||||
if ((sig == 0) || (sig > AVDT_SIG_MAX))
|
||||
{
|
||||
AVDT_TRACE_WARNING("Dropping msg sig=%d msg_type:%d", sig, msg_type);
|
||||
AVDT_TRACE_WARNING("Dropping msg sig=%d msg_type:%d\n", sig, msg_type);
|
||||
ok = FALSE;
|
||||
|
||||
/* send a general reject */
|
||||
@@ -1814,7 +1814,7 @@ void avdt_msg_ind(tAVDT_CCB *p_ccb, BT_HDR *p_buf)
|
||||
/* if parsing failed */
|
||||
if (err != 0)
|
||||
{
|
||||
AVDT_TRACE_WARNING("Parsing failed sig=%d err=0x%x", sig, err);
|
||||
AVDT_TRACE_WARNING("Parsing failed sig=%d err=0x%x\n", sig, err);
|
||||
|
||||
/* if its a rsp or rej, drop it; if its a cmd, send a rej;
|
||||
** note special case for abort; never send abort reject
|
||||
@@ -1851,7 +1851,7 @@ void avdt_msg_ind(tAVDT_CCB *p_ccb, BT_HDR *p_buf)
|
||||
else
|
||||
{
|
||||
ok = FALSE;
|
||||
AVDT_TRACE_WARNING("Cmd not found for rsp sig=%d label=%d", sig, label);
|
||||
AVDT_TRACE_WARNING("Cmd not found for rsp sig=%d label=%d\n", sig, label);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -529,7 +529,7 @@ void avdt_scb_event(tAVDT_SCB *p_scb, UINT8 event, tAVDT_SCB_EVT *p_data)
|
||||
int i;
|
||||
|
||||
#if AVDT_DEBUG == TRUE
|
||||
AVDT_TRACE_EVENT("SCB hdl=%d event=%d/%s state=%s", avdt_scb_to_hdl(p_scb), event, avdt_scb_evt_str[event], avdt_scb_st_str[p_scb->state]);
|
||||
AVDT_TRACE_EVENT("SCB hdl=%d event=%d/%s state=%s\n", avdt_scb_to_hdl(p_scb), event, avdt_scb_evt_str[event], avdt_scb_st_str[p_scb->state]);
|
||||
#endif
|
||||
/* set current event */
|
||||
p_scb->curr_evt = event;
|
||||
@@ -621,7 +621,7 @@ tAVDT_SCB *avdt_scb_alloc(tAVDT_CS *p_cs)
|
||||
}
|
||||
#endif
|
||||
p_scb->timer_entry.param = (UINT32) p_scb;
|
||||
AVDT_TRACE_DEBUG("avdt_scb_alloc hdl=%d, psc_mask:0x%x", i+1, p_cs->cfg.psc_mask);
|
||||
AVDT_TRACE_DEBUG("avdt_scb_alloc hdl=%d, psc_mask:0x%x\n", i+1, p_cs->cfg.psc_mask);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -653,7 +653,7 @@ void avdt_scb_dealloc(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
#endif
|
||||
UNUSED(p_data);
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_scb_dealloc hdl=%d", avdt_scb_to_hdl(p_scb));
|
||||
AVDT_TRACE_DEBUG("avdt_scb_dealloc hdl=%d\n", avdt_scb_to_hdl(p_scb));
|
||||
btu_stop_timer(&p_scb->timer_entry);
|
||||
|
||||
#if AVDT_MULTIPLEXING == TRUE
|
||||
@@ -704,13 +704,13 @@ tAVDT_SCB *avdt_scb_by_hdl(UINT8 hdl)
|
||||
if (!p_scb->allocated)
|
||||
{
|
||||
p_scb = NULL;
|
||||
AVDT_TRACE_WARNING("scb hdl %d not allocated", hdl);
|
||||
AVDT_TRACE_WARNING("scb hdl %d not allocated\n", hdl);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
p_scb = NULL;
|
||||
AVDT_TRACE_WARNING("scb hdl %d out of range", hdl);
|
||||
AVDT_TRACE_WARNING("scb hdl %d out of range\n", hdl);
|
||||
}
|
||||
return p_scb;
|
||||
}
|
||||
@@ -732,7 +732,7 @@ UINT8 avdt_scb_verify(tAVDT_CCB *p_ccb, UINT8 state, UINT8 *p_seid, UINT16 num_s
|
||||
UINT8 nsc_mask;
|
||||
UINT8 ret = 0;
|
||||
|
||||
AVDT_TRACE_DEBUG("avdt_scb_verify state %d", state);
|
||||
AVDT_TRACE_DEBUG("avdt_scb_verify state %d\n", state);
|
||||
/* set nonsupported command mask */
|
||||
/* translate public state into private state */
|
||||
nsc_mask = 0;
|
||||
|
||||
@@ -380,14 +380,14 @@ UINT8 * avdt_scb_hdl_report(tAVDT_SCB *p_scb, UINT8 *p, UINT16 len)
|
||||
}
|
||||
else
|
||||
{
|
||||
AVDT_TRACE_WARNING( " - SDES SSRC=0x%08x sc=%d %d len=%d %s",
|
||||
AVDT_TRACE_WARNING( " - SDES SSRC=0x%08x sc=%d %d len=%d %s\n",
|
||||
ssrc, o_cc, *p, *(p+1), p+2);
|
||||
result = AVDT_BUSY;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
AVDT_TRACE_ERROR( "Bad Report pkt - packet type: %d", pt);
|
||||
AVDT_TRACE_ERROR( "Bad Report pkt - packet type: %d\n", pt);
|
||||
result = AVDT_BAD_PARAMS;
|
||||
}
|
||||
|
||||
@@ -438,7 +438,7 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
{
|
||||
if (p_end - p < 4) /* length check. maximum length of AL header = 4 */
|
||||
{
|
||||
AVDT_TRACE_WARNING("p_end: 0x%x - p:0x%x < 4", p_end, p);
|
||||
AVDT_TRACE_WARNING("p_end: 0x%x - p:0x%x < 4\n", p_end, p);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -488,7 +488,7 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
else
|
||||
#endif
|
||||
{
|
||||
AVDT_TRACE_WARNING("bad tsid: %d, mux_tsid_media:%d", al_tsid, p_scb->curr_cfg.mux_tsid_media);
|
||||
AVDT_TRACE_WARNING("bad tsid: %d, mux_tsid_media:%d\n", al_tsid, p_scb->curr_cfg.mux_tsid_media);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -503,7 +503,7 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
/* it is media fragment beginning */
|
||||
if(!al_frag) /* is it first fragment of original media packet */
|
||||
{
|
||||
AVDT_TRACE_DEBUG("al:%d media:%d",
|
||||
AVDT_TRACE_DEBUG("al:%d media:%d\n",
|
||||
al_len, p_scb->media_buf_len);
|
||||
|
||||
p_scb->frag_off = 0;
|
||||
@@ -511,31 +511,31 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
/* length check: minimum length of media header is 12 */
|
||||
if (p_scb->frag_org_len < 12)
|
||||
{
|
||||
AVDT_TRACE_WARNING("bad al_len: %d(<12)", al_len);
|
||||
AVDT_TRACE_WARNING("bad al_len: %d(<12)\n", al_len);
|
||||
break;
|
||||
}
|
||||
/* check that data fit into buffer */
|
||||
if (al_len > p_scb->media_buf_len)
|
||||
{
|
||||
AVDT_TRACE_WARNING("bad al_len: %d(>%d)", al_len, p_scb->media_buf_len);
|
||||
AVDT_TRACE_WARNING("bad al_len: %d(>%d)\n", al_len, p_scb->media_buf_len);
|
||||
break;
|
||||
}
|
||||
/* make sure it is the last fragment in l2cap packet */
|
||||
if (p + al_len < p_end)
|
||||
{
|
||||
AVDT_TRACE_WARNING("bad al_len: %d(>%d)", al_len, p_scb->media_buf_len);
|
||||
AVDT_TRACE_WARNING("bad al_len: %d(>%d)\n", al_len, p_scb->media_buf_len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AVDT_TRACE_DEBUG("al:%d media:%d frag_org_len:%d frag_off:%d",
|
||||
AVDT_TRACE_DEBUG("al:%d media:%d frag_org_len:%d frag_off:%d\n",
|
||||
al_len, p_scb->media_buf_len, p_scb->frag_org_len, p_scb->frag_off);
|
||||
|
||||
/* check that remaining length from AL header equals to original len - length of already received fragments */
|
||||
if(al_len != p_scb->frag_org_len - p_scb->frag_off)
|
||||
{
|
||||
AVDT_TRACE_WARNING("al_len:%d != (frag_org_len:%d - frag_off:%d) %d",
|
||||
AVDT_TRACE_WARNING("al_len:%d != (frag_org_len:%d - frag_off:%d) %d\n",
|
||||
al_len, p_scb->frag_org_len, p_scb->frag_off,
|
||||
(p_scb->frag_org_len- p_scb->frag_off));
|
||||
break;
|
||||
@@ -551,12 +551,12 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
/* do common sanity check */
|
||||
if((p_scb->frag_org_len <= p_scb->frag_off) || (p_scb->frag_org_len >= p_scb->media_buf_len))
|
||||
{
|
||||
AVDT_TRACE_WARNING("common sanity frag_off:%d frag_org_len:%d media_buf_len:%d",
|
||||
AVDT_TRACE_WARNING("common sanity frag_off:%d frag_org_len:%d media_buf_len:%d\n",
|
||||
p_scb->frag_off, p_scb->frag_org_len, p_scb->media_buf_len);
|
||||
break;
|
||||
}
|
||||
|
||||
AVDT_TRACE_DEBUG("Received fragment org_len=%d off=%d al_len=%d frag_len=%d",
|
||||
AVDT_TRACE_DEBUG("Received fragment org_len=%d off=%d al_len=%d frag_len=%d\n",
|
||||
p_scb->frag_org_len, p_scb->frag_off, al_len, frag_len);
|
||||
|
||||
/* copy fragment into buffer */
|
||||
@@ -587,7 +587,7 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
{
|
||||
if(p_scb->p_media_buf + p_scb->frag_off - p_payload < 4)
|
||||
{
|
||||
AVDT_TRACE_WARNING("length check frag_off:%d p_media_buf:%d p_payload:%d",
|
||||
AVDT_TRACE_WARNING("length check frag_off:%d p_media_buf:%d p_payload:%d\n",
|
||||
p_scb->frag_off, p_scb->p_media_buf, p_payload);
|
||||
break;/* length check */
|
||||
}
|
||||
@@ -598,7 +598,7 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
|
||||
if(p_payload >= p_scb->p_media_buf + p_scb->frag_off)
|
||||
{
|
||||
AVDT_TRACE_WARNING("length check2 frag_off:%d p_media_buf:%d p_payload:%d",
|
||||
AVDT_TRACE_WARNING("length check2 frag_off:%d p_media_buf:%d p_payload:%d\n",
|
||||
p_scb->frag_off, p_scb->p_media_buf, p_payload);
|
||||
break;/* length check */
|
||||
}
|
||||
@@ -614,7 +614,7 @@ void avdt_scb_hdl_pkt_frag(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
/* payload length */
|
||||
payload_len = (UINT32)(p_scb->p_media_buf + p_scb->frag_off - pad_len - p_payload);
|
||||
|
||||
AVDT_TRACE_DEBUG("Received last fragment header=%d len=%d",
|
||||
AVDT_TRACE_DEBUG("Received last fragment header=%d len=%d\n",
|
||||
p_payload - p_scb->p_media_buf,payload_len);
|
||||
|
||||
/* send total media packet up */
|
||||
@@ -1159,7 +1159,7 @@ void avdt_scb_hdl_tc_open(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
event = (p_scb->role == AVDT_OPEN_INT) ? AVDT_OPEN_CFM_EVT : AVDT_OPEN_IND_EVT;
|
||||
p_data->open.hdr.err_code = 0;
|
||||
|
||||
AVDT_TRACE_DEBUG("psc_mask: cfg: 0x%x, req:0x%x, cur: 0x%x",
|
||||
AVDT_TRACE_DEBUG("psc_mask: cfg: 0x%x, req:0x%x, cur: 0x%x\n",
|
||||
p_scb->cs.cfg.psc_mask, p_scb->req_cfg.psc_mask, p_scb->curr_cfg.psc_mask);
|
||||
#if AVDT_REPORTING == TRUE
|
||||
if(p_scb->curr_cfg.psc_mask & AVDT_PSC_REPORT)
|
||||
@@ -1426,7 +1426,7 @@ void avdt_scb_snd_stream_close(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
#if AVDT_MULTIPLEXING == TRUE
|
||||
BT_HDR *p_frag;
|
||||
|
||||
AVDT_TRACE_WARNING("avdt_scb_snd_stream_close c:%d, off:%d",
|
||||
AVDT_TRACE_WARNING("avdt_scb_snd_stream_close c:%d, off:%d\n",
|
||||
GKI_queue_length(&p_scb->frag_q), p_scb->frag_off);
|
||||
/* clean fragments queue */
|
||||
while((p_frag = (BT_HDR*)GKI_dequeue (&p_scb->frag_q)) != NULL)
|
||||
@@ -1984,14 +1984,14 @@ void avdt_scb_chk_snd_pkt(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
else
|
||||
{
|
||||
#if 0
|
||||
AVDT_TRACE_DEBUG("num_q=%d",
|
||||
AVDT_TRACE_DEBUG("num_q=%d\n",
|
||||
L2CA_FlushChannel(avdt_cb.ad.rt_tbl[avdt_ccb_to_idx(p_scb->p_ccb)][avdt_ad_type_to_tcid(AVDT_CHAN_MEDIA, p_scb)].lcid),
|
||||
L2CAP_FLUSH_CHANS_GET);
|
||||
#endif
|
||||
while((p_pkt = (BT_HDR*)GKI_dequeue (&p_scb->frag_q)) != NULL)
|
||||
{
|
||||
sent = TRUE;
|
||||
AVDT_TRACE_DEBUG("Send fragment len=%d",p_pkt->len);
|
||||
AVDT_TRACE_DEBUG("Send fragment len=%d\n",p_pkt->len);
|
||||
/* fragments queue contains fragment to send */
|
||||
res = avdt_ad_write_req(AVDT_CHAN_MEDIA, p_scb->p_ccb, p_scb, p_pkt);
|
||||
if(AVDT_AD_CONGESTED == res)
|
||||
@@ -2001,7 +2001,7 @@ void avdt_scb_chk_snd_pkt(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
|
||||
break;/* exit loop if channel became congested */
|
||||
}
|
||||
}
|
||||
AVDT_TRACE_DEBUG("res=%d left=%d",res, p_scb->frag_off);
|
||||
AVDT_TRACE_DEBUG("res=%d left=%d\n",res, p_scb->frag_off);
|
||||
|
||||
if(p_scb->frag_off)
|
||||
{
|
||||
@@ -2110,7 +2110,7 @@ void avdt_scb_queue_frags(tAVDT_SCB *p_scb, UINT8 **pp_data, UINT32 *p_data_len,
|
||||
else
|
||||
{
|
||||
num_frag = L2CA_FlushChannel(lcid, L2CAP_FLUSH_CHANS_GET);
|
||||
AVDT_TRACE_DEBUG("num_q=%d lcid=%d", num_frag, lcid);
|
||||
AVDT_TRACE_DEBUG("num_q=%d lcid=%d\n", num_frag, lcid);
|
||||
if(num_frag >= AVDT_MAX_FRAG_COUNT)
|
||||
{
|
||||
num_frag = 0;
|
||||
@@ -2124,7 +2124,7 @@ void avdt_scb_queue_frags(tAVDT_SCB *p_scb, UINT8 **pp_data, UINT32 *p_data_len,
|
||||
/* look up transport channel table entry to get peer mtu */
|
||||
p_tbl = avdt_ad_tc_tbl_by_type(AVDT_CHAN_MEDIA, p_scb->p_ccb, p_scb);
|
||||
buf_size = p_tbl->peer_mtu + BT_HDR_SIZE;
|
||||
AVDT_TRACE_DEBUG("peer_mtu: %d, buf_size: %d num_frag=%d",
|
||||
AVDT_TRACE_DEBUG("peer_mtu: %d, buf_size: %d num_frag=%d\n",
|
||||
p_tbl->peer_mtu, buf_size, num_frag);
|
||||
|
||||
if(buf_size > AVDT_DATA_POOL_SIZE)
|
||||
@@ -2137,7 +2137,7 @@ void avdt_scb_queue_frags(tAVDT_SCB *p_scb, UINT8 **pp_data, UINT32 *p_data_len,
|
||||
/* allocate buffer for fragment */
|
||||
if(NULL == (p_frag = (BT_HDR*)GKI_getbuf(buf_size)))
|
||||
{
|
||||
AVDT_TRACE_WARNING("avdt_scb_queue_frags len=%d(out of GKI buffers)",*p_data_len);
|
||||
AVDT_TRACE_WARNING("avdt_scb_queue_frags len=%d(out of GKI buffers)\n",*p_data_len);
|
||||
break;
|
||||
}
|
||||
/* fill fragment by chunk of media payload */
|
||||
@@ -2152,7 +2152,7 @@ void avdt_scb_queue_frags(tAVDT_SCB *p_scb, UINT8 **pp_data, UINT32 *p_data_len,
|
||||
memcpy((UINT8*)(p_frag+1) + p_frag->offset, *pp_data, p_frag->len);
|
||||
*pp_data += p_frag->len;
|
||||
*p_data_len -= p_frag->len;
|
||||
AVDT_TRACE_DEBUG("Prepared fragment len=%d", p_frag->len);
|
||||
AVDT_TRACE_DEBUG("Prepared fragment len=%d\n", p_frag->len);
|
||||
|
||||
if(al_hdr)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user