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.
314
320
3. [=Resolve=] |promise| with undefined.
315
321
4. Return |promise|.
@@ -945,7 +951,7 @@ Each RTCRtpScriptTransform has the following set of [$association steps$], given
945
951
1. Set |transformer|.`[[encoder]]` to |encoder|.
946
952
1. Set |transformer|.`[[depacketizer]]` to |depacketizer|.
947
953
948
-
The <dfn method for="RTCRtpScriptTransform">sendKeyFrameRequest()</dfn> method steps are:
954
+
The <dfn method for="RTCRtpScriptTransformer">sendKeyFrameRequest()</dfn> method steps are:
949
955
1. Let |promise| be a new promise.
950
956
1. Run the [$send request key frame algorithm$] with |promise| and |this|.`[[depacketizer]]`.
951
957
1. Return |promise|.
@@ -959,15 +965,15 @@ This allows algorithms to go from an {{RTCRtpScriptTransformer}} object to its {
959
965
The <dfn attribute for="RTCRtpScriptTransformer">options</dfn> getter steps are:
960
966
1. Return [=this=].`[[options]]`.
961
967
962
-
The <dfn attribute for="RTCRtpScriptTransform">readable</dfn> getter steps are:
968
+
The <dfn attribute for="RTCRtpScriptTransformer">readable</dfn> getter steps are:
963
969
1. Return [=this=].`[[readable]]`.
964
970
965
-
The <dfn attribute for="RTCRtpScriptTransform">writable</dfn> getter steps are:
971
+
The <dfn attribute for="RTCRtpScriptTransformer">writable</dfn> getter steps are:
966
972
1. Return [=this=].`[[writable]]`.
967
973
968
-
The <dfn attribute for="RTCRtpScriptTransform">onbandwidthestimate</dfn> EventHandler has type bandwidthestimate.
974
+
The <dfn attribute for="RTCRtpScriptTransformer">onbandwidthestimate</dfn> EventHandler has type bandwidthestimate.
969
975
970
-
The <dfn attribute for="RTCRtpScriptTransform">onkeyframerequest</dfn> EventHandler has type keyframerequest.
976
+
The <dfn attribute for="RTCRtpScriptTransformer">onkeyframerequest</dfn> EventHandler has type keyframerequest.
0 commit comments