RFC 7310
RTP Payload Format for Standard apt-X and Enhanced apt-X Codecs
RFC 7310: RTP Payload Format for Standard apt-X and Enhanced apt-X Codecs ๐
okay bestie, this RFC is a Standards Track doc from the IETF (Internet Engineering Task Force) ๐ . It was written by J. Lindsay and H. Foerster, both from APT Ltd, and it's dated July 2014 ๐ธ. It's RFC number 7310 and has ISSN 2070-1721. The header doesn't list any RFCs it obsoletes or updates, so it stands on its own โจ.
Abstract โจ
okay so this doc explains how to pack Standard apt-X or Enhanced apt-X encoded audio into Real-time Transport Protocol (RTP) packets ๐ฆ. It describes a payload format that can carry several related audio channels in one RTP payload, and it also explains how to set up Standard apt-X and Enhanced apt-X connections using the Session Description Protocol (SDP) ๐ง. main character energy, honestly ๐ฆ.
Status of This Memo ๐
this is an Internet Standards Track document ๐ฅ.
it's a product of the Internet Engineering Task Force (IETF) and it represents the consensus of the IETF community ๐ซถ. it got public review and was approved for publication by the Internet Engineering Steering Group (IESG). if you want more on Internet Standards, check Section 2 of RFC 5741 ๐.
for the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc7310 ๐.
Copyright Notice โญ
copyright (c) 2014 IETF Trust and the persons identified as the document authors. all rights reserved ๐.
this document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the date of publication. please read these carefully, bestie, because they explain your rights and restrictions for this document ๐. code components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes ๐ฅ.
Table of Contents ๐ง
1. Introduction ....................................................2
2. Conventions .....................................................3
3. Standard apt-X and Enhanced apt-X Codecs ........................3
4. Payload Format Capabilities .....................................5
4.1. Use of Forward Error Correction (FEC) ......................5
5. Payload Format ..................................................5
5.1. RTP Header Usage ...........................................5
5.2. Payload Structure ..........................................6
5.3. Default Packetization Interval .............................7
5.4. Implementation Considerations ..............................8
5.5. Payload Example ............................................8
6. Payload Format Parameters ......................................10
6.1. Media Type Definition .....................................10
6.2. Mapping to SDP ............................................12
6.2.1. SDP Usage Examples .................................13
6.2.2. Offer/Answer Considerations ........................14
7. IANA Considerations ............................................14
8. Security Considerations ........................................14
9. Acknowledgements ...............................................14
10. References ....................................................15
10.1. Normative References .....................................15
10.2. Informative References ...................................15
1. Introduction ๐ธ
okay so this doc specifies the payload format for packing audio encoded with Standard apt-X or Enhanced apt-X audio coding algorithms into the Real-time Transport Protocol (RTP) [RFC3550] ๐ง.
it covers some conventions, a quick overview of how the audio codecs work, and what the payload format can do โจ. the RTP payload format is laid out in detail, and there's a relevant example. the media type, how it maps to SDP [RFC4566], and how it's used in the SDP offer/answer model are also specified. and finally, some security considerations are outlined ๐.
this document registers a media type (audio/aptx) for the RTP payload format for the Standard apt-X and Enhanced apt-X audio codecs ๐
.
2. Conventions ๐
this doc uses the normal IETF bit-order representation ๐ฆ. bit fields in figures are read left to right and then down. the leftmost bit in each field is the most significant one. numbering starts at 0 and goes up, so bit 0 is the most significant ๐.
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 [RFC2119] ๐ซถ.
3. Standard apt-X and Enhanced apt-X Codecs ๐ฅ
ngl, this section is a little spicy ๐ถ๏ธ. Standard apt-X and Enhanced apt-X are proprietary audio coding algorithms. you can license them from CSR plc., and they're widely deployed in all kinds of audio processing gear ๐๏ธ. for commercial reasons, their detailed internal operations aren't described in standards or reference documents ๐. the good news is that their data interfaces are super simple, so you can do easy RTP packetization of data coded with them without knowing the exact syntax of the coded audio stream โจ.
both algorithms are based on Adaptive Differential Pulse Code Modulation principles ๐. they produce a constant coded bit rate that scales with the sample frequency of the uncoded audio. this constant rate is 1/4 of the bit rate of the uncoded audio, no matter how many bits represent each uncoded audio sample ๐. for example, a 1.536-Mbit/s stereo audio stream made of two channels of 16-bit Pulse Code Modulated (PCM) audio sampled at 48 kHz gets encoded at 384 kbit/s ๐ญ.
Standard apt-X and Enhanced apt-X don't enforce a coded frame structure. the coded data is a continuous coded sample stream, and each coded sample can regenerate four PCM samples when decoded ๐ง. the Standard apt-X algorithm encodes four successive 16-bit PCM samples from each audio channel into a single 16-bit coded sample per audio channel. the Enhanced apt-X algorithm encodes four successive 16-bit or 24-bit PCM samples from each audio channel, and it produces a single 16-bit or 24-bit coded sample per channel respectively. the same RTP packetization rules apply to each of these variations ๐ .
Standard apt-X and Enhanced apt-X coded data streams can optionally carry synchronization information and an auxiliary data channel inside the coded audio data, with no extra overhead ๐. this can be handy when the IP system is cascaded with another transport system and the decoder is acting as a simple bridge between the two. since the auxiliary data channel and synchronization info ride inside the coded audio with no extra overhead, the RTP payload format rules don't change when they're present โจ. out-of-band signaling is still required, though, to tell the receiver when autosync and auxiliary data have been embedded in the apt-X stream ๐.
embedded auxiliary data is typically used to carry non-audio data and timecode info for syncing with video ๐ฌ.
the bit rate of the auxiliary data channel is 1/4 of the sample frequency. for example, with a single audio channel encoded at Fs = 48 kHz, an auxiliary data bit rate of 12 kbit/s can be embedded ๐.
apt-X also lets you stereo-pair apt-X channels, so the embedded autosync and auxiliary data channel can be shared across the pair ๐ฏ. for a 1.536-Mbit/s stereo audio stream of two channels of 16-bit PCM audio sampled at 48 kHz, one byte of auxiliary data would typically be fed into the Standard apt-X or Enhanced apt-X encoder once every 32 uncoded left channel samples ๐ธ. apt-X channel-pairing is not enabled by default. out-of-band signaling is required to tell the receiver when the option is being used ๐.
Standard apt-X and Enhanced apt-X decoders that haven't been set up with the correct embedded autosync, auxiliary data, and stereo-pairing info will play out uncoded PCM samples, and the decoding quality will drop. with Standard apt-X, the quality loss can be significant ๐ญ.
if you want more details on how the algorithm works, you can get them from CSR plc. here's their info ๐ฎ:
Corporate HQ
Churchill House
Cambridge Business Park
Cowley Road
Cambridge
CB4 0WZ
UK
Tel: +44 1223 692000
Fax: +44 1223 692001
<http://www.csr.com>
4. Payload Format Capabilities ๐ฆ
this RTP payload format carries an integer number of Standard apt-X or Enhanced apt-X coded audio samples ๐. when multiple related audio channels are conveyed in the payload, each channel contributes the same integer number of apt-X coded audio samples to the total carried by the payload ๐.
4.1. Use of Forward Error Correction (FEC) ๐ก๏ธ
Standard apt-X and Enhanced apt-X don't inherently provide any mechanism for adding redundancy or error-control coding to the coded audio stream ๐. generic RTP schemes can add redundant info to Standard apt-X and Enhanced apt-X RTP packet streams, like forward error correction described in RFC 5109 [RFC5109] and RFC 2733 [RFC2733]. this makes the stream more resilient to packet losses, but at the expense of a higher bit rate ๐ .
5. Payload Format ๐
the Standard apt-X and Enhanced apt-X algorithms encode four successive PCM samples from each audio channel and produce a single compressed sample for each audio channel ๐ง. the encoder MUST be presented with an integer number S of input audio samples, where S is an arbitrary multiple of 4 โจ. the encoder will produce exactly S/4 coded audio samples. each coded audio sample is either 16 or 24 bits, so the amount of coded audio data produced on each invocation of the encoding process will be an integer number of bytes ๐. RTP packetization of the encoded data SHALL be on a byte-by-byte basis ๐ฅ.
5.1. RTP Header Usage ๐ฆ
using the Standard apt-X and Enhanced apt-X coding algorithms doesn't create any special requirements for the contents of the RTP packet header ๐. the other RTP packet header fields are defined as follows:
- V - As per [RFC3550]
- P - As per [RFC3550]
- X - As per [RFC3550]
- CC - As per [RFC3550]
- M - As per [RFC3550] and [RFC3551] Section 4.1
- PT - A dynamic payload type; MUST be used [RFC3551]
- SN (sequence number) - As per [RFC3550]
- Timestamp - As per [RFC3550]. The RTP timestamp reflects the instant at which the first audio sample in the packet was sampled, that is, the oldest information in the packet โฐ.
header field abbreviations are defined as follows ๐:
- V - Version Number
- P - Padding
- X - Extensions
- CC - Count of contributing sources
- M - Marker
- PT - Payload Type
- PS - Payload Structure
5.2. Payload Structure โจ
okay bestie, this part is all about how the bits actually get packed into the payload ๐ The RTP payload data for Standard apt-X and Enhanced apt-X MUST be structured as follows. no skipping this one ๐ซถ
The coded samples get packed back to back into the payload octets in "network byte order", which is also called big-endian order, starting with the most significant bit ๐ง Samples go in time sequence, oldest first. And an integer number of coded samples MUST be within the same packet, so no sample gets split across packets ๐
When you've got multiple channels (like a stereo program) multiplexed into one RTP stream, the coded samples from each channel at one sampling instant get interleaved into a coded sample block, following the standard audio channel ordering from [RFC3551] ๐ Then those sample blocks get packed in time sequence too, oldest block first. It's giving organized ๐
l left
r right
c center
S surround
F front
R rear
channels description channel
1 2 3 4 5 6
___________________________________________________
2 stereo l r
3 l r c
4 l c r S
5 Fl Fr Fc Sl Sr
6 l lc c r rc S
For the two-channel example, the sample order goes (left channel, first sample), (right channel, first sample), (left channel, second sample), (right channel, second sample) ๐ฆ Coded samples for all channels that belong to a single coded sampling instant MUST be contained in the same packet. And all channels in the same RTP stream MUST be sampled at the same frequency. no mixing rates in one stream, periodt ๐ฅ
5.3. Default Packetization Interval ๐ธ
The default packetization interval MUST have a duration of 4 milliseconds โฑ๏ธ If you can't fit a whole number of coded samples per channel into that 4-millisecond window, the default packet interval MUST be rounded down to the nearest packet interval that can hold a complete integer set of coded samples. For example, when encoding audio with either Standard apt-X or Enhanced apt-X at 11025 Hz, 22050 Hz, or 44100 Hz, the packetization interval MUST be rounded down to 3.99 milliseconds ๐
So why 4 ms? Packetization interval is basically the knob for end-to-end delay. Shorter packets cut the audio delay through a system but cost more bandwidth. Longer packets have less header overhead, but they add delay and make packet loss more noticeable ๐ญ A default of 4 milliseconds keeps a nice ratio of payload to header bytes and keeps the delay low enough for interactive apps built on apt-X ๐ All implementations MUST support this default packetization interval. non-negotiable, bestie โจ
5.4. Implementation Considerations ๐งโโ๏ธ
An application that implements this payload format MUST understand all the payload parameters defined in this specification. Any mapping of these parameters to a signaling protocol MUST support all parameters ๐ Implementations can always decide whether they can talk to each other based on the entities defined in this specification. so the spec is the source of truth, iykyk ๐ซถ
5.5. Payload Example ๐ฆ
okay so here's a fun example ๐ Imagine a 5.1 audio signal with six channels of 24-bit PCM data, sampled at 48 kHz and packetized on a 4 millisecond RTP packet interval. The total bit rate before audio coding is 6 * 24 * 48000 = 6.912 Mbit/s. Applying Enhanced apt-X coding with a coded sample size of 24 bits gives a transmitted coded bit rate of 1/4 of the uncoded bit rate, i.e., 1.728 Mbit/s ๐คฏ With 4 millisecond packet intervals, each packet holds 864 bytes of encoded data, which is 48 Enhanced apt-X coded samples per channel. ate ๐ฐ
Next up, the diagram shows how the coded samples from each channel get packed into a sample block, and how sample blocks 1, 2, and 48 get packed into the RTP packet ๐ Here's the legend first:
C:
Channel index: Left (l) = 1, left center (lc) = 2,
center (c) = 3, right (r) = 4, right center (rc) = 5,
and surround (S) = 6.
T:
Sample Block time index: The first sample block is 1; the final
sample is 48.
S(C)(T):
The Tth sample from channel C.
And here's the packet layout for the first few blocks ๐
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(1)(1) | S(2)(1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(2)(1) | S(3)(1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(3)(1) | S(4)(1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(5)(1) | S(6)(1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(6)(1) | S(1)(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(2)(2) | S(3)(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(4)(2) | S(5)(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(5)(2) | S(6)(2) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(6)(2) | S(1)(3) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(6)(47) | S(1)(48) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(1)(48) | S(2)(48) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(3)(48) | S(4)(48) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(4)(48) | S(5)(48) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| S(5)(48) | S(6)(48) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Then there's a second diagram showing the order the coded bytes get packed into the payload, by byte significance for each 24-bit coded sample. The abbreviations are below ๐ง
MSB:
Most Significant Byte of a 24-bit coded sample
MB:
Middle Byte of a 24-bit coded sample
LSB:
Least Significant Byte of a 24-bit coded sample
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MSB | MB | LSB | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6. Payload Format Parameters ๐
okay this is the registration part ๐ This RTP payload format is identified using the media type audio/aptx. It's registered in accordance with [RFC4855] and uses the template of [RFC6838] ๐
6.1. Media Type Definition ๐
Here's the registration template, copied exactly as the spec has it:
Type name: audio
Subtype name: aptx
Required parameters:
...
Okay, the full template is a little long, so here are the parameters explained in my own words, with the exact names kept ๐ซถ
Required parameters:
rate: This is the RTP timestamp clock rate, which equals the sampling rate in Hz. RECOMMENDED values are 8000, 11025, 16000, 22050, 24000, 32000, 44100, and 48000 samples per second. Other values are permissible ๐channels: The number of logical audio channels present in the audio stream ๐งvariant: The variant of apt-X being used, either Standard or Enhanced. These can be signaled as:
variant=standard
variant=enhanced
bitresolution: The number of bits the algorithm uses to encode four PCM samples. This value MAY only be set to 16 for Standard apt-X, and 16 or 24 for Enhanced apt-X ๐ฅ
Optional parameters:
ptime: The recommended length of time (in milliseconds) represented by the media in a packet. It defaults to 4 milliseconds. See Section 6 of [RFC4566] โฑ๏ธmaxptime: The maximum amount of media that can be encapsulated in each packet, expressed as time in milliseconds. See Section 6 of [RFC4566] ๐stereo-channel-pairs: This defines which audio channels are stereo paired in the stream. See Section 3. Each pair is two comma-separated values that correspond to channel numbers in the range 1..channels. Each stereo pair is wrapped in{and}, and pairs are separated by a comma. A channel MUST NOT be paired with more than one other channel. If this parameter is absent, each channel has been independently encoded ๐ฏembedded-autosync-channels: This defines the channels that carry embedded autosync, as a list of comma-separated channel numbers in the range 1..channels. When a channel is stereo paired, embedded autosync is shared across the pair. The first channel as defined instereo-channel-pairsMUST be specified in theembedded-autosync-channelslist ๐ฆembedded-aux-channels: This defines the channels that carry embedded auxiliary data, as a list of comma-separated channel numbers in the range 1..channels. When a channel is stereo paired, embedded auxiliary data is shared across the pair. The second channel as defined instereo-channel-pairsMUST be specified in theembedded-aux-channelslist ๐ธ
And now the rest of the registration fields, verbatim ๐
Encoding considerations: This media type is framed in RTP and
contains binary data; see Section 4.8 of [RFC6838].
Security considerations: See Section 5 of [RFC4855] and Section 4
of [RFC4856].
Interoperability considerations: none
Published specification: RFC 7310
Applications which use this media type: Audio streaming
Fragment identifier considerations: None
Additional information: none
Person & email address to contact for further information:
John Lindsay <Lindsay@worldcastsystems.com>
Intended usage: COMMON
Restrictions on usage: This media type depends on RTP framing,
and hence is only defined for transfer via RTP [RFC3550].
Author/Change controller: IETF Payload Working Group delegated
from the IESG.
6.2. Mapping to SDP โจ
okay so this part is where the media type details get mapped onto SDP ๐ (the [RFC4566] stuff that most RTP sessions use to describe themselves). bestie, the mapping is very specific, so pay attention! When SDP describes a session, the media type pieces go like this:
- The type name ("audio") goes in SDP "m=" as the media name. ๐ฆ
- The subtype name ("aptx") goes in SDP "a=rtpmap" as the encoding name. ๐
- The parameter "rate" also goes in "a=rtpmap" as the clock rate. โจ
- The parameter "channels" also goes in "a=rtpmap" as the channel count. ๐ธ
- The parameter "maxptime", when present, MUST be included in the SDP "a=maxptime" attribute. ๐ฅ
- The required parameters "variant" and "bitresolution" MUST be included in the SDP "a=fmtp" attribute. ๐
- The optional parameters "stereo-channel-pairs", "embedded-autosync-channels", and "embedded-aux-channels", when present, MUST be included in the SDP "a=fmtp" attribute. ๐
- The parameter "ptime", when present, goes in a separate SDP attribute field and is signaled as
a=ptime:<value>, where <value> is the number of milliseconds of audio represented by one RTP packet. See Section 6 of [RFC4566]. ๐ง
6.2.1. SDP Usage Examples
okay the examples are the best part, no cap ๐ญ these show apt-X encodings in actual SDP. The long "a=fmtp" lines are folded so they fit the column width of this document, so don't panic when you see a line break in the middle of one.
Example 1: a Standard apt-X stream that encodes two independent 44.1-kHz 16-bit PCM channels into a 4-millisecond RTP packet. ๐
m=audio 5004 RTP/AVP 98
a=rtpmap:98 aptx/44100/2
a=fmtp:98 variant=standard; bitresolution=16;
a=ptime:4
Example 2: an Enhanced apt-X stream that encodes two 48-kHz 24-bit stereo channels into a 4-millisecond RTP packet and carries both an embedded autosync and auxiliary data channel. โจ
m=audio 5004 RTP/AVP 98
a=rtpmap:98 aptx/48000/2
a=fmtp:98 variant=enhanced; bitresolution=24;
stereo-channel-pairs={1,2}; embedded-autosync-channels=1;
embedded-aux-channels=2
a=ptime:4
Example 3: an Enhanced apt-X stream that encodes six 44.1-kHz 24-bit channels into a 6-millisecond RTP packet. Channels 1,2 and 3,4 are stereo pairs. Both stereo pairs carry both an embedded autosync and auxiliary data channel. ๐
m=audio 5004 RTP/AVP 98
a=rtpmap:98 aptx/44100/6
a=fmtp:98 variant=enhanced; bitresolution=24;
stereo-channel-pairs={1,2},{3,4}; embedded-autosync-channels=1,3;
embedded-aux-channels=2,4
a=ptime:6
6.2.2. Offer/Answer Considerations
okay this one is about offers and answers ๐ซถ and honestly it's giving very strict. The only negotiable parameter is the delivery method. Everything else is declarative, so it just states what's true and doesn't get bargained over. The offer, as described in [RFC3264], may contain a large number of delivery methods per single fmtp attribute. ngl that's a lot of options in one line ๐
The answerer MUST remove every delivery method and configuration URI that is not supported. ๐ฅ Apart from this one exceptional case, all parameters MUST NOT be altered on answer. ๐ โโ๏ธ So the answerer only ever cuts out the stuff it can't handle, and that's it.
7. IANA Considerations ๐ธ
One media type (audio/aptx) has been registered in the "Media Types" registry. See Section 6.1. ๐
8. Security Considerations ๐
okay bestie, this section is serious, so I'm keeping every bit of it. ๐
RTP packets using the payload format defined in this specification are subject to the security considerations discussed in the RTP specification [RFC3550] and any appropriate RTP profile (for example, [RFC3551]). This implies that confidentiality of the media streams is achieved by encryption. Because the audio coding used with this payload format is applied end to end, encryption may be performed after audio coding so there is no conflict between the two operations.
A potential denial-of-service threat exists for audio coding techniques that have non-uniform receiver-end computational load. The attacker can inject pathological datagrams into the stream that are complex to decode and cause the receiver to be overloaded. However, the Standard apt-X and Enhanced apt-X audio coding algorithms do not exhibit any significant non-uniformity. โจ
As with any IP-based protocol, in some circumstances a receiver may be overloaded simply by the receipt of too many packets, either desired or undesired. Network-layer authentication may be used to discard packets from undesired sources, but the processing cost of the authentication itself may be too high. In a multicast environment, pruning of specific sources may be implemented in future versions of IGMP [RFC3376] and in multicast routing protocols to allow a receiver to select which sources are allowed to reach it.
[RFC6562] has highlighted potential security vulnerabilities of Variable Bit Rate (VBR) codecs using Secure RTP transmission methods. As the Standard apt-X and Enhanced apt-X codecs are Constant Bit Rate (CBR) codecs, this security vulnerability is therefore not applicable. ๐ฆ phew, that one's a relief!
9. Acknowledgements ๐ซถ
This specification was facilitated by earlier documents produced by Greg Massey, David Trainer, James Hunter, and Derrick Rea, along with practical tests carried out by Paul McCambridge of APT Ltd. ๐ huge thanks to all of them!
10. References ๐
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551,
July 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
10.2. Informative References
[RFC2733] Rosenberg, J. and H. Schulzrinne, "An RTP Payload Format
for Generic Forward Error Correction", RFC 2733,
December 1999.
[RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
Thyagarajan, "Internet Group Management Protocol,
Version 3", RFC 3376, October 2002.
[RFC4855] Casner, S., "Media Type Registration of RTP Payload
Formats", RFC 4855, February 2007.
[RFC4856] Casner, S., "Media Type Registration of Payload Formats in
the RTP Profile for Audio and Video Conferences",
RFC 4856, February 2007.
[RFC5109] Li, A., Ed., "RTP Payload Format for Generic Forward Error
Correction", RFC 5109, December 2007.
[RFC6562] Perkins, C. and JM. Valin, "Guidelines for the Use of
Variable Bit Rate Audio with Secure RTP", RFC 6562,
March 2012.
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13,
RFC 6838, January 2013.
Authors' Addresses ๐
John Lindsay
APT Ltd
729 Springfield Road
Belfast
Northern Ireland
BT12 7FP
UK
Phone: +44 2890 677200
EMail: Lindsay@worldcastsystems.com
Hartmut Foerster
APT Ltd
729 Springfield Road
Belfast
Northern Ireland
BT12 7FP
UK
Phone: +44 2890 677200
EMail: Foerster@worldcastsystems.com
๐ฆ where this page comes from
- ietf: rfc7310 2014-07
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms