В RFC 8285, в котором рассматриваются расширения заголовков RTP, структура расширения 1-байтового заголовка как показано ниже (раздел 4.2):
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xBE | 0xDE | length=3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID | L=0 | data | ID | L=1 | data...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...data | 0 (pad) | 0 (pad) | ID | L=3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Я понимаю OxBEDE, который объясняется в RFC. Затем идут биты «длина = 3», за которыми следуют фактические расширения. Каждое расширение состоит из идентификатора, за которым следует длина. Аналогичная структура определена для двухбайтовых расширений заголовка.
В обоих типах заголовков я не понимаю раздел битов «длина = 3». Это просто дополнение, используемое для 32-битной границы? Если да, то какой цели это служит? Легкость разбора? Почему бы не запускать элементы расширения сразу после файла xBEDE. Конечно, это было бы эффективно. Может быть, я упускаю что-то основное.