/******************************************************************************* ** ** Function l2c_ucd_check_pending_out_sec_q ** ** Description check outgoing security ** ** Return TRUE if any UCD packet for security ** *******************************************************************************/ BOOLEAN l2c_ucd_check_pending_out_sec_q(tL2C_CCB *p_ccb) { BT_HDR *p_buf = (BT_HDR*)fixed_queue_try_peek_first(p_ccb->p_lcb->ucd_out_sec_pending_q); if (p_buf != NULL) { UINT16 psm; UINT8 *p = (UINT8 *)(p_buf + 1) + p_buf->offset; STREAM_TO_UINT16(psm, p) p_ccb->chnl_state = CST_ORIG_W4_SEC_COMP; btm_sec_l2cap_access_req (p_ccb->p_lcb->remote_bd_addr, psm, p_ccb->p_lcb->handle, CONNLESS_ORIG, &l2c_link_sec_comp, p_ccb); return (TRUE); } return (FALSE); }
static void btc_a2dp_sink_data_ready(UNUSED_ATTR void *context) { tBT_SBC_HDR *p_msg; if (fixed_queue_is_empty(btc_aa_snk_cb.RxSbcQ)) { APPL_TRACE_DEBUG(" QUE EMPTY "); } else { if (btc_aa_snk_cb.rx_flush == TRUE) { btc_a2dp_sink_flush_q(btc_aa_snk_cb.RxSbcQ); return; } while ((p_msg = (tBT_SBC_HDR *)fixed_queue_try_peek_first(btc_aa_snk_cb.RxSbcQ)) != NULL ) { btc_a2dp_sink_handle_inc_media(p_msg); p_msg = (tBT_SBC_HDR *)fixed_queue_try_dequeue(btc_aa_snk_cb.RxSbcQ); if ( p_msg == NULL ) { APPL_TRACE_ERROR("Insufficient data in que "); break; } osi_free(p_msg); } APPL_TRACE_DEBUG(" Process Frames - "); } }