You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The <dfn constructor for="SFrameTransform" lt="SFrameTransform(options)"><code>new SFrameTransform(<var>options</var>)</code></dfn> constructor steps are:
271
276
1. Let |transformAlgorithm| be an algorithm which takes a |frame| as input and runs the <a href="#sframe-transform-algorithm">SFrame transform algorithm</a> with |this| and |frame|.
272
-
2. Set |this|.`[[transform]]` to a new {{TransformStream}}.
273
-
3. <a dfn for="ReadableStream">Set up</a>[=this=].`[[transform]]` with [=TransformStream/set up/transformAlgorithm=] set to |transformAlgorithm|.
274
-
4. Let |options| be the method's first argument.
275
-
5. Set |this|.`[[role]]` to |options|["{{SFrameTransformOptions/role}}"].
276
-
6. Set |this|.`[[readable]]` to |this|.`[[transform]]`.`[[readable]]`.
277
-
7. Set |this|.`[[writable]]` to |this|.`[[transform]]`.`[[writable]]`.
277
+
1. Set |this|.`[[transform]]` to a new {{TransformStream}}.
278
+
1. <a dfn for="ReadableStream">Set up</a>[=this=].`[[transform]]` with [=TransformStream/set up/transformAlgorithm=] set to |transformAlgorithm|.
279
+
1. Let |options| be the method's first argument.
280
+
1. Set |this|.`[[role]]` to |options|["{{SFrameTransformOptions/role}}"].
281
+
1. Set |this|.`[[cipherSuite]]` to |options|["{{SFrameTransformOptions/cipherSuite}}"].
282
+
1. Set |this|.`[[readable]]` to |this|.`[[transform]]`.`[[readable]]`.
283
+
1. Set |this|.`[[writable]]` to |this|.`[[transform]]`.`[[writable]]`.
278
284
279
285
## Algorithm ## {#sframe-transform-algorithm}
280
286
@@ -287,7 +293,7 @@ The SFrame transform algorithm, given |sframe| as a SFrameTransform object and |
287
293
1. If |frame| is a {{RTCEncodedAudioFrame}}, set |data| to |frame|.{{RTCEncodedAudioFrame/data}}
288
294
1. If |frame| is a {{RTCEncodedVideoFrame}}, set |data| to |frame|.{{RTCEncodedVideoFrame/data}}
289
295
1. If |data| is undefined, abort these steps.
290
-
1. Let |buffer| be the result of running the SFrame algorithm with |data|and |role| as parameters. This algorithm is defined by the <a href="https://datatracker.ietf.org/doc/draft-omara-sframe/">SFrame specification</a> and returns an {{ArrayBuffer}}.
296
+
1. Let |buffer| be the result of running the SFrame algorithm with |data|, |sframe|.`[[cipherSuite]]`, and |role| as parameters. This algorithm is defined by [[RFC9605]] and returns an {{ArrayBuffer}}.
291
297
1. If the SFrame algorithm exits abruptly with an error, [=queue a task=] to run the following sub steps:
292
298
1. If the processing fails on decryption side due to |data| not following the SFrame format, [=fire an event=] named {{SFrameTransform/onerror|error}} at |sframe|,
293
299
using the {{SFrameTransformErrorEvent}} interface with its {{SFrameTransformErrorEvent/errorType}} attribute set to {{SFrameTransformErrorEventType/syntax}}
@@ -309,7 +315,7 @@ The <dfn method for="SFrameTransform">setEncryptionKey(|key|, |keyID|)</dfn> met
309
315
1. Let |promise| be [=a new promise=].
310
316
2. If |keyID| is a {{bigint}} which cannot be represented as a integer between 0 and 2<sup>64</sup>-1 inclusive, [=reject=] |promise| with a {{RangeError}} exception.
311
317
3. Otherwise, [=in parallel=], run the following steps:
312
-
1. Set |key| with its optional |keyID| as key material to use for the SFrame transform algorithm, as defined by the <a href="https://datatracker.ietf.org/doc/draft-omara-sframe/">SFrame specification</a>.
318
+
1. Set |key| with its optional |keyID| as key material to use for the SFrame transform algorithm, as defined by [[RFC9605]].
313
319
2. If setting the key material fails, [=reject=] |promise| with an {{InvalidModificationError}} exception and abort these steps.
0 commit comments