Skip to content

Commit 1e64c87

Browse files
committed
Describe "data" attribute
With #140 merged it is now actually possible to describe what data is for a number of codecs that may be supported.
1 parent 32f00c2 commit 1e64c87

File tree

1 file changed

+140
-2
lines changed

1 file changed

+140
-2
lines changed

index.bs

+140-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,32 @@ spec:webidl; type:dfn; text:resolve
2828
"href":
2929
"https://www.ietf.org/archive/id/draft-ietf-sframe-enc-00.html",
3030
"title": "Secure Frame (SFrame)"
31+
},
32+
"VP9": {
33+
"href":
34+
"https://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf",
35+
"title": "VP9 Bitstream & Decoding Process Specification",
36+
"publisher": "The WebM Project"
37+
},
38+
"ITU-T-REC-H.265": {
39+
"href": "https://www.itu.int/rec/T-REC-H.265",
40+
"title": "H.265 : High efficiency video coding",
41+
"publisher": "ITU"
42+
},
43+
"OPUS": {
44+
"href": "https://datatracker.ietf.org/doc/html/rfc6716",
45+
"title": "RFC 6716: Definition of the Opus Audio Codec",
46+
"publisher": "IETF"
47+
},
48+
"ITU-G.711": {
49+
"href": "https://www.itu.int/rec/T-REC-G.711/",
50+
"title": "G.711 : Pulse code modulation (PCM) of voice frequencies",
51+
"publisher": "ITU"
52+
},
53+
"ITU-G.722": {
54+
"href": "https://www.itu.int/rec/T-REC-G.722/",
55+
"title": "G.722: 7 kHz audio-coding within 64 kbit/s",
56+
"publisher": "ITU"
3157
}
3258
}
3359
</pre>
@@ -435,8 +461,63 @@ interface RTCEncodedVideoFrame {
435461
</dt>
436462
<dd>
437463
<p>
438-
The encoded frame data.
464+
The encoded frame data. The format of the data depends on the video codec that is
465+
used to encode the frame which can be determined by looking at the
466+
{{RTCEncodedVideoFrameMetadata/mimeType}}. The following table defines this for
467+
a number of codecs.
439468
</p>
469+
<table class="simple">
470+
<thead>
471+
<tr>
472+
<th>mimeType</th><th>Data format</th>
473+
</tr>
474+
</thead>
475+
<tbody>
476+
<tr>
477+
<td>
478+
video/VP8
479+
</td>
480+
<td>
481+
The data starts with the "uncompressed data chunk" defined in
482+
<a href="https://datatracker.ietf.org/doc/html/rfc6386#section-9.1">
483+
section 9.1</a> of [[RFC6386]] and is followed by the rest of the
484+
frame data. The <a href="https://www.rfc-editor.org/rfc/rfc7741#section-4.1">
485+
VP8 payload descriptor</a> is not accessible.
486+
</td>
487+
</tr>
488+
<tr>
489+
<td>
490+
video/VP9
491+
</td>
492+
<td>
493+
The data is a frame as described in Section 6 of [[VP9]]. The
494+
<a href="https://datatracker.ietf.org/doc/html/draft-ietf-payload-vp9#section-4.2">
495+
VP9 payload descriptor</a> is not accessible.
496+
</td>
497+
</tr>
498+
<tr>
499+
<td>
500+
video/H264
501+
</td>
502+
<td>
503+
The data is a series of NAL units in Annex B format,
504+
as defined in [[ITU-T-REC-H.265]] Annex B.
505+
</td>
506+
</tr>
507+
<tr>
508+
<td>
509+
video/AV1
510+
</td>
511+
<td>
512+
The data is a series of OBUs compliant to the
513+
<a href="https://aomediacodec.github.io/av1-spec/#low-overhead-bitstream-format">
514+
low-overhead bitstream format</a> as described in Section 5 of [[AV1]].
515+
The <a href="https://aomediacodec.github.io/av1-rtp-spec/#41-rtp-header-usage">
516+
AV1 aggregation header</a> is not accessible.
517+
</td>
518+
</tr>
519+
</tbody>
520+
</table>
440521
</dd>
441522
</dl>
442523

@@ -563,8 +644,65 @@ interface RTCEncodedAudioFrame {
563644
</dt>
564645
<dd>
565646
<p>
566-
The encoded frame data.
647+
The encoded frame data. The format of the data depends on the audio codec that is
648+
used to encode the frame which can be determined by looking at the
649+
{{RTCEncodedAudioFrameMetadata/mimeType}}. The following table defines this for
650+
a number of codecs.
567651
</p>
652+
<table class="simple">
653+
<thead>
654+
<tr>
655+
<th>mimeType</th><th>Data format</th>
656+
</tr>
657+
</thead>
658+
<tbody>
659+
<tr>
660+
<td>
661+
audio/opus
662+
</td>
663+
<td>
664+
The data is Opus packets, as described in
665+
<a href="https://datatracker.ietf.org/doc/html/rfc6716#section-3">section 3</a>
666+
of [[OPUS]].
667+
</td>
668+
</tr>
669+
<tr>
670+
<td>
671+
audio/PCMU
672+
</td>
673+
<td>
674+
The data is a sequence of bytes of arbitrary length, where each byte is a u-law
675+
encoded PCM sample as defined by Table 2a and 2b in [[ITU-G.711]].
676+
</td>
677+
</tr>
678+
<tr>
679+
<td>
680+
audio/PCMA
681+
</td>
682+
<td>
683+
The data is a sequence of bytes of arbitrary length, where each byte is
684+
an A-law encoded PCM sample as defined by Tables 1a and 1b in [[ITU-G.711]].
685+
</td>
686+
</tr>
687+
<tr>
688+
<td>
689+
audio/G722
690+
</td>
691+
<td>
692+
The data is G.722 audio as described in [[ITU-G.722]].
693+
</td>
694+
</tr>
695+
<tr>
696+
<td>
697+
audio/CN
698+
</td>
699+
<td>
700+
The data is Comfort Noise as described in <a href="https://www.rfc-editor.org/rfc/rfc3389#section-3">
701+
section 3</a> of [[RFC3389]].
702+
</td>
703+
</tr>
704+
</tbody>
705+
</table>
568706
</dd>
569707
</dl>
570708

0 commit comments

Comments
 (0)