Files
tubestation/testing/web-platform/tests/interfaces/webrtc-insertable-streams.idl
Stephen McGruer 2a5c00adbf Bug 1667107 [wpt PR 25774] - Add interfaces/webrtc-insertable-streams.idl and test, a=testonly
Automatic update from web-platform-tests
Add interfaces/webrtc-insertable-streams.idl and test (#25774)

Closes https://github.com/web-platform-tests/wpt/pull/25766
--

wpt-commits: b1d0f5495d39d36b7853d0c53a9fd096abba226d
wpt-pr: 25774
2020-10-02 12:32:39 +00:00

66 lines
1.8 KiB
Plaintext

// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: WebRTC Insertable Media using Streams (https://w3c.github.io/webrtc-insertable-streams/)
// New dictionary.
dictionary RTCInsertableStreams {
ReadableStream readable;
WritableStream writable;
};
// New enum for video frame types. Will eventually re-use the equivalent defined
// by WebCodecs.
enum RTCEncodedVideoFrameType {
"empty",
"key",
"delta",
};
dictionary RTCEncodedVideoFrameMetadata {
long long frameId;
sequence<long long> dependencies;
unsigned short width;
unsigned short height;
long spatialIndex;
long temporalIndex;
long synchronizationSource;
sequence<long> contributingSources;
};
// New interfaces to define encoded video and audio frames. Will eventually
// re-use or extend the equivalent defined in WebCodecs.
[Exposed=Window]
interface RTCEncodedVideoFrame {
readonly attribute RTCEncodedVideoFrameType type;
readonly attribute unsigned long long timestamp;
attribute ArrayBuffer data;
RTCEncodedVideoFrameMetadata getMetadata();
};
dictionary RTCEncodedAudioFrameMetadata {
long synchronizationSource;
sequence<long> contributingSources;
};
[Exposed=Window]
interface RTCEncodedAudioFrame {
readonly attribute unsigned long long timestamp;
attribute ArrayBuffer data;
RTCEncodedAudioFrameMetadata getMetadata();
};
// New fields in RTCConfiguration
partial dictionary RTCConfiguration {
boolean encodedInsertableStreams = false;
};
// New methods for RTCRtpSender and RTCRtpReceiver
partial interface RTCRtpSender {
RTCInsertableStreams createEncodedStreams();
};
partial interface RTCRtpReceiver {
RTCInsertableStreams createEncodedStreams();
};