蓝牙 A2dp音频数据通过L2cap 发往Controller"/>
Android 蓝牙 A2dp音频数据通过L2cap 发往Controller
一、概念
ACL 链路在 Bluetooth 中非常重要,一些重要的应用如 A2DP, 基于 RFCOMM 的应用,BNEP等都要建立, ACL 链路,发送/接收ACL 包。今天一起来分析 ACL 包发送/接收流程,以及涉及到的重要 command/event。
下图是各种应用层使用 L2CAP 的 API:L2CA_DataWrite 发送数据流的过程。
应用层数据到 L2CAP 的入口
我们假设一个听音乐的场景,大家一起分析音乐数据流 AVDTP 以下层的传送。在 AVDTP 中,所有的功能想发送 Data,必须调用 avdt_ad_write_req 这个函数,我们 就从这个函数入手分析。
//当CCB或SCB给l2cap的 Channel 发送数据时,他们最终都会使用到L2CAP的 API:L2CA_Data_Write2 UINT8 avdt_ad_write_req(UINT8 type, tAVDT_CCB *p_ccb, tAVDT_SCB *p_scb, BT_HDR *p_buf)3 {4 UINT8 tcid;5 6 /* get tcid from type, scb */
更多推荐
Android 蓝牙 A2dp音频数据通过L2cap 发往Controller
发布评论