156 lines
4.7 KiB
Text
156 lines
4.7 KiB
Text
// GENERATED CONTENT - DO NOT EDIT
|
|
// Content was automatically extracted by Reffy into webref
|
|
// (https://github.com/w3c/webref)
|
|
// Source: WebRTC Encoded Transform (https://w3c.github.io/webrtc-encoded-transform/)
|
|
|
|
typedef (SFrameTransform or RTCRtpScriptTransform) RTCRtpTransform;
|
|
|
|
// New methods for RTCRtpSender and RTCRtpReceiver
|
|
partial interface RTCRtpSender {
|
|
attribute RTCRtpTransform? transform;
|
|
};
|
|
|
|
partial interface RTCRtpReceiver {
|
|
attribute RTCRtpTransform? transform;
|
|
};
|
|
|
|
enum SFrameTransformRole {
|
|
"encrypt",
|
|
"decrypt"
|
|
};
|
|
|
|
dictionary SFrameTransformOptions {
|
|
SFrameTransformRole role = "encrypt";
|
|
};
|
|
|
|
typedef [EnforceRange] unsigned long long SmallCryptoKeyID;
|
|
typedef (SmallCryptoKeyID or bigint) CryptoKeyID;
|
|
|
|
[Exposed=(Window,DedicatedWorker)]
|
|
interface SFrameTransform : EventTarget {
|
|
constructor(optional SFrameTransformOptions options = {});
|
|
Promise<undefined> setEncryptionKey(CryptoKey key, optional CryptoKeyID keyID);
|
|
attribute EventHandler onerror;
|
|
};
|
|
SFrameTransform includes GenericTransformStream;
|
|
|
|
enum SFrameTransformErrorEventType {
|
|
"authentication",
|
|
"keyID",
|
|
"syntax"
|
|
};
|
|
|
|
[Exposed=(Window,DedicatedWorker)]
|
|
interface SFrameTransformErrorEvent : Event {
|
|
constructor(DOMString type, SFrameTransformErrorEventInit eventInitDict);
|
|
|
|
readonly attribute SFrameTransformErrorEventType errorType;
|
|
readonly attribute CryptoKeyID? keyID;
|
|
readonly attribute any frame;
|
|
};
|
|
|
|
dictionary SFrameTransformErrorEventInit : EventInit {
|
|
required SFrameTransformErrorEventType errorType;
|
|
required any frame;
|
|
CryptoKeyID? keyID;
|
|
};
|
|
|
|
// New enum for video frame types. Will eventually re-use the equivalent defined
|
|
// by WebCodecs.
|
|
enum RTCEncodedVideoFrameType {
|
|
"empty",
|
|
"key",
|
|
"delta",
|
|
};
|
|
|
|
dictionary RTCEncodedVideoFrameMetadata {
|
|
unsigned long long frameId;
|
|
sequence<unsigned long long> dependencies;
|
|
unsigned short width;
|
|
unsigned short height;
|
|
unsigned long spatialIndex;
|
|
unsigned long temporalIndex;
|
|
unsigned long synchronizationSource;
|
|
octet payloadType;
|
|
sequence<unsigned long> contributingSources;
|
|
long long timestamp; // microseconds
|
|
unsigned long rtpTimestamp;
|
|
DOMHighResTimeStamp receiveTime;
|
|
DOMHighResTimeStamp captureTime;
|
|
DOMHighResTimeStamp senderCaptureTimeOffset;
|
|
DOMString mimeType;
|
|
};
|
|
|
|
dictionary RTCEncodedVideoFrameOptions {
|
|
RTCEncodedVideoFrameMetadata metadata;
|
|
};
|
|
|
|
// New interfaces to define encoded video and audio frames. Will eventually
|
|
// re-use or extend the equivalent defined in WebCodecs.
|
|
[Exposed=(Window,DedicatedWorker), Serializable]
|
|
interface RTCEncodedVideoFrame {
|
|
constructor(RTCEncodedVideoFrame originalFrame, optional RTCEncodedVideoFrameOptions options = {});
|
|
readonly attribute RTCEncodedVideoFrameType type;
|
|
attribute ArrayBuffer data;
|
|
RTCEncodedVideoFrameMetadata getMetadata();
|
|
};
|
|
|
|
dictionary RTCEncodedAudioFrameMetadata {
|
|
unsigned long synchronizationSource;
|
|
octet payloadType;
|
|
sequence<unsigned long> contributingSources;
|
|
short sequenceNumber;
|
|
unsigned long rtpTimestamp;
|
|
DOMHighResTimeStamp receiveTime;
|
|
DOMHighResTimeStamp captureTime;
|
|
DOMHighResTimeStamp senderCaptureTimeOffset;
|
|
DOMString mimeType;
|
|
};
|
|
|
|
dictionary RTCEncodedAudioFrameOptions {
|
|
RTCEncodedAudioFrameMetadata metadata;
|
|
};
|
|
|
|
[Exposed=(Window,DedicatedWorker), Serializable]
|
|
interface RTCEncodedAudioFrame {
|
|
constructor(RTCEncodedAudioFrame originalFrame, optional RTCEncodedAudioFrameOptions options = {});
|
|
attribute ArrayBuffer data;
|
|
RTCEncodedAudioFrameMetadata getMetadata();
|
|
};
|
|
|
|
[Exposed=DedicatedWorker]
|
|
interface RTCTransformEvent : Event {
|
|
readonly attribute RTCRtpScriptTransformer transformer;
|
|
};
|
|
|
|
partial interface DedicatedWorkerGlobalScope {
|
|
attribute EventHandler onrtctransform;
|
|
};
|
|
|
|
[Exposed=DedicatedWorker]
|
|
interface RTCRtpScriptTransformer : EventTarget {
|
|
// Attributes and methods related to the transformer source
|
|
readonly attribute ReadableStream readable;
|
|
Promise<unsigned long long> generateKeyFrame(optional DOMString rid);
|
|
Promise<undefined> sendKeyFrameRequest();
|
|
// Attributes and methods related to the transformer sink
|
|
readonly attribute WritableStream writable;
|
|
attribute EventHandler onkeyframerequest;
|
|
// Attributes for configuring the Javascript code
|
|
readonly attribute any options;
|
|
};
|
|
|
|
[Exposed=Window]
|
|
interface RTCRtpScriptTransform {
|
|
constructor(Worker worker, optional any options, optional sequence<object> transfer);
|
|
};
|
|
|
|
[Exposed=DedicatedWorker]
|
|
interface KeyFrameRequestEvent : Event {
|
|
constructor(DOMString type, optional DOMString rid);
|
|
readonly attribute DOMString? rid;
|
|
};
|
|
|
|
partial interface RTCRtpSender {
|
|
Promise<undefined> generateKeyFrame(optional sequence <DOMString> rids);
|
|
};
|