@@ -264,6 +264,7 @@ The <dfn method for="SFrameTransform">setEncryptionKey(|key|, |keyID|)</dfn> met
264264
265265# RTCRtpScriptTransform # {#scriptTransform}
266266
267+ ## <dfn>RTCEncodedVideoFrameType</dfn> dictionary ## {#RTCEncodedVideoFrameType}
267268<pre class="idl">
268269// New enum for video frame types. Will eventually re-use the equivalent defined
269270// by WebCodecs.
@@ -272,7 +273,51 @@ enum RTCEncodedVideoFrameType {
272273 "key",
273274 "delta",
274275};
275-
276+ </pre>
277+ <table data-link-for="RTCEncodedVideoFrameType" data-dfn-for=
278+ "RTCEncodedVideoFrameType" class="simple">
279+ <caption> {{RTCEncodedVideoFrameType}} Enumeration description</caption>
280+ <thead>
281+ <tr>
282+ <th> Enum value</th><th> Description</th>
283+ </tr>
284+ </thead>
285+ <tbody>
286+ <tr>
287+ <td>
288+ <dfn data-idl="">empty</dfn>
289+ </td>
290+ <td>
291+ <p>
292+ This frame contains no data.
293+ </p>
294+ </td>
295+ </tr>
296+ <tr>
297+ <td>
298+ <dfn data-idl="">key</dfn>
299+ </td>
300+ <td>
301+ <p>
302+ This frame can be decoded without reference to any other frames.
303+ </p>
304+ </td>
305+ </tr>
306+ <tr>
307+ <td>
308+ <dfn data-idl="">delta</dfn>
309+ </td>
310+ <td>
311+ <p>
312+ This frame references another frame and can not be decoded without that frame.
313+ </p>
314+ </td>
315+ </tr>
316+ </tbody>
317+ </table>
318+
319+ ## <dfn>RTCEncodedVideoFrameMetadata</dfn> dictionary ## {#RTCEncodedVideoFrameMetadata}
320+ <pre class="idl">
276321dictionary RTCEncodedVideoFrameMetadata {
277322 long long frameId;
278323 sequence<long long> dependencies;
@@ -284,18 +329,88 @@ dictionary RTCEncodedVideoFrameMetadata {
284329 octet payloadType;
285330 sequence<unsigned long> contributingSources;
286331};
332+ </pre>
333+
334+ ### Members ### {#RTCEncodedVideoFrameMetadata-members}
335+ <dl data-link-for="RTCEncodedVideoFrameMetadata"
336+ data-dfn-for="RTCEncodedVideoFrameMetadata"
337+ class="dictionary-members">
338+ <dt>
339+ <dfn>synchronizationSource</dfn> of type <span class="idlMemberType"> unsigned long</span>
340+ </dt>
341+ <dd>
342+ <p>
343+ The synchronization source (ssrc) identifier is an unsigned integer value per [[RFC3550]]
344+ used to identify the stream of RTP packets that the encoded frame object is describing.
345+ </p>
346+ </dd>
347+ <dt>
348+ <dfn>payloadType</dfn> of type <span class="idlMemberType"> octet</span>
349+ </dt>
350+ <dd>
351+ <p>
352+ The payload type is an unsigned integer value in the range from 0 to 127 per [[RFC3550]]
353+ that is used to describe the format of the RTP payload.
354+ </p>
355+ </dd>
356+ <dt>
357+ <dfn>contributingSources</dfn> of type <span class=
358+ "idlMemberType"> sequence<unsigned long></span>
359+ </dt>
360+ <dd>
361+ <p>
362+ The list of contribution sources (csrc list) as defined in [[RFC3550]] .
363+ </p>
364+ </dd>
365+ </dl>
366+
287367
368+ ## <dfn>RTCEncodedVideoFrame</dfn> interface ## {#RTCEncodedVideoFrame-interface}
369+ <pre class="idl">
288370// New interfaces to define encoded video and audio frames. Will eventually
289371// re-use or extend the equivalent defined in WebCodecs.
290372[Exposed=(Window,DedicatedWorker)]
291373interface RTCEncodedVideoFrame {
292374 readonly attribute RTCEncodedVideoFrameType type;
293- readonly attribute unsigned long timestamp; // RTP timestamp.
375+ readonly attribute unsigned long timestamp;
294376 attribute ArrayBuffer data;
295377 RTCEncodedVideoFrameMetadata getMetadata();
296378};
297379</pre>
298380
381+ ### Members ### {#RTCEncodedVideoFrame-members}
382+ <dl data-link-for="RTCEncodedVideoFrame"
383+ data-dfn-for="RTCEncodedVideoFrame"
384+ class="dictionary-members">
385+ <dt>
386+ <dfn>timestamp</dfn> of type <span class="idlMemberType"> unsigned long</span>
387+ </dt>
388+ <dd>
389+ <p>
390+ The RTP timestamp identifier is an unsigned integer value per [[RFC3550]]
391+ that reflects the sampling instant of the first octet in the RTP data packet.
392+ </p>
393+ </dd>
394+ <dt>
395+ <dfn>data</dfn> of type <span class="idlMemberType"> ArrayBuffer</span>
396+ </dt>
397+ <dd>
398+ <p>
399+ The encoded frame data.
400+ </p>
401+ </dd>
402+ </dl>
403+
404+ ### Methods ### {#RTCEncodedVideoFrame-methods}
405+ <dl data-link-for="RTCEncodedVideoFrame"
406+ data-dfn-for="RTCEncodedVideoFrame"
407+ class="dictionary-members">
408+ <dt>
409+ <dfn data-dfn-for="RTCEncodedVideoFrame" data-dfn-type="method">getMetadata()</dfn>
410+ returns the {{RTCEncodedVideoFrameMetadata}} associated with the frame.
411+ </dt>
412+ </dl>
413+
299414## <dfn>RTCEncodedAudioFrameMetadata</dfn> dictionary ## {#RTCEncodedAudioFrameMetadata}
300415<pre class="idl">
301416dictionary RTCEncodedAudioFrameMetadata {
@@ -304,7 +419,7 @@ dictionary RTCEncodedAudioFrameMetadata {
304419 sequence<unsigned long> contributingSources;
305420};
306421</pre>
307- ### Dictionary {{RTCEncodedAudioFrameMetadata}} Members ### {#RTCEncodedAudioFrameMetadata-members}
422+ ### Members ### {#RTCEncodedAudioFrameMetadata-members}
308423<dl data-link-for="RTCEncodedAudioFrameMetadata"
309424 data-dfn-for="RTCEncodedAudioFrameMetadata"
310425 class="dictionary-members">
@@ -336,17 +451,54 @@ dictionary RTCEncodedAudioFrameMetadata {
336451 </p>
337452 </dd>
338453</dl>
454+
455+ ## <dfn>RTCEncodedAudioFrame</dfn> interface ## {#RTCEncodedAudioFrame-interface}
339456<pre class="idl">
340457[Exposed=(Window,DedicatedWorker)]
341458interface RTCEncodedAudioFrame {
342- readonly attribute unsigned long timestamp; // RTP timestamp.
459+ readonly attribute unsigned long timestamp;
343460 attribute ArrayBuffer data;
344461 RTCEncodedAudioFrameMetadata getMetadata();
345462};
463+ </pre>
464+
465+ ### Members ### {#RTCEncodedAudioFrame-members}
466+ <dl data-link-for="RTCEncodedAudioFrame"
467+ data-dfn-for="RTCEncodedAudioFrame"
468+ class="dictionary-members">
469+ <dt>
470+ <dfn>timestamp</dfn> of type <span class="idlMemberType"> unsigned long</span>
471+ </dt>
472+ <dd>
473+ <p>
474+ The RTP timestamp identifier is an unsigned integer value per [[RFC3550]]
475+ that reflects the sampling instant of the first octet in the RTP data packet.
476+ </p>
477+ </dd>
478+ <dt>
479+ <dfn>data</dfn> of type <span class="idlMemberType"> ArrayBuffer</span>
480+ </dt>
481+ <dd>
482+ <p>
483+ The encoded frame data.
484+ </p>
485+ </dd>
486+ </dl>
487+
488+ ### Methods ### {#RTCEncodedAudioFrame-methods}
489+ <dl data-link-for="RTCEncodedAudioFrame"
490+ data-dfn-for="RTCEncodedAudioFrame"
491+ class="dictionary-members">
492+ <dt>
493+ <dfn data-dfn-for="RTCEncodedAudioFrame" data-dfn-type="method">getMetadata()</dfn>
494+ returns the {{RTCEncodedAudioFrameMetadata}} associated with the frame.
495+ </dt>
496+ </dl>
346497
347498
348499// New interfaces to expose JavaScript-based transforms.
349-
500+ ##Interfaces
501+ <pre class="idl">
350502[Exposed=DedicatedWorker]
351503interface RTCTransformEvent : Event {
352504 readonly attribute RTCRtpScriptTransformer transformer;
0 commit comments