简单概要下:
BTIF:提供bluedroid对外的接口
BTA:提供各种profile的实现
stack:协议实现与连接管理
上层在建立A2dp connect连接的时候,先调用到btif层的btif_av.cc中函数src_connect_sink,接着调用bta层bta_av_api.cc中函数BTA_AvOpen,经过内部state machine处理,最终调用Stack层l2c_api.c中的函数L2CA_ErtmConnectReq。这样就在bluedroid中的连接过程就完成了。
这里我们重点讲解下bta_av_api.cc 的代码(BTA AV子系统API的实现 )逻辑
文件路径:
packages/modules/Bluetooth/system/bta/av/bta_av_api.cc
/******************************************************************************
*
* Copyright 2011-2012 Broadcom Corpor