做蓝牙音视频开发的同学,几乎每天都在和AVDTP打交道。耳机连不上、音乐播不出、切歌卡顿,很多时候根源都在AVDTP信令交互出了问题。抓了空口包,看着一串十六进制数却无从下手,不知道哪个字段是命令类型,哪个字段对应事务ID,更搞不懂为什么同一个消息要拆成好几个包发。
目录
很多资料只讲上层的流建立流程,却很少深入到信令消息的字节级结构。本文从最底层的信令报文讲起,把AVDTP信令的分层封装、分片规则、头部字段、命令框架全部拆解清楚,看完之后再抓包分析信令问题,你会有一种豁然开朗的感觉。
一、信令消息:音视频流建立的控制中枢
在讲具体报文结构之前,我们先搞清楚一个核心问题:AVDTP信令到底是用来干嘛的?
蓝牙音视频传输的本质,是两端设备先商量好用什么编码、什么采样率、要不要开FEC纠错、要不要开质量报告,商量妥当了再建立传输通道发数据。这个商量的过程,全靠AVDTP信令来完成。
你可以把信令理解成两个设备之间的协商专线:所有关于流的发现、配置、开启、暂停、关闭、异常处理的指令,都在这条专线上传输,和真正的媒体数据流是完全分开的通道。媒体数据走媒体通道,控制指令走信令通道,互不干扰
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/weixin_37800531/article/details/163314299


![【AVDTP】规范精讲[8-1]: 从报文封装到分片机制,吃透蓝牙音视频流控制信令底层逻辑封面图](https://i-blog.csdnimg.cn/direct/260da87f249c4367a44e2b7a0db3a3ed.png?x-oss-process=image/resize,m_fixed,h_300)

