博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZT 蓝牙的AVDTP协议笔记
阅读量:5298 次
发布时间:2019-06-14

本文共 3364 字,大约阅读时间需要 11 分钟。

个人资料
Tifnan

加好友 发纸条

加关注

  • 博客等级:
  • 博客积分:1267
正文
字体大小:大

蓝牙的AVDTP协议笔记

(2013-07-30 17:28:00)
标签:

分类:
1.概述
   AVDTP(AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL)是用来描述音频/视频在蓝牙设备间的传输的协议,是A2DP协议的基础协议,其在协议栈中的位置如下:
AVDTP协议建立在connection-oriented L2CAP channel上,只能支持point-to-point signaling。
 
2.一些术语
Stream:represents the logical end-to-end connection of streaming media data (audio or video) between two A/V devices.
Media Packets, Recovery Packets, and Reporting Packets:根据三种不同的数据类型,有这三种数据包。其中,Basic Service会用到Basic service,Report service会用到Reporting Packets,Recovery service会用到Recovery Packets,此外Multiplexing service会用到Media Packets和其余一种或两种Packet。
Stream End Point (SEP):应用程序通过这个接口提供Transport Services and AV capabilities来建立Stream。
【是否可以参考网络编程中的端口号??】
Stream Context (SC):两端设备都有的关于Stream的信息。
Stream Handle (SH):主要是暴露给用于程序使用的。
【可理解为文件操作的handle吧??】
Stream End Point Identifier (SEID):标识Stream End Point的。
Transport Session:一条stream可以分解为多个transport sessions,每个transport session对应一个AVDTP的packet category ,which means Media, Recovery, or Reporting packets。 
Transport Session Identifier (TSID):标识
Transport Session。
Transport Channel:通常和一个L2CAP Channel对应。不用AVDTP Multiplexing Mode时,一条
Transport  Channel只传输一个transport session;用transport session的情况下,一条
Transport  Channel可以传输多个
transport session(media,report或者recovery)。
Transport Channel Identifier (TCID):标识Transport Channel,唯一关联一条L2CAP channel。
 
3.Signaling Procedures
    一个典型的Stream End-point Discovery to Stream Release过程:
State Machine如下,共有5个状态:
一些主要的procedure如下:
Stream End Point Discovery:远端设备提供支持的SEP列表和media Type。
Get All Capabilities:Using the SEID as a reference, the local device can query the service capabilities of the remote SEP。
Stream Configuration:By referencing both the local and the remote SEID, the local device (the INT) configures the SEP of the remote device (the ACP)。
Stream Get Configuration:etrieve the last capabilities settings performed by the remote device on the SEP。
Stream Establishment:The opening of a transport session, while referencing the remote SEID, includes, if necessary, the establishment of a new Transport Channel。
Stream Start:After the Stream Establishment is complete, the Start Streaming procedure causes the streaming to start; i.e., Media (Reporting, Recovery) packets can be exchanged。
Stream Release:initiated by the upper layer within a device; a signal is sent indicating
that a stream end-point be closed.
Stream Suspend:挂起。
Stream Reconfigure:对Stream进行配置。
Stream Reconfigure:再次配置。
Security Control:对AV data transmitted over a Bluetooth 提供protection。
Abort:用于两个设备的同步。
General Reject:对包含invalid Signal Identifier的Command进行的response。
Delay Reporting:provide an initial delay report required for synchronized audio/video playback。
 
4.Transport Procedures
    分为三种Service:Basic Service,Reporting Service,Recovery Service和Multiplexing Service。
Basic Service只提供signaling 和media streaming。Media Packet Format如下图:
参数定义如下:
Reporting packet格式如下:
注意:如果不使用multiplexing mode ,一个PDU包含一个meida或者reporting或者recovery packet
每个transport session 使用不同的L2CAP Channel。如果使用Multiplexing Service,则一个transport channel上可能有好几种transport transport,需要AL header 来进行区分。
4.signaling message
一个Signal Fragmentation的实例:
Signal command and response headers:
参数Packet Type:
参数Message Type:
 
 

0

阅读
(325)
评论
(0)
收藏
(0)
转载 (0)
喜欢
举报
已投稿到:
前一篇:
后一篇:

转载于:https://www.cnblogs.com/jeanschen/p/3535671.html

你可能感兴趣的文章
Python 40 数据库-约束
查看>>
主程序,然后才能运行等待对话框响应问题
查看>>
jQuery选择
查看>>
多项式回归
查看>>
uva311 - Packets(贪心)
查看>>
AssetManager asset的使用
查看>>
微软历史最高市值是多少?
查看>>
IOS UILabel自适应里面的文字,自动调整宽度和高度的
查看>>
HTML笔记(一)
查看>>
java中 label 配合 break continue 使用方法
查看>>
TOJ 2233 WTommy's Trouble
查看>>
2015 Multi-University Training Contest 2 Buildings
查看>>
leetcode 201. 数字范围按位与 解题报告
查看>>
Happy Matt Friends
查看>>
开源API集成测试工具 Hitchhiker v0.2更新 - 压力测试
查看>>
Java开发Excel POI getPhysicalNumberOfCells 与 getLastCellNum的区别
查看>>
jvm 参数配置优化
查看>>
Composer如何安装(安装注意事项)
查看>>
ThinkPHP 日志(如何学好一门技术,教学视频和文档的优缺)
查看>>
php与java语法的区别
查看>>