mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-28 20:43:23 +03:00
71255acf5d
* Try to enable all webidls * Separate out unavailable webidl files by reason. * Create record of fully tested WebIDL files * Update notes to reflect new situation with web-idl * Make a blank ident fail, disable the necessary widls. It turns out that all the blank idents came from blank enum variants, which is allowed in webidl apparently.
89 lines
2.4 KiB
Plaintext
Vendored
89 lines
2.4 KiB
Plaintext
Vendored
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* The origin of this IDL file is
|
|
* http://w3c.github.io/webrtc-pc/#rtcrtpsender-interface
|
|
*/
|
|
|
|
enum RTCPriorityType {
|
|
"very-low",
|
|
"low",
|
|
"medium",
|
|
"high"
|
|
};
|
|
|
|
enum RTCDegradationPreference {
|
|
"maintain-framerate",
|
|
"maintain-resolution",
|
|
"balanced"
|
|
};
|
|
|
|
dictionary RTCRtxParameters {
|
|
unsigned long ssrc;
|
|
};
|
|
|
|
dictionary RTCFecParameters {
|
|
unsigned long ssrc;
|
|
};
|
|
|
|
dictionary RTCRtpEncodingParameters {
|
|
unsigned long ssrc;
|
|
RTCRtxParameters rtx;
|
|
RTCFecParameters fec;
|
|
boolean active;
|
|
RTCPriorityType priority;
|
|
unsigned long maxBitrate;
|
|
RTCDegradationPreference degradationPreference = "balanced";
|
|
DOMString rid;
|
|
float scaleResolutionDownBy = 1.0;
|
|
};
|
|
|
|
dictionary RTCRtpHeaderExtensionParameters {
|
|
DOMString uri;
|
|
unsigned short id;
|
|
boolean encrypted;
|
|
};
|
|
|
|
dictionary RTCRtcpParameters {
|
|
DOMString cname;
|
|
boolean reducedSize;
|
|
};
|
|
|
|
dictionary RTCRtpCodecParameters {
|
|
unsigned short payloadType;
|
|
DOMString mimeType;
|
|
unsigned long clockRate;
|
|
unsigned short channels = 1;
|
|
DOMString sdpFmtpLine;
|
|
};
|
|
|
|
dictionary RTCRtpParameters {
|
|
sequence<RTCRtpEncodingParameters> encodings;
|
|
sequence<RTCRtpHeaderExtensionParameters> headerExtensions;
|
|
RTCRtcpParameters rtcp;
|
|
sequence<RTCRtpCodecParameters> codecs;
|
|
};
|
|
|
|
[Pref="media.peerconnection.enabled",
|
|
JSImplementation="@mozilla.org/dom/rtpsender;1"]
|
|
interface RTCRtpSender {
|
|
readonly attribute MediaStreamTrack? track;
|
|
Promise<void> setParameters (optional RTCRtpParameters parameters);
|
|
RTCRtpParameters getParameters();
|
|
Promise<void> replaceTrack(MediaStreamTrack? withTrack);
|
|
Promise<RTCStatsReport> getStats();
|
|
[Pref="media.peerconnection.dtmf.enabled"]
|
|
readonly attribute RTCDTMFSender? dtmf;
|
|
// Ugh, can't use a ChromeOnly attibute sequence<MediaStream>...
|
|
[ChromeOnly]
|
|
sequence<MediaStream> getStreams();
|
|
[ChromeOnly]
|
|
void setStreams(sequence<MediaStream> streams);
|
|
[ChromeOnly]
|
|
void setTrack(MediaStreamTrack? track);
|
|
[ChromeOnly]
|
|
void checkWasCreatedByPc(RTCPeerConnection pc);
|
|
};
|