RFC 3190

RTP Payload Format for 12-bit DAT Audio and 20- and 24-bit Linear Sampled Audio

๐Ÿ“… published January 2002, from ietf

RFC 3190: RTP Payload Format for 12-bit DAT Audio and 20- and 24-bit Linear Sampled Audio ๐ŸŽงโœจ

Okay bestie, here's the title block tea ๐Ÿซ–. It's from the Network Working Group, dated January 2002, and it's a Standards Track doc, so it's the real deal, not just an opinion piece ๐Ÿ’…. The authors are K. Kobayashi (Communication Research Laboratory), A. Ogawa (Keio University), S. Casner (Packet Design), and C. Bormann (Universitaet Bremen TZI) ๐ŸŒธ. Nothing in the title block says it obsoletes or updates anything, so this one is standing on its own ๐Ÿ‘‘.


Status of this Memo ๐Ÿซง

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited ๐ŸŒˆ.

Copyright (C) The Internet Society (2002). All Rights Reserved.

Abstract ๐Ÿฆ‹

So this doc is all about packetizing audio streams that are 12-bit nonlinear, 20-bit linear, and 24-bit linear and shoving them into RTP ๐Ÿš€. It also defines a Session Description Protocol (SDP) parameter that says whether the audio got preemphasized before sampling ๐ŸŽš๏ธ. That parameter can be used with other audio payload formats too, especially L16 (16-bit linear) ๐Ÿ’–.


1. Introduction ๐ŸŽ€

This doc describes sampling audio in 12-bit nonlinear, 20-bit linear, and 24-bit linear encodings, and how to encapsulate that audio into RTP version 2 [1,2] ๐Ÿงš. DAT (digital audio tape) and DV (digital video) devices [3,4] use these encodings alongside 16-bit linear ๐Ÿ“. L16 packetization is already specified [2,5], so this doc basically follows that same vibe for the other encodings โœจ. When you use the RTP profile [2], these payload formats follow the encoding-independent rules for sample ordering and channel interleaving from [2], plus the extensions written here ๐Ÿ’…. It also defines out-of-band negotiation for the extended channel interleaving rules, and for when an analog preemphasis technique got applied to the audio ๐Ÿซถ.

1.1 Terminology ๐Ÿ“–

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [6]


2. The need for RTP encapsulation of 12-, 20- and 24-bit audio ๐ŸŒท

Okay so tons of high-quality digital audio and visual systems, like DAT and DV, use sample-based audio encodings ๐ŸŽถ. Different formats show up in different situations, and to move audio over RTP you need a defined encapsulation for each one ๐Ÿซ . Only 16-bit linear audio encapsulation (L16) had been defined so far ๐Ÿ˜ญ. Other encodings were already out there, like the 12-bit nonlinear, 20-bit linear, and 24-bit linear ones used in the DAT and DV video world ๐Ÿ“ผ. This spec is here to define the RTP payload encapsulation so those new encodings can work in the RTP environment ๐Ÿ”ฅ.

3. 12-bit nonlinear audio encapsulation ๐ŸŒ™

IEC 61119 [3] defines the 12-bit nonlinear audio format in DAT and DV, called LP (Long Play) audio ๐Ÿ’ฟ. You could just convert 12-bit nonlinear audio into 16-bit linear at the sender and send it with the L16 format that already exists ๐Ÿ™ƒ. But that would eat 33% more network bandwidth than necessary, which is giving wasteful ๐Ÿ’€. So this payload format is the more efficient glow-up ๐Ÿ’–.

The 12-bit nonlinear encoding is the same as 16-bit linear except for how each sample gets packed ๐Ÿงฉ. Each 12-bit nonlinear sample comes from one 16-bit linear sample through a nonlinear compression โœจ. Table 1 shows the details of the 16-to-12-bit conversion ๐Ÿซง. The result is a 12-bit signed value from -2048 to 2047, written in two's complement notation ๐Ÿ”ข. The 12-bit samples get packed back to back into payload octets, starting with the most significant bit ๐ŸŽฏ. If the payload has an odd number of samples, the four LSBs of the last octet go unused ๐Ÿคทโ€โ™€๏ธ. Everything else, like sampling frequency and audio channel assignment, is the same as the L16 payload format ๐ŸŽ›๏ธ. Samples get packed into the packet in time sequence, starting with the oldest one ๐Ÿ•ฐ๏ธ.

    ------------------------------------------------------------
     32,767 (7FFFh) Y = INT(X/64) + (600h)        2,047 (7FFh)
     16,384 (4000h)                               1,792 (700h)
    ------------------------------------------------------------
     16,383 (3FFFh) Y = INT(X/32) + (500h)        1,791 (6FFh)
      8,192 (2000h)                               1,536 (600h)
    ------------------------------------------------------------
      8,191 (1FFFh) Y = INT(X/16) + (400h)        1,535 (5FFh)
      4,096 (1000h)                               1,280 (500h)
    ------------------------------------------------------------
      4,095 (0FFFh) Y = INT(X/8) + (300h)         1,279 (4FFh)
      2,048 (0800h)                               1,024 (400h)
    ------------------------------------------------------------
      2,047 (07FFh) Y = INT(X/4) + (200h)         1,023 (3FFh)
      1,024 (0400h)                                 768 (300h)
    ------------------------------------------------------------
      1,023 (03FFh) Y = INT(X/2) + (100h)           767 (2FFh)
        512 (0200h)                                 512 (200h)
    ------------------------------------------------------------
        511 (01FFh) Y = X                           511 (1FFh)
          0 (0000h)                                   0 (000h)
    ------------------------------------------------------------
         -1 (FFFFh) Y = X                            -1 (FFFh)
       -512 (FE00h)                                -512 (E00h)
    ------------------------------------------------------------
       -513 (FFFFh) Y = INT((X + 1)/2) - (101h)    -513 (DFFh)
     -1,024 (FE00h)                                -768 (D00h)
    ------------------------------------------------------------
     -1,025 (FBFFh) Y = INT((X + 1)/4) - (201h)    -769 (CFFh)
     -2,048 (F800h)                              -1,024 (C00h)
    ------------------------------------------------------------
     -2,049 (F7FFh) Y = INT((X + 1)/8) - (301h)  -1,025 (BFFh)
     -4,096 (F000h)                              -1,280 (B00h)
    ------------------------------------------------------------
     -4,097 (EFFFh) Y = INT((X + 1)/16) - (401h) -1,281 (AFFh)
     -8,192 (E000h)                              -1,536 (A00h)
    ------------------------------------------------------------
     -8,193 (DFFFh) Y = INT((X + 1)/32) - (501h) -1,537 (9FFh)
    -16,384 (C000h)                              -1,792 (900h)
    ------------------------------------------------------------
    -16,385 (BFFFh) Y = INT((X + 1)/64) - (601h) -1,793 (8FFh)
    -32,768 (8000h)                              -2,048 (800h)
    ------------------------------------------------------------

Table 1. Conversion from 16-bit linear values (X) to 12-bit nonlinear values (Y) [3]

When you describe the encoding in an SDP [7] session description, the 12-bit nonlinear payload format gets the encoding name "DAT12" ๐Ÿท๏ธ. So the media format representation might look like this ๐Ÿ‘€:

   m=audio 49230 RTP/AVP 97 98
   a=rtpmap:97 DAT12/32000/2
   a=rtpmap:98 L16/48000/2

4. 20- and 24-bit linear audio encapsulation ๐ŸŒŠ

The 20- and 24-bit linear encodings are basically an extension of the L16 linear audio encoding [2] ๐Ÿ’ซ. The 20- or 24-bit uncompressed samples are signed values in two's complement notation ๐Ÿงฎ. They get packed back to back into payload octets, starting with the most significant bit ๐Ÿซถ. For 20-bit encoding, if the payload has an odd number of samples, the four LSBs of the last octet go unused ๐Ÿ™ˆ. Samples are packed into the packet in time sequence, starting with the oldest one โณ.

When you describe the encoding in an SDP session description, the 20- and 24-bit linear formats get the encoding names "L20" and "L24" ๐ŸŽ€. An example SDP audio media description would look like this ๐Ÿง:

   m=audio 49230 RTP/AVP 99 100
   a=rtpmap:99 L20/48000/2
   a=rtpmap:100 L24/48000

5. Preemphasized audio data ๐Ÿ”Š

To make the higher frequencies sound better, analog preemphasis is often applied to the signal before quantization ๐ŸŽ›๏ธ. If analog preemphasis was applied before the payload data was sampled, the type of preemphasis SHOULD be conveyed with out-of-band signaling ๐Ÿ“ก. This doc defines an emphasis parameter for exactly that, and it can be conveyed either as a MIME optional parameter or using the SDP format-specific attribute (a=fmtp line) like this ๐Ÿ’…:

   a=fmtp:<payload type> emphasis=<emphasis type>

Only one <emphasis type> value is defined for the parameter right now ๐Ÿซง:

   50-15           <50/15 microsecond CD-type emphasis>

The emphasis attribute MUST NOT be included in the SDP record if preemphasis was not applied ๐Ÿšซ. This rule lets the emphasis attribute work with other audio formats, especially L16 [2], while keeping backward compatibility with existing implementations as long as preemphasis isn't applied ๐Ÿค. If an existing app that doesn't do preemphasis accepts a session description with an emphasis attribute but ignores it, the only consequence is that the sound comes out too "bright" when receiving or "dull" when sending ๐ŸŒž๐ŸŒง๏ธ. Iykyk ๐Ÿ˜ญ.

A sample SDP record showing preemphasis applied only to payload type 99 might look like this ๐Ÿ‘‡:

   m=audio 49230 RTP/AVP 99 100
   a=rtpmap:99 L20/48000/2
   a=fmtp:99 emphasis=50-15
   a=rtpmap:100 L24/48000

6. Translation of DV audio error code โœจ

okay so DV video has this special audio move ๐Ÿ˜ญ where the most negative full-scale sample value is reserved as an audio error code. It basically means "there's no valid audio sample for this moment." It can happen when audio data fails to read off magnetic tape ๐Ÿ’€. Per IEC 61834-4 [4], the error code values for each DV audio encoding are (in hexadecimal):

12-bit nonlinear:  800h
16-bit linear:     8000h
20-bit linear:     80000h

Here's the tea ๐Ÿซ–: the payload formats in this document, plus the L16 one from [2], do not define any error code. Every possible sample value counts as valid. So when an RTP sender grabs audio from a DV video system and packs it into one of these formats, it SHOULD run some error concealment algorithm ๐Ÿฉน. That algorithm depends on whether one sample or several samples went bad, but it isn't specified here, so it's up to the implementation. The RTP sender MAY treat the error code like a real audio sample, but ngl that's likely to sound undesirable ๐Ÿ“ข.

Now the receiving side ๐ŸŽง. An RTP receiver that accepts these payload formats and hands the audio over to a DV video system SHOULD translate any samples that would be read as error codes into the next smaller negative audio value. Those samples can still show up because the packets may have come from a source that isn't a DV video system ๐Ÿคทโ€โ™€๏ธ. The DV video specification [4] gives these translations for the defined encodings:

12-bit nonlinear:  800h              ->  801h
16-bit linear:     8000h             ->  8001h
20-bit linear:     80000h - 8000Fh   ->  80010h

For the 20-bit linear encoding, notice that several sample values get translated ๐Ÿ‘€. That lets a 16-bit system play 20-bit audio by ignoring the least significant four bits ๐ŸŽถ. Also, no translation is specified for 24-bit linear audio, since that encoding isn't in the DV video specification at all ๐Ÿ™ˆ.


7. Channel interleaving and non-AIFF-C audio channel convention ๐ŸŽ€

When multiple channels of audio (think a stereo program) get multiplexed into one RTP stream, the samples from each channel are interleaved using the rules in [2], which keeps things consistent with the L16 payload format ๐Ÿ’œ. Basically, samples from different channels taken at the same sampling instant get packed into consecutive octets. For a two-channel encoding, the order is (left channel, first sample), (right channel, first sample), (left channel, second sample), (right channel, second sample). And samples for all channels belonging to a single sampling instant MUST be contained in the same packet ๐Ÿ“ฆ.

This order is different from how DV audio is packed into blocks in a native DV audio stream ๐Ÿงฉ. So applications sending DV audio with the payload formats in this document MUST reshuffle the samples into the order described here. The whole point is interworking between DV systems and other digital audio systems ๐Ÿค. If you'd rather send bundled DV audio/video streams using the native DV block structure, you can use the payload format defined in [8] instead โœจ.

Most existing RTP audio payload formats follow the AIFF-C channel ordering from [2] when sending more than two audio channels in one RTP stream ๐ŸŽผ. But that convention doesn't cover everything. For example, some DV audio formats have a "woofer" channel, and AIFF-C doesn't include this frequency-dependent channel ๐Ÿ”Š. So when the audio stream goes beyond what AIFF-C covers, you have to spell out the channel allocation explicitly.

For DV audio streams with 4 or more channels, the channel order MUST be specified out-of-band ๐Ÿ’…. This applies to the payload formats in this document and to L16. This document defines a "channel-order" parameter for exactly that, and it can be conveyed either as a MIME optional parameter or with the SDP a=fmtp attribute using this syntax:

a=fmtp:<payload type> channel-order=<convention>.<order>

The first part of the value, <convention>, says which channel assignment convention is in use ๐Ÿ—‚๏ธ. This leaves room for conventions other than AIFF-C and DV to be defined later. This document only defines one convention for the channel-order parameter:

DV

The second part, <order>, is how the channels are arranged within the stream ๐ŸŽš๏ธ. The DV video specification [4] defines which audio channel types may be present and what order they go in. The symbols for those channel types are reproduced in the Appendix at the end of this document. For the DV convention, these values (made by concatenating the individual channel symbols in the allowed orders) are defined for <order>:

4 channels: LRLsRs, LRCS, LRCWo
5 channels: LRLsRsC
6 channels: LRLsRsCS, LmixRmixTWoQ1Q2
8 channels: LRCWoLsRsLmixRmix, LRCWoLs1Rs1Ls2Rs2, LRCWoLsRsLcRc

The <convention> and <order> symbols are case-insensitive, but they're shown in mixed case so the individual channel symbols are easier to spot ๐Ÿ‘€. Those concatenated symbols have no separators on purpose, to make it super clear that the channels MUST NOT be assembled in other, arbitrary orders ๐Ÿšซ.

For interworking with DV video systems, some audio encodings only work with a subset of those channel combinations. The DV video specification lists which channel combinations are allowed for each encoding ๐Ÿ“‹.

The channel-order parameter MUST be consistent with the number of channels given in the MIME optional parameter "channels" or in the a=rtpmap attribute of SDP ๐Ÿ”ข. For RTP audio streams with 1, 2 or 3 channels, the AIFF-C channel order is used, and it's implicit in the number of channels. To keep backward compatibility, the channel-order parameter MUST NOT be included in this case ๐Ÿ™…โ€โ™€๏ธ.

Also, for the DV convention with 5 channels there's only one allowed channel order. Even so, for consistency the channel-order parameter MUST be included anyway ๐Ÿ’–.

Here's an example SDP session description using the channel-order parameter ๐Ÿฆ‹:

v=0
o=ikob 2890844526 2890842807 IN IP4 126.16.64.4
s=POI (Audio only)
i=A Seminar on making Presentations on the Internet
u=http://www.koganei.wide.ad.jp/~ikob/POI/index.html
e=ikob@koganei.wide.ad.jp (Katsushi Kobayashi)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
m=audio 49170 RTP/AVP 112 113
a=rtpmap:112 L16/48000/2
a=rtpmap:113 DAT12/32000/4
a=fmtp:113 emphasis=50-15; channel-order=DV.LRCWO

This session shows the audio being sent in two formats, L16 and DAT12, with payload type numbers 112 and 113 ๐ŸŽง. For L16, the audio is 2-channel stereo using the default, implicit AIFF-C convention (left channel first, right channel second) ๐ŸŽถ. For DAT12, the audio has 4 channels using the DV audio convention for left, right, center and woofer ๐Ÿ”ˆ.

This example also shows how multiple MIME optional parameters ("emphasis" and "channel-order") map onto one a=fmtp attribute, as a semicolon-separated list of parameter=value pairs ๐Ÿง.

The channel-order parameter is a generic out-of-band mechanism for defining alternatives to the AIFF-C channel order ๐ŸŒˆ. Still, if multi-channel audio could be sent using the AIFF-C channel convention after simple processing (say, a bit of data shuffling on the sender side), then the alternative channel order SHOULD NOT be defined. Instead, the AIFF-C order SHOULD be used to maximize interoperability ๐Ÿค.

Finally, multiple channels of audio should only be multiplexed into a single RTP stream when all of those channels are meant to be played together, like left and right in a stereo program ๐ŸŽง. Independent audio channels, like multiple language translations, SHOULD be sent in separate RTP sessions. That way receivers can tune in only to the channels they actually want, which cuts down on bandwidth ๐Ÿ“‰.


8. MIME registration ๐Ÿ“

This document defines some new RTP payload format names that are also registered as MIME subtypes: DAT12, L20 and L24 ๐ŸŒธ. The registration forms for these MIME subtypes come in the next sections.

8.1 MIME registration form for audio/DAT12

Here's the registration form for audio/DAT12, copied exactly as it's written ๐Ÿ’…:

MIME media type name: audio

MIME subtype name: DAT12

Required parameters:
   rate: number of samples per second -- RECOMMENDED values for rate
      are 8000, 11025, 16000, 22050, 24000, 32000, 44100 and 48000
      samples per second.  Other values are permissible.

Optional parameters:
   channels: how many audio streams are interleaved -- defaults to 1;
      stereo would be 2, etc.  Interleaving takes place between
      individual 12-bit samples.

   emphasis: analog preemphasis applied to the data before
      quantization.  The only emphasis value defined here is
      emphasis=50-15 to indicate 50/15 microsecond preemphasis.  This
      parameter MUST be omitted if no analog preemphasis was applied.

   channel-order: specifies the sample interleaving order for
      multiple-channel audio streams (see RFC 3190 Section 7).
      Permissible values are DV.LRLsRs, DV.LRCS, DV.LRCWo,
      DV.LRLsRsC, DV.LRLsRsCS, DV.LmixRmixTWoQ1Q2,
      DV.LRCWoLsRsLmixRmix, DV.LRCWoLs1Rs1Ls2Rs2, DV.LRCWoLsRsLcRc.
      For interoperation with DV video systems, only a subset of
      these channel combinations is specified for use with 12-bit
      nonlinear encoding in the DV video specification [4]; that
      subset is all of the above except DV.LmixRmixTWoQ1Q2.  This
      parameter MUST be omitted when the AIFF-C channel order
      convention is in use.

Encoding considerations:
   DAT12 audio can be transmitted with RTP as specified in RFC 3190.

Security considerations: See Section 9.

Interoperability considerations: NONE
Published specification:
   IEC 61119 Standard [4] and RFC 3190.

Applications which use this media type:
   Audio communication.

Additional information:
   Magic number(s): None
   File extension(s): None
   Macintosh File Type Code(s): None

Person & email address to contact for further information:
   Katsushi Kobayashi
   e-mail: ikob@koganei.wide.ad.jp

Intended usage: COMMON

Author/Change controller:
   Katsushi Kobayashi
   e-mail: ikob@koganei.wide.ad.jp

8.2. MIME registration form for audio/L20 โœจ

okay bestie, this is the registration form for audio/L20 ๐Ÿ’– it's basically the spec sheet for 20-bit linear audio, so here's the whole thing exactly as it's written ๐ŸŽ€

   MIME media type name: audio

   MIME subtype name: L20

   Required parameters:
      rate: number of samples per second -- RECOMMENDED values for rate
         are 8000, 11025, 16000, 22050, 24000, 32000, 44100 and 48000
         samples per second.  Other values are permissible.

   Optional parameters:
      channels: how many audio streams are interleaved -- defaults to 1;
         stereo would be 2, etc.  Interleaving takes place between
         individual 20-bit samples.

      emphasis: analog preemphasis applied to the data before
         quantization.  The only emphasis value defined here is
         emphasis=50-15 to indicate 50/15 microsecond preemphasis.  This
         parameter MUST be omitted if no analog preemphasis was applied.

      channel-order: specifies the sample interleaving order for
         multiple-channel audio streams (see RFC 3190 Section 7).
         Permissible values are DV.LRLsRs, DV.LRCS, DV.LRCWo,
         DV.LRLsRsC, DV.LRLsRsCS, DV.LmixRmixTWoQ1Q2,
         DV.LRCWoLsRsLmixRmix, DV.LRCWoLs1Rs1Ls2Rs2, DV.LRCWoLsRsLcRc.
         For interoperation with DV video systems, none of these channel
         combinations is specified for use with 20-bit linear encoding
         in the DV video specification [4]; only mono and stereo are
         allowed.  This parameter MUST be omitted when the AIFF-C
         channel order convention is in use.

   Encoding considerations:
      L20 audio can be transmitted with RTP as specified in RFC 3190.

   Security considerations: See Section 9.

   Interoperability considerations: NONE

   Published specification:
      RFC 3190.

   Applications which use this media type:
      Audio communication.

   Additional information:
      Magic number(s): None
      File extension(s): None
      Macintosh File Type Code(s): None

   Person & email address to contact for further information:
      Katsushi Kobayashi
      e-mail: ikob@koganei.wide.ad.jp

   Intended usage: COMMON

   Author/Change controller:
      Katsushi Kobayashi
      e-mail: ikob@koganei.wide.ad.jp

8.3. MIME registration form for audio/L24 ๐ŸŽ€

next up is the audio/L24 form, which is basically the same energy but with 24-bit samples ๐Ÿ”ฅ the big differences are the interleaving size and that the channel-order part points at Section 7 directly

   MIME media type name: audio

   MIME subtype name: L24

   Required parameters:
      rate: number of samples per second -- RECOMMENDED values for rate
         are 8000, 11025, 16000, 22050, 24000, 32000, 44100 and 48000
         samples per second.  Other values are permissible.

   Optional parameters:
      channels: how many audio streams are interleaved -- defaults to 1;
         stereo would be 2, etc.  Interleaving takes place between
         individual 24-bit samples.

      emphasis: analog preemphasis applied to the data before
         quantization.  The only emphasis value defined here is
         emphasis=50-15 to indicate 50/15 microsecond preemphasis.  This
         parameter MUST be omitted if no analog preemphasis was applied.

      channel-order: specifies the sample interleaving order for
         multiple-channel audio streams (see Section 7).  Permissible
         values are DV.LRLsRs, DV.LRCS, DV.LRCWo, DV.LRLsRsC,
         DV.LRLsRsCS, DV.LmixRmixTWoQ1Q2, DV.LRCWoLsRsLmixRmix,
         DV.LRCWoLs1Rs1Ls2Rs2, DV.LRCWoLsRsLcRc.  This parameter MUST be
         omitted when the AIFF-C channel order convention is in use.

   Encoding considerations:
      L24 audio can be transmitted with RTP as specified in RFC 3190.

   Security considerations: See Section 9.

   Interoperability considerations: NONE

   Published specification:
      RFC 3190.

   Applications which use this media type:
      Audio communication.

   Additional information:
      Magic number(s): None
      File extension(s): None
      Macintosh File Type Code(s): None

   Person & email address to contact for further information:
      Katsushi Kobayashi
      e-mail: ikob@koganei.wide.ad.jp

   Intended usage: COMMON

   Author/Change controller:
      Katsushi Kobayashi
      e-mail: ikob@koganei.wide.ad.jp

9. Security Considerations ๐Ÿ”

okay this part is seriously important so pay attention ๐Ÿ’€ RTP packets that use this payload format are subject to the security considerations in the RTP specification [1], plus any appropriate RTP profile [2]. so basically, if you want your media streams to be confidential, you get that through encryption ๐Ÿ”’ the compression here runs end-to-end, which means you can encrypt after compressing and the two don't clash at all ๐Ÿซถ

the scary-but-manageable part is denial of service ๐Ÿ˜ญ encodings that use compression can put a non-uniform computational load on the receiver, and an attacker could inject nasty, pathological datagrams that are expensive to decode and overload whoever is receiving them. good news though: this encoding doesn't show any significant non-uniformity, so that particular threat isn't a big deal here โœจ

and the usual IP reality check applies too ๐Ÿ“ a receiver can get overloaded just from receiving too many packets, wanted or not. network-layer authentication can be used to throw away packets from unwanted sources, but the cost of doing that authentication might itself be too high. in multicast setups, pruning specific sources might be added in future versions of IGMP [9] and in multicast routing protocols, so a receiver can pick which sources are allowed to reach it ๐Ÿงš


10. IANA Considerations ๐Ÿ“‹

this section is basically the paperwork bit ๐Ÿ“ this document defines two brand new MIME subtype-specific optional parameters, "emphasis" and "channel-order", and their sets of allowed values are given in Sections 5 and 7 respectively. Section 8 has registrations for three new MIME subtypes that use those parameters, and each registration defines the subset of optional parameter values that its subtype is allowed to use ๐Ÿ’…

the tea is that the number of extra values that'll ever need defining for these parameters is expected to be small ๐Ÿ‘‘ so if anyone wants to define new values, they're required to produce a revision of this document, and that revision has to get vetted through the normal Internet Standards process ๐Ÿ”ฅ


11. References ๐Ÿ“š

here are all the references, with every detail kept exactly as written ๐ŸŽ€

[1] Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP:
    A Transport Protocol for real-time applications," RFC 1889,
    January 1996.

[2] H. Schulzrinne, "RTP profile for audio and video conferences with
    minimal control", RFC 1890, January 1996.

[3] IEC 61119, Digital audio tape cassette system (DAT), November
    1992.

[4] IEC 61834, Helical-scan digital video cassette recording system
    using 6,35 mm magnetic tape for consumer use (525-60, 625-50,
    1125-60 and 1250-50 systems), August 1998.

[5] Salsman, J., "The Audio/L16 MIME content type", RFC 2586, May
    1999.

[6] Bradner, S., "Key words for use in RFCs to Indicate Requirement
    Levels", BCP 14, RFC 2119, March 1997.

[7] Handley, M. and V. Jacobson, "SDP: Session Description Protocol",
    RFC 2327, April 1998.

[8] Kobayashi, K., Ogawa, A., Casner, S. and C. Bormann, "RTP Payload
    Format for DV (IEC 61834) Video", RFC 3189, January 2002.

[9] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC
    1112, August 1989.

Appendix ๐Ÿงš

this appendix is the cheat sheet for the DV audio channel symbols ๐Ÿ’œ they're in Table 2, and they come from the notation in the DV video spec IEC 61834-4 [4], chapter 8.1. if you want the exact meaning of any symbol, go check the original DV video spec, because that's the source of truth ๐ŸŒธ

   L: Left channel of stereo
   R: Right channel of stereo
   M: Monaural signal
   C: Center channel of 3,4,6 or 8 channel audio
   S: Surround channel of 4 channel audio
   Ls, Ls1, Ls2: Left surround channel
   Rs, Rs1, Rs2: Right surround channel
   Lc: Left center channel of 8 channel audio
   Rc: Right center channel of 8 channel audio
   Wo: Woofer channel
   Lmix: L + 0.7071C + 0.7071LS
   Rmix: R + 0.7071C + 0.7071RS
   T: 0.7071C
   Q1: 0.7071LS + 0.7071RS
   Q2: 0.7071LS - 0.7071RS

   Table 2. Channel symbols for audio channels in DV video [4]

Authors' Addresses ๐Ÿซถ

the authors, with their addresses and contact details exactly as listed ๐Ÿ’Œ

Katsushi Kobayashi
Communication Research Laboratory
4-2-1 Nukii-kita machi, Koganei
Tokyo 184-8795 JAPAN

Phone: +81 42 327 6174
EMail: ikob@koganei.wide.ad.jp


Akimichi Ogawa
Keio University
5322 Endo, Fujisawa
Kanagawa 252 JAPAN

EMail:  akimichi@sfc.wide.ad.jp


Stephen L. Casner
Packet Design
2465 Latham Street
Mountain View, CA 94040
United States

Phone: +1 650-943-1843
EMail: casner@acm.org


Carsten Bormann
Universitaet Bremen TZI
Postfach 330440
D-28334 Bremen, Germany

Phone: +49 421 218 7024
Fax:   +49 421 218 7000
EMail: cabo@tzi.org

the legal bit, kept complete ๐Ÿ’… copyright is held by The Internet Society, 2002, all rights reserved ๐ŸŒˆ you're allowed to copy and share this document, and to make derivative works that comment on or explain it or help implement it. you can publish and distribute those copies and works, in whole or in part, without restriction of any kind, as long as the copyright notice and this paragraph stay on every copy and derivative work ๐ŸŽ€

the document itself can't be modified in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. the one exception is when it's needed for developing Internet standards, in which case the copyright procedures in the Internet Standards process have to be followed. translating it into languages other than English is also allowed ๐Ÿ”ฅ the permissions above are perpetual and won't be revoked by the Internet Society or its successors or assigns ๐Ÿ’œ

and the disclaimer, verbatim, because it matters ๐Ÿ‘€

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement ๐ŸŒธ

last but not least, the funding note ๐Ÿงš the RFC Editor function is currently funded by the Internet Society โœจ

๐Ÿ“ฆ where this page comes from