Skip to content

Commit 05d20cc

Browse files
authored
Merge pull request #18 from youennf/editorial-minor-tigthening
Fix typos and rename SFrame RTP header to SFrame payload description
2 parents 0860aa0 + 97a1cf0 commit 05d20cc

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

draft-ietf-avtcore-rtp-sframe.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ The encrypted data can be of arbitrary length and is larger than the unencrypted
6969
The overhead can be up to 16 bytes.
7070

7171
An SFrame ciphertext having an arbitrary long length, an application may decide to partition the data encrypted with SFrame
72-
small enough so that the SFrame ciphertext fits in a single RTP packet.
72+
into pieces small enough that the SFrame ciphertext fits in a single RTP packet.
7373
We call this per-packet SFrame.
7474
This has the advantage of allowing to decrypt the content as soon as received.
7575

@@ -106,13 +106,13 @@ The general RTP payload format for SFrame is depicted below.
106106
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
107107
~~~
108108

109-
The first byte of the RTP payload is the SFrame RTP header.
109+
The first byte of the RTP payload is the SFrame payload descriptor.
110110

111-
The S bit of the SFrame RTP header MUST be 0 for all fragments except for the first one of the SFrame frame.
111+
The S bit of the SFrame payload descriptor MUST be 0 for all fragments except for the first one of the SFrame frame.
112112

113-
The E bit of the SFrame RTP header MUST be 0 for all fragments except for the last one of the SFrame frame.
113+
The E bit of the SFrame payload descriptor MUST be 0 for all fragments except for the last one of the SFrame frame.
114114

115-
The 6 remaining bits of the SFrame RTP header are reserved for future use.
115+
The 6 remaining bits of the SFrame payload descriptor are reserved for future use.
116116

117117
The payload type (PT) identifies the format of the media encrypted with SFrame.
118118

@@ -131,16 +131,16 @@ For per-packet SFrame, the following processing is done, with a media frame as i
131131
1. Generate a group of RTP media packets from the media frame using a media-format-specific packetizer.
132132
The media-format-specific packetizer needs to be made aware of the SFrame overhead that happens to each RTP packet.
133133
2. For each RTP packet of the group, encrypt its payload with SFrame.
134-
3. Prepend to each RTP packet payload a SFrame RTP header with the S and E bits set to 1.
134+
3. Prepend to each RTP packet payload a SFrame payload descriptor with the S and E bits set to 1.
135135
4. Send each RTP packet of the group.
136136

137137
For per-frame SFrame, the following processing is done, with a media frame as input:
138138

139139
1. Generate a SFrame ciphertext from the media frame data.
140140
2. Fragment the SFrame ciphertext in a group of payloads so that RTP packets generated from them do not exceed the network maximum transmission unit size.
141-
3. Prepend a zero byte as the SFrame RTP header to all payloads of the group.
142-
4. Set the first bit S of the SFrame RTP header of the first packet to 1.
143-
5. Set the second bit E of the SFrame RTP header of the last packet to 1.
141+
3. Prepend a zero byte as the SFrame payload descriptor to all payloads of the group.
142+
4. Set the first bit S of the SFrame payload descriptor of the first packet to 1.
143+
5. Set the second bit E of the SFrame payload descriptor of the last packet to 1.
144144
6. Generate a group of RTP packets from the group of payloads, using the media frame to generate the RTP header, including RTP header extensions.
145145
7. Send each RTP packet of the RTP packet group.
146146

@@ -149,16 +149,16 @@ For per-frame SFrame, the following processing is done, with a media frame as in
149149
Reception of SFrame packets is done as follows:
150150

151151
1. The fragments of a given SFrame ciphertext are grouped together in order of the RTP sequence number,
152-
the first packet of the group having its S bit set to 1 and the last packet of the group havint its E bit set to 1.
153-
All packets in between the first and last needs to be in the group.
152+
the first packet of the group having its S bit set to 1 and the last packet of the group having its E bit set to 1.
153+
All packets between the first and last need to be in the group.
154154
2. Concatenate the payloads of all packets of the group to form the SFrame ciphertext.
155155
3. Decrypt the SFrame ciphertext to obtain the media decrypted data.
156156
4. If per-packet SFrame is being used, the following processing is done:
157-
1. assert that the group of packets consist of a single packet.
157+
1. Assert that the group of packets consists of a single packet.
158158
2. Set the media decrypted data as the payload of the packet and send the packet to the media-format-specific RTP depacketizer.
159159
3. If the depacketizer cannot generate a media frame yet, abort these steps. Otherwise, generate a media frame from the depacketizer.
160160
5. If per-frame SFrame is being used, the following processing is done:
161-
1. assert that the group of packets all have the same payload type.
161+
1. Assert that the group of packets all have the same payload type.
162162
2. Extract the media metadata from the group of packets.
163163
3. Generate a media frame from the media decrypted data and the media metadata.
164164
6. Send the media frame to the receiving pipeline.
@@ -173,19 +173,19 @@ endpoint is expecting to receive RTP packets encrypted with SFrame for that medi
173173

174174
Once each peer has verified that the other party expects to receive SFrame RTP packets, senders are expected to send SFrame encrypted RTP packets.
175175
If one peer expects to use SFrame for a media section and identifies that the other peer does not support it, the peer
176-
is expected to stop the transceiver associated to the media section, which will generate a zero port for that m-section.
176+
is expected to stop the transceiver associated with the media section, which will generate a zero port for that m-section.
177177

178178
When SFrame is in use for that media section, it will apply to the relevant media encodings defined for that media section.
179-
This includes RTP payload types bound to media packetizers and media depacketizers as defined in {{!RFC7656}}, typically audio formats such as Opus and RTP video formats such as H264.
179+
This includes RTP payload types bound to media packetizers and media depacketizers as defined in {{!RFC7656}}, typically audio formats such as Opus and RTP video formats such as H264.
180180
This notably includes RTP payload types representing {{WebRTC_Encoded_Transform}} [encoded video frame formats](https://w3c.github.io/webrtc-encoded-transform/#dom-rtcencodedvideoframe-data) and [encoded audio frame formats](https://w3c.github.io/webrtc-encoded-transform/#dom-rtcencodedaudioframe-data).
181181

182-
This does not include RTP-Based Redundancy mechanisms as defined in {!RFC7656}}.
183-
For instance, RTX defined in {{!RFC4588}} will retransmit SFrame based packets.
182+
This does not include RTP-Based Redundancy mechanisms as defined in {{!RFC7656}}.
183+
For instance, RTX defined in {{!RFC4588}} will retransmit SFrame-based packets.
184184
Forward error correction formats as defined in {{!RFC5109}} will protect the encrypted content.
185185
For Redundant Audio Data, known as RED, as defined in {{!RFC2198}}, a RED packetizer will take as input SFrame encrypted media data instead of unencrypted media data.
186186

187187
If BUNDLE is in use and the "a=sframe" attribute is present for a media section but not for another media section of the same BUNDLE,
188-
payload types for media encodings that are relevant for SFrame MUST not be reused between the two media sections.
188+
payload types for media encodings that are relevant for SFrame MUST NOT be reused between the two media sections.
189189

190190
Questions:
191191

0 commit comments

Comments
 (0)