2. XR Packet Format (XR 数据包格式)
2. XR Packet Format (XR 数据包格式)
XR 数据包由一个包含两个 32 位字的头部组成, 后跟若干个 (可能为零) 扩展报告块。这种类型的数据包以与其他 RTCP 数据包一致的方式布局, 涉及基本的版本、数据包类型和长度信息。因此, XR 数据包与不识别它们的 RTCP 接收方实现向后兼容, 但这些实现应该能够使用长度信息解析它们。为了简单起见, 填充字段和 SSRC 字段也提供在它们在其他 RTCP 数据包中出现的相同位置。格式如下:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|reserved | PT=XR=207 | length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: report blocks :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
version (V): 2 位
- 标识 RTP 的版本。本规范适用于 RTP 版本 2。
padding (P): 1 位
- 如果设置了填充位, 则此 XR 数据包在末尾包含一些额外的填充字节。此字段的语义与 RTP 规范定义的 SR 数据包中填充字段的语义相同。
reserved: 5 位
- 此字段保留供将来定义。在没有此类定义的情况下, 此字段中的位必须设置为零, 并且接收方必须忽略。
packet type (PT): 8 位
- 包含常量 207 以将其标识为 RTCP XR 数据包。如第 6.1 节所述, 此值已在互联网编号分配机构 (IANA) 注册。
length: 16 位
- 如 RTCP 发送方报告 (SR) 数据包所述 (参见 RTP 规范 [9] 的第 6.4.1 节)。简而言之, 此 XR 数据包以 32 位字为单位的长度减 1, 包括头部和任何填充。
SSRC: 32 位
- 此 XR 数据包发起者的同步源标识符。
report blocks: 可变长度
- 零个或多个扩展报告块。与下面定义的扩展报告块框架保持一致, 每个块必须由一个或多个 32 位字组成。