@@ -142,7 +142,7 @@ The <dfn abstract-op>writeEncodedData</dfn> algorithm is given a |rtcObject| as
142
142
1. Set |rtcObject|.`[[lastReceivedFrameCounter]] ` to |frame|`[[counter]] `.
143
143
1. Let |data| be |frame|.`[[data]] `.
144
144
1. Let |serializedFrame| be [$StructuredSerializeWithTransfer$] (|frame|, « |data| »).
145
- 1. Let |frameCopy| be [$StructuredDeserialize $] (|serializedFrame|, |frame|'s [=relevant realm=] ).
145
+ 1. Let |frameCopy| be [$StructuredDeserializeWithTransfer $] (|serializedFrame|, |frame|'s [=relevant realm=] ).
146
146
1. Enqueue |frameCopy| for processing as if it came directly from the encoded data source, by running one of the following steps:
147
147
* If |rtcObject| is a {{RTCRtpSender}} , enqueue |frameCopy| to |rtcObject|'s packetizer, to be processed [=in parallel=] .
148
148
* If |rtcObject| is a {{RTCRtpReceiver}} , enqueue |frameCopy| it to |rtcObject|'s decoder, to be processed [=in parallel=] .
@@ -371,7 +371,7 @@ dictionary RTCEncodedVideoFrameMetadata {
371
371
<dd>
372
372
<p>
373
373
An identifier for the encoded frame, monotonically increasing in decode order. Its lower
374
- 16 bits match the frame_number of the AV1 Dependency Descriptor Header Extension defined in Appendix A of [[? AV1-RTP-SPEC]] , if present.
374
+ 16 bits match the frame_number of the AV1 Dependency Descriptor Header Extension defined in Appendix A of [[AV1-RTP-SPEC]] , if present.
375
375
Only present for received frames if the Dependency Descriptor Header Extension is present.
376
376
</p>
377
377
</dd>
@@ -381,7 +381,7 @@ dictionary RTCEncodedVideoFrameMetadata {
381
381
<dd>
382
382
<p>
383
383
List of frameIds of frames this frame references.
384
- Only present for received frames if the AV1 Dependency Descriptor Header Extension defined in Appendix A of [[? AV1-RTP-SPEC]] is present.
384
+ Only present for received frames if the AV1 Dependency Descriptor Header Extension defined in Appendix A of [[AV1-RTP-SPEC]] is present.
385
385
</p>
386
386
</dd>
387
387
<dt>
@@ -460,7 +460,7 @@ interface RTCEncodedVideoFrame {
460
460
};
461
461
</pre>
462
462
463
- ### Constructor ### {#RTCEncodedVideoFrame-members }
463
+ ### Constructor ### {#RTCEncodedVideoFrame-constructor }
464
464
<dl dfn-for="RTCEncodedVideoFrame" class="dictionary-members">
465
465
<dt>
466
466
<dfn for="RTCEncodedVideoFrame" method>constructor()</dfn>
@@ -506,11 +506,13 @@ interface RTCEncodedVideoFrame {
506
506
{{RTCEncodedVideoFrameMetadata/mimeType}} .
507
507
For <a href="https://w3c.github.io/webrtc-svc/">SVC</a> , each spatial layer
508
508
is transformed separately.
509
- <p class="note">
509
+ </p>
510
+ <p class="note">
510
511
Since packetizers may drop certain elements, e.g. AV1 temporal delimiter OBUs,
511
512
the input to an receive-side transform may be different from the output of
512
513
a send-side transform.
513
- </p>
514
+ </p>
515
+ <p>
514
516
The following table gives a number of examples:
515
517
</p>
516
518
<table class="simple">
@@ -582,19 +584,20 @@ interface RTCEncodedVideoFrame {
582
584
583
585
### Serialization ### {#RTCEncodedVideoFrame-serialization}
584
586
585
- {{RTCEncodedVideoFrame}} objects are serializable objects [[HTML] ] .
587
+ {{RTCEncodedVideoFrame}} objects are [= serializable objects= ] .
586
588
Their [=serialization steps=] , given |value|, |serialized|, and |forStorage|, are:
587
589
588
590
1. If |forStorage| is true, then throw a {{DataCloneError}} .
589
- 1. Set |serialized|.`[[type]] ` to the value of |value|.{{RTCEncodedVideoFrame/type}}
591
+ 1. Set |serialized|.`[[type]] ` to the value of |value|.{{RTCEncodedVideoFrame/type}} .
590
592
1. Set |serialized|.`[[metadata]] ` to an internal representation of |value|'s metadata.
591
- 1. Set |serialized|.`[[data]] ` to |value|.`[[data]] `
593
+ 1. Set |serialized|.`[[data]] ` to the [=sub-serialization=] of |value|.`[[data]] `.
594
+
592
595
593
596
Their [=deserialization steps=] , given |serialized|, |value| and |realm|, are:
594
597
595
- 1. Set |value|.{{RTCEncodedVideoFrame/type}} to |serialized|.`[[type]] `
596
- 1. Set |value|'s metadata to the platform object representation of |serialized|.`[[metadata]] `
597
- 1. Set |value|.`[[data]] ` to |serialized|.`[[data]] `.
598
+ 1. Set |value|.{{RTCEncodedVideoFrame/type}} to |serialized|.`[[type]] `.
599
+ 1. Set |value|'s metadata to the platform object representation of |serialized|.`[[metadata]] `.
600
+ 1. Set |value|.`[[data]] ` to the [=sub-deserialization=] of |serialized|.`[[data]] `.
598
601
599
602
<p class="note">
600
603
The internal form of a serialized RTCEncodedVideoFrame is not observable;
@@ -689,7 +692,7 @@ interface RTCEncodedAudioFrame {
689
692
};
690
693
</pre>
691
694
692
- ### Constructor ### {#RTCEncodedAudioFrame-members }
695
+ ### Constructor ### {#RTCEncodedAudioFrame-constructor }
693
696
<dl dfn-for="RTCEncodedAudioFrame" class="dictionary-members">
694
697
<dt>
695
698
<dfn for="RTCEncodedAudioFrame" method>constructor()</dfn>
@@ -808,17 +811,17 @@ interface RTCEncodedAudioFrame {
808
811
809
812
### Serialization ### {#RTCEncodedAudioFrame-serialization}
810
813
811
- {{RTCEncodedAudioFrame}} objects are serializable objects [[HTML] ] .
814
+ {{RTCEncodedAudioFrame}} objects are [= serializable objects= ] .
812
815
Their [=serialization steps=] , given |value|, |serialized|, and |forStorage|, are:
813
816
814
817
1. If |forStorage| is true, then throw a {{DataCloneError}} .
815
818
1. Set |serialized|.`[[metadata]] ` to an internal representation of |value|'s metadata.
816
- 1. Set |serialized|.`[[data]] ` to |value|.`[[data]] `
819
+ 1. Set |serialized|.`[[data]] ` to the [=sub-serialization=] of |value|.`[[data]] `.
817
820
818
821
Their [=deserialization steps=] , given |serialized|, |value| and |realm|, are:
819
822
820
823
1. Set |value|'s metadata to the platform object representation of |serialized|.`[[metadata]] `
821
- 1. Set |value|.`[[data]] ` to |serialized|.`[[data]] `.
824
+ 1. Set |value|.`[[data]] ` to the [=sub-deserialization=] of |serialized|.`[[data]] `.
822
825
823
826
## Interfaces ## {#RTCRtpScriptTransformer-interfaces}
824
827
<pre class="idl">
@@ -867,9 +870,9 @@ The <dfn constructor for="RTCRtpScriptTransform" lt="RTCRtpScriptTransform(worke
867
870
6. Let |serializedReadable| be the result of [$StructuredSerializeWithTransfer$] (|t1|.`[[readable]] `, « |t1|.`[[readable]] ` »).
868
871
7. Let |serializedWritable| be the result of [$StructuredSerializeWithTransfer$] (|t2|.`[[writable]] `, « |t2|.`[[writable]] ` »).
869
872
8. [=Queue a task=] on the DOM manipulation [=task source=] |worker|'s global scope to run the following steps:
870
- 1. Let |transformerOptions| be the result of [$StructuredDeserialize $] (|serializedOptions|, the current Realm).
871
- 2. Let |readable| be the result of [$StructuredDeserialize $] (|serializedReadable|, the current Realm).
872
- 3. Let |writable| be the result of [$StructuredDeserialize $] (|serializedWritable|, the current Realm).
873
+ 1. Let |transformerOptions| be the result of [$StructuredDeserializeWithTransfer $] (|serializedOptions|, the current Realm).
874
+ 2. Let |readable| be the result of [$StructuredDeserializeWithTransfer $] (|serializedReadable|, the current Realm).
875
+ 3. Let |writable| be the result of [$StructuredDeserializeWithTransfer $] (|serializedWritable|, the current Realm).
873
876
4. Let |transformer| be a new {{RTCRtpScriptTransformer}} .
874
877
5. Set |transformer|.`[[options]] ` to |transformerOptions|.
875
878
6. Set |transformer|.`[[readable]] ` to |readable|.
0 commit comments