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
275
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]]`.
276
+
1. Set |this|.`[[transform]]` to a new {{TransformStream}}.
277
+
1. <a dfn for="ReadableStream">Set up</a>[=this=].`[[transform]]` with [=TransformStream/set up/transformAlgorithm=] set to |transformAlgorithm|.
278
+
1. Let |options| be the method's first argument.
279
+
1. Set |this|.`[[role]]` to |options|["{{SFrameTransformOptions/role}}"].
280
+
1. Set |this|.`[[cipherSuite]]` to |options|["{{SFrameTransformOptions/cipherSuite}}"].
281
+
1. Set |this|.`[[readable]]` to |this|.`[[transform]]`.`[[readable]]`.
282
+
1. Set |this|.`[[writable]]` to |this|.`[[transform]]`.`[[writable]]`.
278
283
279
284
## Algorithm ## {#sframe-transform-algorithm}
280
285
@@ -287,7 +292,7 @@ The SFrame transform algorithm, given |sframe| as a SFrameTransform object and |
287
292
1. If |frame| is a {{RTCEncodedAudioFrame}}, set |data| to |frame|.{{RTCEncodedAudioFrame/data}}
288
293
1. If |frame| is a {{RTCEncodedVideoFrame}}, set |data| to |frame|.{{RTCEncodedVideoFrame/data}}
289
294
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}}.
295
+
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
296
1. If the SFrame algorithm exits abruptly with an error, [=queue a task=] to run the following sub steps:
292
297
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
298
using the {{SFrameTransformErrorEvent}} interface with its {{SFrameTransformErrorEvent/errorType}} attribute set to {{SFrameTransformErrorEventType/syntax}}
@@ -309,7 +314,7 @@ The <dfn method for="SFrameTransform">setEncryptionKey(|key|, |keyID|)</dfn> met
309
314
1. Let |promise| be [=a new promise=].
310
315
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
316
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>.
317
+
1. Set |key| with its optional |keyID| as key material to use for the SFrame transform algorithm, as defined by [[RFC9605]].
313
318
2. If setting the key material fails, [=reject=] |promise| with an {{InvalidModificationError}} exception and abort these steps.
0 commit comments