mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-31 19:10:36 +00:00
679b5e2db1
Backed out changeset b417c2d937e8 (bug 1485040) Backed out changeset c567c4c7438f (bug 1485040) Backed out changeset 806c36cb2c4c (bug 1485040) Backed out changeset 0fbb490ffc7f (bug 1485040) Backed out changeset a9622e7761eb (bug 1485040)
89 lines
2.4 KiB
Plaintext
89 lines
2.4 KiB
Plaintext
/* -*- 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);
|
|
};
|