@@ -272,7 +272,51 @@ enum RTCEncodedVideoFrameType {
272
272
"key",
273
273
"delta",
274
274
};
275
-
275
+ </pre>
276
+ <table data-link-for="RTCEncodedVideoFrameType" data-dfn-for=
277
+ "RTCEncodedVideoFrameType" class="simple">
278
+ <caption> {{RTCEncodedVideoFrameType}} Enumeration description</caption>
279
+ <thead>
280
+ <tr>
281
+ <th> Enum value</th><th> Description</th>
282
+ </tr>
283
+ </thead>
284
+ <tbody>
285
+ <tr>
286
+ <td>
287
+ <dfn data-idl="">empty</dfn>
288
+ </td>
289
+ <td>
290
+ <p>
291
+ This frame contains no data.
292
+ </p>
293
+ </td>
294
+ </tr>
295
+ <tr>
296
+ <td>
297
+ <dfn data-idl="">key</dfn>
298
+ </td>
299
+ <td>
300
+ <p>
301
+ This frame can be decoded without reference to any other frames.
302
+ </p>
303
+ </td>
304
+ </tr>
305
+ <tr>
306
+ <td>
307
+ <dfn data-idl="">delta</dfn>
308
+ </td>
309
+ <td>
310
+ <p>
311
+ This frame references another frame and can not be decoded without that frame.
312
+ </p>
313
+ </td>
314
+ </tr>
315
+ </tbody>
316
+ </table>
317
+
318
+ ## <dfn>RTCEncodedVideoFrameMetadata</dfn> dictionary ## {#RTCEncodedVideoFrameMetadata}
319
+ <pre class="idl">
276
320
dictionary RTCEncodedVideoFrameMetadata {
277
321
long long frameId;
278
322
sequence<long long> dependencies;
@@ -284,18 +328,88 @@ dictionary RTCEncodedVideoFrameMetadata {
284
328
octet payloadType;
285
329
sequence<unsigned long> contributingSources;
286
330
};
331
+ </pre>
287
332
333
+ ### Members ### {#RTCEncodedVideoFrameMetadata-members}
334
+ <dl data-link-for="RTCEncodedVideoFrameMetadata"
335
+ data-dfn-for="RTCEncodedVideoFrameMetadata"
336
+ class="dictionary-members">
337
+ <dt>
338
+ <dfn>synchronizationSource</dfn> of type <span class="idlMemberType"> unsigned long</span>
339
+ </dt>
340
+ <dd>
341
+ <p>
342
+ The synchronization source (ssrc) identifier is an unsigned integer value per [[RFC3550]]
343
+ used to identify the stream of RTP packets that the encoded frame object is describing.
344
+ </p>
345
+ </dd>
346
+ <dt>
347
+ <dfn>payloadType</dfn> of type <span class="idlMemberType"> octet</span>
348
+ </dt>
349
+ <dd>
350
+ <p>
351
+ The payload type is an unsigned integer value in the range from 0 to 127 per [[RFC3550]]
352
+ that is used to describe the format of the RTP payload.
353
+ </p>
354
+ </dd>
355
+ <dt>
356
+ <dfn>contributingSources</dfn> of type <span class=
357
+ "idlMemberType"> sequence<unsigned long></span>
358
+ </dt>
359
+ <dd>
360
+ <p>
361
+ The list of contribution sources (csrc list) as defined in [[RFC3550]] .
362
+ </p>
363
+ </dd>
364
+ </dl>
365
+
366
+
367
+ ## <dfn>RTCEncodedVideoFrame</dfn> interface ## {#RTCEncodedVideoFrame}
368
+ <pre class="idl">
288
369
// New interfaces to define encoded video and audio frames. Will eventually
289
370
// re-use or extend the equivalent defined in WebCodecs.
290
371
[Exposed=(Window,DedicatedWorker)]
291
372
interface RTCEncodedVideoFrame {
292
373
readonly attribute RTCEncodedVideoFrameType type;
293
- readonly attribute unsigned long timestamp; // RTP timestamp.
374
+ readonly attribute unsigned long timestamp;
294
375
attribute ArrayBuffer data;
295
376
RTCEncodedVideoFrameMetadata getMetadata();
296
377
};
297
378
</pre>
298
379
380
+ ### Members ### {#RTCEncodedVideoFrame-members}
381
+ <dl data-link-for="RTCEncodedVideoFrame"
382
+ data-dfn-for="RTCEncodedVideoFrame"
383
+ class="dictionary-members">
384
+ <dt>
385
+ <dfn>timestamp</dfn> of type <span class="idlMemberType"> unsigned long</span>
386
+ </dt>
387
+ <dd>
388
+ <p>
389
+ The RTP timestamp identifier is an unsigned integer value per [[RFC3550]]
390
+ that reflects the sampling instant of the first octet in the RTP data packet.
391
+ </p>
392
+ </dd>
393
+ <dt>
394
+ <dfn>data</dfn> of type <span class="idlMemberType"> ArrayBuffer</span>
395
+ </dt>
396
+ <dd>
397
+ <p>
398
+ The encoded frame data.
399
+ </p>
400
+ </dd>
401
+ </dl>
402
+
403
+ ### Methods ### {#RTCEncodedVideoFrame-methods}
404
+ <dl data-link-for="RTCEncodedVideoFrame"
405
+ data-dfn-for="RTCEncodedVideoFrame"
406
+ class="dictionary-members">
407
+ <dt>
408
+ <dfn data-dfn-for="RTCEncodedVideoFrame" data-dfn-type="method">getMetadata()</dfn>
409
+ returns the {{RTCEncodedVideoFrameMetadata}} associated with the frame.
410
+ </dt>
411
+ </dl>
412
+
299
413
## <dfn>RTCEncodedAudioFrameMetadata</dfn> dictionary ## {#RTCEncodedAudioFrameMetadata}
300
414
<pre class="idl">
301
415
dictionary RTCEncodedAudioFrameMetadata {
@@ -304,7 +418,7 @@ dictionary RTCEncodedAudioFrameMetadata {
304
418
sequence<unsigned long> contributingSources;
305
419
};
306
420
</pre>
307
- ### Dictionary {{RTCEncodedAudioFrameMetadata}} Members ### {#RTCEncodedAudioFrameMetadata-members}
421
+ ### Members ### {#RTCEncodedAudioFrameMetadata-members}
308
422
<dl data-link-for="RTCEncodedAudioFrameMetadata"
309
423
data-dfn-for="RTCEncodedAudioFrameMetadata"
310
424
class="dictionary-members">
@@ -336,16 +450,53 @@ dictionary RTCEncodedAudioFrameMetadata {
336
450
</p>
337
451
</dd>
338
452
</dl>
453
+
454
+ ## <dfn>RTCEncodedAudioFrame</dfn> interface ## {#RTCEncodedAudioFrame}
339
455
<pre class="idl">
340
456
[Exposed=(Window,DedicatedWorker)]
341
457
interface RTCEncodedAudioFrame {
342
- readonly attribute unsigned long timestamp; // RTP timestamp.
458
+ readonly attribute unsigned long timestamp;
343
459
attribute ArrayBuffer data;
344
460
RTCEncodedAudioFrameMetadata getMetadata();
345
461
};
462
+ </pre>
463
+
464
+ ### Members ### {#RTCEncodedAudioFrame-members}
465
+ <dl data-link-for="RTCEncodedAudioFrame"
466
+ data-dfn-for="RTCEncodedAudioFrame"
467
+ class="dictionary-members">
468
+ <dt>
469
+ <dfn>timestamp</dfn> of type <span class="idlMemberType"> unsigned long</span>
470
+ </dt>
471
+ <dd>
472
+ <p>
473
+ The RTP timestamp identifier is an unsigned integer value per [[RFC3550]]
474
+ that reflects the sampling instant of the first octet in the RTP data packet.
475
+ </p>
476
+ </dd>
477
+ <dt>
478
+ <dfn>data</dfn> of type <span class="idlMemberType"> ArrayBuffer</span>
479
+ </dt>
480
+ <dd>
481
+ <p>
482
+ The encoded frame data.
483
+ </p>
484
+ </dd>
485
+ </dl>
486
+
487
+ ### Methods ### {#RTCEncodedAudioFrame-methods}
488
+ <dl data-link-for="RTCEncodedAudioFrame"
489
+ data-dfn-for="RTCEncodedAudioFrame"
490
+ class="dictionary-members">
491
+ <dt>
492
+ <dfn data-dfn-for="RTCEncodedAudioFrame" data-dfn-type="method">getMetadata()</dfn>
493
+ returns the {{RTCEncodedAudioFrameMetadata}} associated with the frame.
494
+ </dt>
495
+ </dl>
346
496
347
497
348
498
// New interfaces to expose JavaScript-based transforms.
499
+ #Interfaces
349
500
350
501
[Exposed=DedicatedWorker]
351
502
interface RTCTransformEvent : Event {
0 commit comments