Skip to content

Commit 77f9946

Browse files
author
Guido Urdaneta
committed
Add receiveTime field to RTCEncodedVideoFrameMetadata and RTCEncodedAudioFrameMetadata
Drive-by: Fix bugs preventing proper translation of the spec.
1 parent 4b61373 commit 77f9946

File tree

1 file changed

+32
-9
lines changed

1 file changed

+32
-9
lines changed

index.bs

+32-9
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ dictionary RTCEncodedVideoFrameMetadata {
358358
sequence<unsigned long> contributingSources;
359359
long long timestamp; // microseconds
360360
unsigned long rtpTimestamp;
361+
DOMHighResTimeStamp receiveTime;
361362
DOMString mimeType;
362363
};
363364
</pre>
@@ -371,7 +372,7 @@ dictionary RTCEncodedVideoFrameMetadata {
371372
<dd>
372373
<p>
373374
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.
375+
16 bits match the frame_number of the AV1 Dependency Descriptor Header Extension defined in Appendix A of [[AV1-RTP-SPEC]], if present.
375376
Only present for received frames if the Dependency Descriptor Header Extension is present.
376377
</p>
377378
</dd>
@@ -381,7 +382,7 @@ dictionary RTCEncodedVideoFrameMetadata {
381382
<dd>
382383
<p>
383384
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.
385+
Only present for received frames if the AV1 Dependency Descriptor Header Extension defined in Appendix A of [[AV1-RTP-SPEC]] is present.
385386
</p>
386387
</dd>
387388
<dt>
@@ -431,6 +432,17 @@ dictionary RTCEncodedVideoFrameMetadata {
431432
that reflects the sampling instant of the first octet in the RTP data packet.
432433
</p>
433434
</dd>
435+
<dt>
436+
<dfn dict-member>receiveTime</dfn> <span class=
437+
"idlMemberType">DOMHighResTimeStamp</span>
438+
</dt>
439+
<dd>
440+
<p>
441+
For frames coming from an RTCRtpReceiver, represents the timestamp
442+
of the last received packet used to produce this video frame. This
443+
timestamp is relative to {{Performance}}.{{Performance/timeOrigin}}.
444+
</p>
445+
</dd>
434446
<dt>
435447
<dfn dict-member>mimeType</dfn> <span class="idlMemberType">DOMString</span>
436448
</dt>
@@ -460,7 +472,7 @@ interface RTCEncodedVideoFrame {
460472
};
461473
</pre>
462474

463-
### Constructor ### {#RTCEncodedVideoFrame-members}
475+
### Constructor ### {#RTCEncodedVideoFrame-constructor}
464476
<dl dfn-for="RTCEncodedVideoFrame" class="dictionary-members">
465477
<dt>
466478
<dfn for="RTCEncodedVideoFrame" method>constructor()</dfn>
@@ -506,11 +518,6 @@ interface RTCEncodedVideoFrame {
506518
{{RTCEncodedVideoFrameMetadata/mimeType}}.
507519
For <a href="https://w3c.github.io/webrtc-svc/">SVC</a>, each spatial layer
508520
is transformed separately.
509-
<p class="note">
510-
Since packetizers may drop certain elements, e.g. AV1 temporal delimiter OBUs,
511-
the input to an receive-side transform may be different from the output of
512-
a send-side transform.
513-
</p>
514521
The following table gives a number of examples:
515522
</p>
516523
<table class="simple">
@@ -565,6 +572,11 @@ interface RTCEncodedVideoFrame {
565572
</tr>
566573
</tbody>
567574
</table>
575+
<p class="note">
576+
Since packetizers may drop certain elements, e.g. AV1 temporal delimiter OBUs,
577+
the input to an receive-side transform may be different from the output of
578+
a send-side transform.
579+
</p>
568580
</dd>
569581
</dl>
570582

@@ -611,6 +623,7 @@ dictionary RTCEncodedAudioFrameMetadata {
611623
sequence&lt;unsigned long&gt; contributingSources;
612624
short sequenceNumber;
613625
unsigned long rtpTimestamp;
626+
DOMHighResTimeStamp receiveTime;
614627
DOMString mimeType;
615628
};
616629
</pre>
@@ -664,6 +677,16 @@ dictionary RTCEncodedAudioFrameMetadata {
664677
that reflects the sampling instant of the first octet in the RTP data packet.
665678
</p>
666679
</dd>
680+
<dt>
681+
<dfn dict-member>receiveTime</dfn> <span class=
682+
"idlMemberType">DOMHighResTimeStamp</span>
683+
</dt>
684+
<dd>
685+
<p>
686+
For frames coming from an RTCRtpReceiver, represents the timestamp
687+
of the last received packet used to produce this audio frame. This
688+
timestamp is relative to {{Performance}}.{{Performance/timeOrigin}}.
689+
</p>
667690
<dt>
668691
<dfn dict-member>mimeType</dfn> <span class="idlMemberType">DOMString</span>
669692
</dt>
@@ -689,7 +712,7 @@ interface RTCEncodedAudioFrame {
689712
};
690713
</pre>
691714

692-
### Constructor ### {#RTCEncodedAudioFrame-members}
715+
### Constructor ### {#RTCEncodedAudioFrame-constructor}
693716
<dl dfn-for="RTCEncodedAudioFrame" class="dictionary-members">
694717
<dt>
695718
<dfn for="RTCEncodedAudioFrame" method>constructor()</dfn>

0 commit comments

Comments
 (0)