rfc9627v1.txt | rfc9627.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) J. Lennox | Internet Engineering Task Force (IETF) J. Lennox | |||
Request for Comments: 9627 D. Hong | Request for Comments: 9627 8x8 / Jitsi | |||
Category: Standards Track Vidyo | Category: Standards Track D. Hong | |||
ISSN: 2070-1721 J. Uberti | ISSN: 2070-1721 Vidyo | |||
J. Uberti | ||||
S. Holmer | S. Holmer | |||
M. Flodman | M. Flodman | |||
August 2024 | February 2025 | |||
The Layer Refresh Request (LRR) RTCP Feedback Message | The Layer Refresh Request (LRR) RTCP Feedback Message | |||
Abstract | Abstract | |||
This memo describes the RTCP Payload-Specific Feedback Message Layer | This memo describes the RTCP Payload-Specific Feedback Message Layer | |||
Refresh Request (LRR), which can be used to request a state refresh | Refresh Request (LRR), which can be used to request a state refresh | |||
of one or more substreams of a layered media stream. It also defines | of one or more substreams of a layered media stream. This document | |||
its use with several RTP payloads for scalable media formats. | also defines its use with several RTP payloads for scalable media | |||
formats. | ||||
Status of This Memo | Status of This Memo | |||
This is an Internet Standards Track document. | This is an Internet Standards Track document. | |||
This document is a product of the Internet Engineering Task Force | This document is a product of the Internet Engineering Task Force | |||
(IETF). It represents the consensus of the IETF community. It has | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | Internet Standards is available in Section 2 of RFC 7841. | |||
Information about the current status of this document, any errata, | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | and how to provide feedback on it may be obtained at | |||
https://www.rfc-editor.org/info/rfc9627. | https://www.rfc-editor.org/info/rfc9627. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Revised BSD License text as described in Section 4.e of the | include Revised BSD License text as described in Section 4.e of the | |||
Trust Legal Provisions and are provided without warranty as described | Trust Legal Provisions and are provided without warranty as described | |||
skipping to change at line 73 ¶ | skipping to change at line 75 ¶ | |||
7. Security Considerations | 7. Security Considerations | |||
8. IANA Considerations | 8. IANA Considerations | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
9.2. Informative References | 9.2. Informative References | |||
Authors' Addresses | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
This memo describes an RTCP [RFC3550] Payload-Specific Feedback | This memo describes an RTCP [RFC3550] Payload-Specific Feedback | |||
Message [RFC4585] Layer Refresh Request (LRR). It is designed to | Message [RFC4585] "Layer Refresh Request" (LRR), which is designed to | |||
allow a receiver of a layered media stream to request that one or | allow a receiver of a layered media stream to request that one or | |||
more of its substreams be refreshed such that it can then be decoded | more of its substreams be refreshed. The stream can then be decoded | |||
by an endpoint that previously was not receiving those layers, | by an endpoint that previously was not receiving those layers, | |||
without requiring that the entire stream be refreshed (as it would be | without requiring that the entire stream be refreshed (as it would be | |||
if the receiver sent a Full Intra Request (FIR) [RFC5104]; see also | if the receiver sent a Full Intra Request (FIR) [RFC5104]; see also | |||
[RFC8082]). | [RFC8082]). | |||
The feedback message is applicable to both temporally and spatially | The feedback message is applicable to both temporally and spatially | |||
scaled streams and to both single-stream and multi-stream scalability | scaled streams and to both single-stream and multi-stream scalability | |||
modes. | modes. | |||
2. Conventions and Terminology | 2. Conventions and Terminology | |||
skipping to change at line 126 ¶ | skipping to change at line 128 ¶ | |||
The spatial layer refresh of an enhancement layer is shown below. | The spatial layer refresh of an enhancement layer is shown below. | |||
The "<--" indicates a coding dependency. | The "<--" indicates a coding dependency. | |||
... <-- S1 <-- S1 S1 <-- S1 <-- ... | ... <-- S1 <-- S1 S1 <-- S1 <-- ... | |||
| | | | | | | | | | |||
\/ \/ \/ \/ | \/ \/ \/ \/ | |||
... <-- S0 <-- S0 <-- S0 <-- S0 <-- ... | ... <-- S0 <-- S0 <-- S0 <-- S0 <-- ... | |||
1 2 3 4 | 1 2 3 4 | |||
Figure 1 | Figure 1: Refresh of a Spatial Enhancement Layer | |||
In Figure 1, frame 3 is a layer refresh point for spatial layer S1; a | In Figure 1, frame 3 is a layer refresh point for spatial layer S1; a | |||
decoder that had previously only been decoding spatial layer S0 would | decoder that had previously only been decoding spatial layer S0 would | |||
be able to decode layer S1 starting at frame 3. | be able to decode layer S1 starting at frame 3. | |||
The spatial layer refresh of a base layer is shown below. The "<--" | The spatial layer refresh of a base layer is shown below. The "<--" | |||
indicates a coding dependency. | indicates a coding dependency. | |||
... <-- S1 <-- S1 <-- S1 <-- S1 <-- ... | ... <-- S1 <-- S1 <-- S1 <-- S1 <-- ... | |||
| | | | | | | | | | |||
\/ \/ \/ \/ | \/ \/ \/ \/ | |||
... <-- S0 <-- S0 S0 <-- S0 <-- ... | ... <-- S0 <-- S0 S0 <-- S0 <-- ... | |||
1 2 3 4 | 1 2 3 4 | |||
Figure 2 | Figure 2: Refresh of a Spatial Base Layer | |||
In Figure 2, frame 3 is a layer refresh point for spatial layer S0; a | In Figure 2, frame 3 is a layer refresh point for spatial layer S0; a | |||
decoder that had previously not been decoding the stream at all could | decoder that had previously not been decoding the stream at all could | |||
decode layer S0 starting at frame 3. | decode layer S0 starting at frame 3. | |||
For temporal layers, while normal encoding allows frames to depend on | For temporal layers, while normal encoding allows frames to depend on | |||
earlier frames of the same temporal layer, layer refresh requires | earlier frames of the same temporal layer, layer refresh requires | |||
that the layer be "temporally nested", i.e., use as reference only | that the layer be "temporally nested", i.e., use as reference only | |||
earlier frames of a lower temporal layer, not any earlier frames of | earlier frames of a lower temporal layer, not any earlier frames of | |||
this temporal layer and promise that no future frames of this | this temporal layer and promise that no future frames of this | |||
skipping to change at line 168 ¶ | skipping to change at line 170 ¶ | |||
The temporal layer refresh is shown below. The "<--" indicates a | The temporal layer refresh is shown below. The "<--" indicates a | |||
coding dependency. | coding dependency. | |||
... <----- T1 <------ T1 T1 <------ ... | ... <----- T1 <------ T1 T1 <------ ... | |||
/ / / | / / / | |||
|_ |_ |_ | |_ |_ |_ | |||
... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... | ... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... | |||
1 2 3 4 5 6 7 | 1 2 3 4 5 6 7 | |||
Figure 3 | Figure 3: Refresh of a Temporal Layer | |||
In Figure 3, frame 6 is a layer refresh point for temporal layer T1; | In Figure 3, frame 6 is a layer refresh point for temporal layer T1; | |||
a decoder that had previously only been decoding temporal layer T0 | a decoder that had previously only been decoding temporal layer T0 | |||
would be able to decode layer T1 starting at frame 6. | would be able to decode layer T1 starting at frame 6. | |||
An inherently temporally nested stream is shown below. The "<--" | An inherently temporally nested stream is shown below. The "<--" | |||
indicates a coding dependency. | indicates a coding dependency. | |||
T1 T1 T1 | T1 T1 T1 | |||
/ / / | / / / | |||
|_ |_ |_ | |_ |_ |_ | |||
... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... | ... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... | |||
1 2 3 4 5 6 7 | 1 2 3 4 5 6 7 | |||
Figure 4 | Figure 4: An Inherently Temporally-Nested Stream | |||
In Figure 4, the stream is temporally nested in its ordinary | In Figure 4, the stream is temporally nested in its ordinary | |||
structure; a decoder receiving layer T0 can begin decoding layer T1 | structure; a decoder receiving layer T0 can begin decoding layer T1 | |||
at any point. | at any point. | |||
A "layer index" is a numeric label for a specific spatial and | A "layer index" is a numeric label for a specific spatial and | |||
temporal layer of a scalable stream. It consists of both a "temporal | temporal layer of a scalable stream. It consists of both a "temporal | |||
ID" identifying the temporal layer and a "layer ID" identifying the | ID" identifying the temporal layer and a "layer ID" identifying the | |||
spatial or quality layer. The details of how layers of a scalable | spatial or quality layer. The details of how layers of a scalable | |||
stream are labeled are codec specific. Details for several codecs | stream are labeled are codec specific. Details for several codecs | |||
skipping to change at line 236 ¶ | skipping to change at line 238 ¶ | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SSRC | | | SSRC | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Seq nr. |C| Payload Type| Reserved | | | Seq nr. |C| Payload Type| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| RES | TTID| TLID | RES | CTID| CLID | | | RES | TTID| TLID | RES | CTID| CLID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 5 | Figure 5: Layer Refresh Request FCI Format | |||
Synchronization Source (SSRC) (32 bits): | Synchronization Source (SSRC) (32 bits): | |||
The SSRC value of the media sender that is requested to send a | The SSRC value of the media sender that is requested to send a | |||
layer refresh point. | layer refresh point. | |||
Seq nr. (8 bits): | Seq nr. (8 bits): | |||
The command sequence number. The sequence number space is unique | The command sequence number. The sequence number space is unique | |||
for each pairing of the SSRC of command source and the SSRC of the | for each pairing of the SSRC of command source and the SSRC of the | |||
command target. The sequence number SHALL be increased by 1 for | command target. The sequence number SHALL be increased by 1 for | |||
each new command (modulo 256, so the value after 255 is 0). A | each new command (modulo 256, so the value after 255 is 0). A | |||
skipping to change at line 292 ¶ | skipping to change at line 294 ¶ | |||
If C is 1, the layer ID of the current spatial or quality layer | If C is 1, the layer ID of the current spatial or quality layer | |||
being decoded by the receiver. This message is not requesting | being decoded by the receiver. This message is not requesting | |||
refresh of layers at or below this layer. If C is 0, this field | refresh of layers at or below this layer. If C is 0, this field | |||
SHALL be set to 0 by the sender and SHALL be ignored on reception. | SHALL be set to 0 by the sender and SHALL be ignored on reception. | |||
When C is 1, TTID MUST NOT be less than CTID, and TLID MUST NOT be | When C is 1, TTID MUST NOT be less than CTID, and TLID MUST NOT be | |||
less than CLID; at least one of either TTID or TLID MUST be greater | less than CLID; at least one of either TTID or TLID MUST be greater | |||
than CTID or CLID, respectively. That is to say, the target layer | than CTID or CLID, respectively. That is to say, the target layer | |||
index <TTID, TLID> MUST be a layer upgrade from the current layer | index <TTID, TLID> MUST be a layer upgrade from the current layer | |||
index <CTID, CLID>. A sender MAY request an upgrade in both temporal | index <CTID, CLID>. A sender MAY request an upgrade in both temporal | |||
and spatial/quality layers simultaneously. | and spatial or quality layers simultaneously. | |||
A receiver receiving an LRR feedback packet that does not satisfy the | A receiver receiving an LRR feedback packet that does not satisfy the | |||
requirements of the previous paragraph, i.e., one where the C bit is | requirements of the previous paragraph, i.e., one where the C bit is | |||
present but the TTID is less than the CTID or the TLID is less than | present but the TTID is less than the CTID or the TLID is less than | |||
the CLID, MUST discard the request. | the CLID, MUST discard the request. | |||
Note: the syntax of the TTID, TLID, CTID, and CLID fields match, by | | Note: The syntax of the TTID, TLID, CTID, and CLID fields | |||
design, the TID and LID fields in [RFC9626]. | | match, by design, the TID and LID fields in [RFC9626]. | |||
3.2. Semantics | 3.2. Semantics | |||
Within the common packet header for feedback messages (as defined in | Within the common packet header for feedback messages (as defined in | |||
Section 6.1 of [RFC4585]), the "SSRC of packet sender" field | Section 6.1 of [RFC4585]), the "SSRC of packet sender" field | |||
indicates the source of the request, and the "SSRC of media source" | indicates the source of the request, and the "SSRC of media source" | |||
is not used and SHALL be set to 0. The SSRCs of the media senders to | is not used and SHALL be set to 0. The SSRCs of the media senders to | |||
which the LRR command applies are in the corresponding FCI entries. | which the LRR command applies are in the corresponding FCI entries. | |||
An LRR message MAY contain requests to multiple media senders, using | An LRR message MAY contain requests to multiple media senders, using | |||
one FCI entry per target media sender. | one FCI entry per target media sender. | |||
skipping to change at line 336 ¶ | skipping to change at line 338 ¶ | |||
previously had been discarding. | previously had been discarding. | |||
4. Usage with Specific Codecs | 4. Usage with Specific Codecs | |||
In order for an LRR to be used with a scalable codec, the format of | In order for an LRR to be used with a scalable codec, the format of | |||
the temporal and layer ID fields (for both the target and current | the temporal and layer ID fields (for both the target and current | |||
layer indices) needs to be specified for that codec's RTP | layer indices) needs to be specified for that codec's RTP | |||
packetization. New RTP packetization specifications for scalable | packetization. New RTP packetization specifications for scalable | |||
codecs SHOULD define how this is done. (The VP9 payload [RFC9628], | codecs SHOULD define how this is done. (The VP9 payload [RFC9628], | |||
for instance, has done so.) If the payload also specifies how it is | for instance, has done so.) If the payload also specifies how it is | |||
used with the Frame Marking RTP Header Extension [RFC9626], the | used with the Video Frame Marking RTP Header Extension described in | |||
syntax MUST be defined in the same manner as the TID and LID fields | [RFC9626], the syntax MUST be defined in the same manner as the TID | |||
in that header. | and LID fields in that header. | |||
4.1. H264 SVC | 4.1. H264 SVC | |||
H.264 SVC [RFC6190] defines temporal, dependency (spatial), and | H.264 SVC [RFC6190] defines temporal, dependency (spatial), and | |||
quality scalability modes. | quality scalability modes. | |||
+---------------+---------------+ | +---------------+---------------+ | |||
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| | |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| RES | TID |R| DID | QID | | | RES | TID |R| DID | QID | | |||
+---------------+---------------+ | +---------------+---------------+ | |||
Figure 6 | Figure 6: H.264 SVC Layer Index Fields Format | |||
Figure 6 shows the format of the layer index fields for H.264 SVC | Figure 6 shows the format of the layer index fields for H.264 SVC | |||
streams. The "R" and "RES" fields MUST be set to 0 on transmission | streams. The "R" and "RES" fields MUST be set to 0 on transmission | |||
and ignored on reception. See Section 1.1.3 of [RFC6190] for details | and ignored on reception. See Section 1.1.3 of [RFC6190] for details | |||
on the dependency_id (DID), quality_id (QID), and temporal_id (TID) | on the dependency_id (DID), quality_id (QID), and temporal_id (TID) | |||
fields. | fields. | |||
A dependency or quality layer refresh of a given layer in H.264 SVC | A dependency or quality layer refresh of a given layer in H.264 SVC | |||
can be identified by the "I" bit (idr_flag) in the extended Network | can be identified by the "I" bit (idr_flag) in the extended Network | |||
Abstraction Layer (NAL) unit header, present in NAL unit types 14 | Abstraction Layer (NAL) unit header, present in NAL unit types 14 | |||
skipping to change at line 411 ¶ | skipping to change at line 413 ¶ | |||
The VP8 RTP payload format [RFC7741] defines temporal scalability | The VP8 RTP payload format [RFC7741] defines temporal scalability | |||
modes. It does not support spatial scalability. | modes. It does not support spatial scalability. | |||
+---------------+---------------+ | +---------------+---------------+ | |||
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| | |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| RES | TID | RES | | | RES | TID | RES | | |||
+---------------+---------------+ | +---------------+---------------+ | |||
Figure 7 | Figure 7: VP8 Layer Index Field Format | |||
Figure 7 shows the format of the layer index field for VP8 streams. | Figure 7 shows the format of the layer index field for VP8 streams. | |||
The "RES" fields MUST be set to 0 on transmission and be ignored on | The "RES" fields MUST be set to 0 on transmission and be ignored on | |||
reception. See Section 4.2 of [RFC7741] for details on the TID | reception. See Section 4.2 of [RFC7741] for details on the TID | |||
field. | field. | |||
A VP8 layer refresh point can be identified by the presence of the | A VP8 layer refresh point can be identified by the presence of the | |||
"Y" bit in the VP8 payload header. When this bit is set, this and | "Y" bit in the VP8 payload header. When this bit is set, this and | |||
all subsequent frames depend only on the current base temporal layer. | all subsequent frames depend only on the current base temporal layer. | |||
On receipt of an LRR for a VP8 stream, a sender that supports LRRs | On receipt of an LRR for a VP8 stream, a sender that supports LRRs | |||
skipping to change at line 445 ¶ | skipping to change at line 447 ¶ | |||
temporal scalability, with protocol elements reserved for spatial or | temporal scalability, with protocol elements reserved for spatial or | |||
other scalability modes (which are expected to be defined in a future | other scalability modes (which are expected to be defined in a future | |||
version of the specification). | version of the specification). | |||
+---------------+---------------+ | +---------------+---------------+ | |||
|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| | |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| RES | TID |RES| LayerId | | | RES | TID |RES| LayerId | | |||
+---------------+---------------+ | +---------------+---------------+ | |||
Figure 8 | Figure 8: H.265 Layer Index Fields Format | |||
Figure 8 shows the format of the layer index field for H.265 streams. | Figure 8 shows the format of the layer index field for H.265 streams. | |||
The "RES" fields MUST be set to 0 on transmission and ignored on | The "RES" fields MUST be set to 0 on transmission and ignored on | |||
reception. See Section 1.1.4 of [RFC7798] for details on the LayerId | reception. See Section 1.1.4 of [RFC7798] for details on the LayerId | |||
and TID fields. | and TID fields. | |||
H.265 streams signal whether they are temporally nested by using the | H.265 streams signal whether they are temporally nested by using the | |||
vps_temporal_id_nesting_flag in the Video Parameter Set (VPS) and the | vps_temporal_id_nesting_flag in the Video Parameter Set (VPS) and the | |||
sps_temporal_id_nesting_flag in the Sequence Parameter Set (SPS). If | sps_temporal_id_nesting_flag in the Sequence Parameter Set (SPS). If | |||
this flag is set in a stream's currently applicable VPS or SPS, | this flag is set in a stream's currently applicable VPS or SPS, | |||
skipping to change at line 488 ¶ | skipping to change at line 490 ¶ | |||
spatial layer refresh of a specific layer can be identified by NAL | spatial layer refresh of a specific layer can be identified by NAL | |||
units with the requested layer ID and NAL unit types between 16 and | units with the requested layer ID and NAL unit types between 16 and | |||
21, inclusive. A dependency or quality layer refresh is complete | 21, inclusive. A dependency or quality layer refresh is complete | |||
once NAL units of this type have been seen on all the appropriate | once NAL units of this type have been seen on all the appropriate | |||
layers (in decoding order) above the current layer index (if any, or | layers (in decoding order) above the current layer index (if any, or | |||
beginning from the base layer if not) through the target layer index. | beginning from the base layer if not) through the target layer index. | |||
5. Usage with Different Scalability Transmission Mechanisms | 5. Usage with Different Scalability Transmission Mechanisms | |||
Several different mechanisms are defined for how scalable streams can | Several different mechanisms are defined for how scalable streams can | |||
be transmitted in RTP. The RTP Taxonomy (Section 3.7 of [RFC7656]) | be transmitted in RTP. Section 3.7 of "A Taxonomy of Semantics and | |||
Mechanisms for Real-Time Transport Protocol (RTP) Sources" [RFC7656] | ||||
defines three mechanisms: Single RTP stream on a Single media | defines three mechanisms: Single RTP stream on a Single media | |||
Transport (SRST), Multiple RTP streams on a Single media Transport | Transport (SRST), Multiple RTP streams on a Single media Transport | |||
(MRST), and Multiple RTP streams on Multiple media Transports (MRMT). | (MRST), and Multiple RTP streams on Multiple media Transports (MRMT). | |||
The LRR message is applicable to all these mechanisms. For MRST and | The LRR message is applicable to all these mechanisms. For MRST and | |||
MRMT mechanisms, the "media source" field of the LRR FCI is set to | MRMT mechanisms, the "media source" field of the LRR FCI is set to | |||
the SSRC of the RTP stream containing the layer indicated by the | the SSRC of the RTP stream containing the layer indicated by the | |||
Current Layer Index (if "C" is 1) or the stream containing the base | Current Layer Index (if "C" is 1) or the stream containing the base | |||
encoded stream (if "C" is 0). For MRMT, it is sent on the RTP | encoded stream (if "C" is 0). For MRMT, the LRR message is sent on | |||
session on which this stream is sent. On receipt, the sender MUST | the RTP session on which this stream is sent. On receipt, the sender | |||
refresh all the layers requested in the stream, simultaneously in | MUST refresh all the layers requested in the stream, simultaneously | |||
decode order. | in decode order. | |||
6. SDP Definitions | 6. SDP Definitions | |||
Section 7 of [RFC5104] defines Session Description Protocol (SDP) | Section 7 of [RFC5104] defines Session Description Protocol (SDP) | |||
procedures for indicating and negotiating support for Codec Control | procedures for indicating and negotiating support for Codec Control | |||
Messages (CCM) in SDP. This document extends this with a new codec | Messages (CCM) in SDP. This document extends this with a new codec | |||
control command, "lrr", which indicates support of the LRR. | control command, "lrr", which indicates support of the LRR. | |||
Figure 9 gives a formal Augmented Backus-Naur Form (ABNF) [RFC5234] | Figure 9 gives a formal Augmented Backus-Naur Form (ABNF) [RFC5234] | |||
showing this grammar extension, extending the grammar defined in | showing this grammar extension, extending the grammar defined in | |||
skipping to change at line 625 ¶ | skipping to change at line 628 ¶ | |||
<https://www.rfc-editor.org/info/rfc8082>. | <https://www.rfc-editor.org/info/rfc8082>. | |||
[RFC9628] Lennox, J., Hong, D., Uberti, J., Holmer, S., and M. | [RFC9628] Lennox, J., Hong, D., Uberti, J., Holmer, S., and M. | |||
Flodman, "The Layer Refresh Request (LRR) RTCP Feedback | Flodman, "The Layer Refresh Request (LRR) RTCP Feedback | |||
Message", RFC 9628, DOI 10.17487/RFC9628, August 2024, | Message", RFC 9628, DOI 10.17487/RFC9628, August 2024, | |||
<https://www.rfc-editor.org/info/rfc9628>. | <https://www.rfc-editor.org/info/rfc9628>. | |||
Authors' Addresses | Authors' Addresses | |||
Jonathan Lennox | Jonathan Lennox | |||
Vidyo, Inc. | 8x8, Inc. / Jitsi | |||
433 Hackensack Avenue | Jersey City, NJ 07302 | |||
Seventh Floor | ||||
Hackensack, NJ 07601 | ||||
United States of America | United States of America | |||
Email: jonathan@vidyo.com | Email: jonathan.lennox@8x8.com | |||
Danny Hong | Danny Hong | |||
Vidyo, Inc. | Vidyo, Inc. | |||
433 Hackensack Avenue | 433 Hackensack Avenue | |||
Seventh Floor | Seventh Floor | |||
Hackensack, NJ 07601 | Hackensack, NJ 07601 | |||
United States of America | United States of America | |||
Email: danny@vidyo.com | Email: danny@vidyo.com | |||
Justin Uberti | Justin Uberti | |||
End of changes. 21 change blocks. | ||||
33 lines changed or deleted | 34 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |