4.5. DLRR Report Block (DLRR 报告块)
4.5. DLRR Report Block (DLRR 报告块)
此块扩展了 RTCP 的自上次 Sender Report 以来的延迟 (DLSR) 机制 [9, Sec. 6.3.1], 以便非发送方也可以计算往返时间, 如 [18] 中所提议的。它被称为 DLRR (delay since the last Receiver Report), 可以作为对接收方的 Receiver Timestamp Report Block (见上一节) 的响应发送, 以允许该接收方计算其到响应方的往返时间。报告由一个或多个 3 字子块组成: 每个 Receiver Report 一个子块。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=5 | reserved | block length |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| SSRC_1 (SSRC of first receiver) | sub-
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
| last RR (LRR) | 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| delay since last RR (DLRR) |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| SSRC_2 (SSRC of second receiver) | sub-
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
: ... : 2
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
block type (BT): 8 位 DLRR Report Block 由常量 5 标识。
reserved: 8 位 此字段保留供将来定义。在没有此类定义的情况下, 此字段中的位必须设置为零, 并且必须被接收方忽略。
block length: 16 位 在第 3 节中定义。
last RR timestamp (LRR): 32 位 从参与者 SSRC_n 接收到的 Receiver Reference Time Report Block 的一部分的 NTP 时间戳中的 64 位中间的 32 位 (如上一节中所解释)。如果在上次报告块发送之前没有从 SSRC_n 接收到任何接收方参考时间, 则将 LRR 字段设置为零。
delay since last RR (DLRR): 32 位 在上次接收到 Receiver Reference Time Report Block 与发送此接收方报告块之间的延迟 (以 1/65536 秒为单位)。如果在上次报告块发送之前没有从 SSRC_n 接收到任何接收方参考时间, 则将 DLRR 值设置为零。
SSRC_i: 32 位 此子块正在响应的 Receiver Reference Time Report Block 的发起者的 SSRC。