3. Configuration Headers . . . . . . . . . . . . . . . . . . . . 8
3.1. In-band Header Transmission . . . . . . . . . . . . . . . 9
3.1.1. Packed Configuration . . . . . . . . . . . . . . . . . 9
- 3.2. Out of Band Transmission . . . . . . . . . . . . . . . . . 10
+ 3.2. Out of Band Transmission . . . . . . . . . . . . . . . . . 11
3.2.1. Packed Headers . . . . . . . . . . . . . . . . . . . . 11
3.3. Loss of Configuration Headers . . . . . . . . . . . . . . 12
4. Comment Headers . . . . . . . . . . . . . . . . . . . . . . . 12
5. Frame Packetization . . . . . . . . . . . . . . . . . . . . . 13
- 5.1. Example Fragmented Vorbis Packet . . . . . . . . . . . . . 13
+ 5.1. Example Fragmented Vorbis Packet . . . . . . . . . . . . . 14
5.2. Packet Loss . . . . . . . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
6.1. Packed Headers IANA Considerations . . . . . . . . . . . . 19
A Vorbis Packed Configuration is indicated with the Vorbis Data Type
field set to 1. Of the three headers, defined in the Vorbis I
specification [12], the identification and the setup MUST be packed
- together, while the comment header MUST be completely suppressed. It
- is up to the client to provide a minimal size comment header to the
- decoder if required by the implementation.
-
-
-
-
-
-
+ together as they are, while the comment header MAY be replaced with a
+ dummy one. The packed configuration follows a generic way to store
+ xiph codec configurations: the first byte stores the number of
+ following packets minus one, the next bytes represent the size of the
+ packets, every byte set to 0xff means that the next byte has to be
+ add to the current sum in order to have the complete size; the
+ headers immediately follows the list of sizes. The headers are
+ packed in the same order they are present in ogg: identification,
+ comment, setup.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ident | 0 | 1 | 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | length | Identification ..
+ | length | n. of headers | length1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | length2 | Identification ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Identification ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Identification ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .. | Setup ..
+ .. Identification | Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment | Setup ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Setup ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .. Setup |
+ .. Setup ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Packed Configuration Figure
set to 0 since the packet bears the full Packed configuration, the
number of packet is set to 1.
-3.2. Out of Band Transmission
-
- This section, as stated above, does not cover all the possible out-
- of-band delivery methods since they rely on different protocols and
- are linked to specific applications. The following packet definition
- SHOULD be used in out-of-band delivery and MUST be used when
- Configuration is inlined in the SDP.
-
-
-
Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
+3.2. Out of Band Transmission
+
+ This section, as stated above, does not cover all the possible out-
+ of-band delivery methods since they rely on different protocols and
+ are linked to specific applications. The following packet definition
+ SHOULD be used in out-of-band delivery and MUST be used when
+ Configuration is inlined in the SDP.
+
3.2.1. Packed Headers
As mentioned above the RECOMMENDED delivery vector for Vorbis
length there is only a 2 byte length tag to define the length of the
packed headers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Barbato Expires November 5, 2007 [Page 11]
+\f
+Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
+
+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Ident | ..
+ | Ident | length1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 0xff | length2 | Identification Header ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .. length | Identification Header ..
+ .................................................................
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Identification Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Configuration Header ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .................................................................
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Configuration Header |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Setup Header ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Setup Header |
Figure 7: Packed Headers Detail
The key difference between the in-band format and this one, is there
- is no need for the payload header octet.
-
-
-
-
-
-
-Barbato Expires November 5, 2007 [Page 11]
-\f
-Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
-
+ is no need for the payload header octet. In this figure the comment
+ has a size bigger than 255 bytes.
3.3. Loss of Configuration Headers
ignore it completely. The details on the format of the comments can
be found in the Vorbis documentation [12].
+
+
+
+
+Barbato Expires November 5, 2007 [Page 12]
+\f
+Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
+
+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
fragmented.
-
-
-
-
-Barbato Expires November 5, 2007 [Page 12]
-\f
-Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
-
-
5. Frame Packetization
Each RTP packet contains either one Vorbis packet fragment, or an
correct sequence for fragmented packet reception the timestamp field
of fragmented packets MUST be the same as the first packet sent, with
the sequence number incremented as normal for the subsequent RTP
- packets. The length field shows the fragment length.
-
-5.1. Example Fragmented Vorbis Packet
-
- Here is an example fragmented Vorbis packet split over three RTP
- packets. Each packet contains the standard RTP headers as well as
- the 4 octets Vorbis headers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
+ packets. The length field shows the fragment length.
+
+5.1. Example Fragmented Vorbis Packet
+
+ Here is an example fragmented Vorbis packet split over three RTP
+ packets. Each packet contains the standard RTP headers as well as
+ the 4 octets Vorbis headers.
+
Packet 1:
0 1 2 3
-
-
-
-
-
-
-
-
Barbato Expires November 5, 2007 [Page 14]
\f
Internet-Draft draft-ietf-avt-rtp-vorbis-04 May 2007
A Vorbis Packed Configuration is indicated with the Vorbis Data Type field set
to 1. Of the three headers, defined in the
<xref target="vorbis-spec-ref">Vorbis I specification</xref>, the
-identification and the setup MUST be packed together, while the comment header
-MUST be completely suppressed. It is up to the client to provide a minimal size
-comment header to the decoder if required by the implementation.
+identification and the setup MUST be packed together as they are, while the comment header MAY be replaced with a dummy one.
+The packed configuration follows a generic way to store xiph codec configurations: the first byte stores the number of following packets minus one, the next bytes represent the size of the packets, every byte set to 0xff means that the next byte has to be add to the current sum in order to have the complete size; the headers immediately follows the list of sizes. The headers are packed in the same order they are present in ogg: identification, comment, setup.
</t>
<figure anchor="Packed Configuration Figure" title="Packed Configuration Figure">
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ident | 0 | 1 | 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | length | Identification ..
+ | length | n. of headers | length1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | length2 | Identification ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Identification ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Identification ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .. | Setup ..
+ .. Identification | Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Comment | Setup ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Setup ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .. Setup |
+ .. Setup ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<section anchor="Out of Band Transmission" title="Out of Band Transmission">
-
<t>
This section, as stated above, does not cover all the possible out-of-band
delivery methods since they rely on different protocols and are linked to
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Ident | ..
+ | Ident | length1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 0xff | length2 | Identification Header ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- .. length | Identification Header ..
+ .................................................................
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Identification Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Configuration Header ..
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .................................................................
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ .. Configuration Header |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Setup Header ..
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.. Setup Header |
</figure>
<t>
The key difference between the in-band format and this one, is there is no need
-for the payload header octet.
+for the payload header octet. In this figure the comment has a size bigger than 255 bytes.
</t>
</section>