简单概要下:
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_ssm.cc的代码(BTA AV流状态机的实现)逻辑
/******************************************************************************
*
* Copyright 2004-2012 Broadcom Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except i