@@ -264,6 +264,7 @@ The <dfn method for="SFrameTransform">setEncryptionKey(|key|, |keyID|)</dfn> met
264
264
265
265
# RTCRtpScriptTransform # {#scriptTransform}
266
266
267
+ ## <dfn>RTCEncodedVideoFrameType</dfn> dictionary ## {#RTCEncodedVideoFrameType}
267
268
<pre class="idl">
268
269
// New enum for video frame types. Will eventually re-use the equivalent defined
269
270
// by WebCodecs.
@@ -272,7 +273,51 @@ enum RTCEncodedVideoFrameType {
272
273
"key",
273
274
"delta",
274
275
};
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">
276
321
dictionary RTCEncodedVideoFrameMetadata {
277
322
long long frameId;
278
323
sequence<long long> dependencies;
@@ -284,18 +329,88 @@ dictionary RTCEncodedVideoFrameMetadata {
284
329
octet payloadType;
285
330
sequence<unsigned long> contributingSources;
286
331
};
332
+ </pre>
287
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
+
367
+
368
+ ## <dfn>RTCEncodedVideoFrame</dfn> interface ## {#RTCEncodedVideoFrame-interface}
369
+ <pre class="idl">
288
370
// New interfaces to define encoded video and audio frames. Will eventually
289
371
// re-use or extend the equivalent defined in WebCodecs.
290
372
[Exposed=(Window,DedicatedWorker)]
291
373
interface RTCEncodedVideoFrame {
292
374
readonly attribute RTCEncodedVideoFrameType type;
293
- readonly attribute unsigned long timestamp; // RTP timestamp.
375
+ readonly attribute unsigned long timestamp;
294
376
attribute ArrayBuffer data;
295
377
RTCEncodedVideoFrameMetadata getMetadata();
296
378
};
297
379
</pre>
298
380
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
+
299
414
## <dfn>RTCEncodedAudioFrameMetadata</dfn> dictionary ## {#RTCEncodedAudioFrameMetadata}
300
415
<pre class="idl">
301
416
dictionary RTCEncodedAudioFrameMetadata {
@@ -304,7 +419,7 @@ dictionary RTCEncodedAudioFrameMetadata {
304
419
sequence<unsigned long> contributingSources;
305
420
};
306
421
</pre>
307
- ### Dictionary {{RTCEncodedAudioFrameMetadata}} Members ### {#RTCEncodedAudioFrameMetadata-members}
422
+ ### Members ### {#RTCEncodedAudioFrameMetadata-members}
308
423
<dl data-link-for="RTCEncodedAudioFrameMetadata"
309
424
data-dfn-for="RTCEncodedAudioFrameMetadata"
310
425
class="dictionary-members">
@@ -336,16 +451,53 @@ dictionary RTCEncodedAudioFrameMetadata {
336
451
</p>
337
452
</dd>
338
453
</dl>
454
+
455
+ ## <dfn>RTCEncodedAudioFrame</dfn> interface ## {#RTCEncodedAudioFrame-interface}
339
456
<pre class="idl">
340
457
[Exposed=(Window,DedicatedWorker)]
341
458
interface RTCEncodedAudioFrame {
342
- readonly attribute unsigned long timestamp; // RTP timestamp.
459
+ readonly attribute unsigned long timestamp;
343
460
attribute ArrayBuffer data;
344
461
RTCEncodedAudioFrameMetadata getMetadata();
345
462
};
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>
346
497
347
498
348
499
// New interfaces to expose JavaScript-based transforms.
500
+ #Interfaces
349
501
350
502
[Exposed=DedicatedWorker]
351
503
interface RTCTransformEvent : Event {
0 commit comments