Skip to content

Commit eb2b452

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 eb2b452

File tree

1 file changed

+135
-2
lines changed

1 file changed

+135
-2
lines changed

index.bs

Lines changed: 135 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,27 @@ 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+
"ITU-G.711": {
44+
"href": "https://www.itu.int/rec/T-REC-G.711/",
45+
"title": "G.711 : Pulse code modulation (PCM) of voice frequencies",
46+
"publisher": "ITU"
47+
},
48+
"ITU-G.722": {
49+
"href": "https://www.itu.int/rec/T-REC-G.722/",
50+
"title": "G.722: 7 kHz audio-coding within 64 kbit/s",
51+
"publisher": "ITU"
3152
}
3253
}
3354
</pre>
@@ -435,8 +456,63 @@ interface RTCEncodedVideoFrame {
435456
</dt>
436457
<dd>
437458
<p>
438-
The encoded frame data.
459+
The encoded frame data. The format of the data depends on the video codec that is
460+
used to encode the frame which can be determined by looking at the
461+
{{RTCEncodedVideoFrameMetadata/mimeType}}. The following table defines this for
462+
a number of codecs.
439463
</p>
464+
<table class="simple">
465+
<thead>
466+
<tr>
467+
<th>mimeType</th><th>Data format</th>
468+
</tr>
469+
</thead>
470+
<tbody>
471+
<tr>
472+
<td>
473+
video/VP8
474+
</td>
475+
<td>
476+
The data starts with the "uncompressed data chunk" defined in
477+
<a href="https://datatracker.ietf.org/doc/html/rfc6386#section-9.1">
478+
section 9.1</a> of [[RFC6386]] and is followed by the rest of the
479+
frame data. The <a href="https://www.rfc-editor.org/rfc/rfc7741#section-4.1">
480+
VP8 payload descriptor</a> is not accessible.
481+
</td>
482+
</tr>
483+
<tr>
484+
<td>
485+
video/VP9
486+
</td>
487+
<td>
488+
The data is a frame as described in Section 6 of [[VP9]]. The
489+
<a href="https://datatracker.ietf.org/doc/html/draft-ietf-payload-vp9#section-4.2">
490+
VP9 payload descriptor</a> is not accessible.
491+
</td>
492+
</tr>
493+
<tr>
494+
<td>
495+
video/H264
496+
</td>
497+
<td>
498+
The data is a series of NAL units in Annex B format,
499+
as defined in [[ITU-T-REC-H.265]] Annex B.
500+
</td>
501+
</tr>
502+
<tr>
503+
<td>
504+
video/AV1
505+
</td>
506+
<td>
507+
The data is a series of OBUs compliant to the
508+
<a href="https://aomediacodec.github.io/av1-spec/#low-overhead-bitstream-format">
509+
low-overhead bitstream format</a> as described in Section 5 of [[AV1]].
510+
The <a href="https://aomediacodec.github.io/av1-rtp-spec/#41-rtp-header-usage">
511+
AV1 aggregation header</a> is not accessible.
512+
</td>
513+
</tr>
514+
</tbody>
515+
</table>
440516
</dd>
441517
</dl>
442518

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

0 commit comments

Comments
 (0)