diff options
Diffstat (limited to 'dom/webidl/RTCRtpTransceiver.webidl')
-rw-r--r-- | dom/webidl/RTCRtpTransceiver.webidl | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/dom/webidl/RTCRtpTransceiver.webidl b/dom/webidl/RTCRtpTransceiver.webidl new file mode 100644 index 0000000000..b7a0c6cf58 --- /dev/null +++ b/dom/webidl/RTCRtpTransceiver.webidl @@ -0,0 +1,65 @@ +/* -*- 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/#rtcrtptransceiver-interface + */ + +enum RTCRtpTransceiverDirection { + "sendrecv", + "sendonly", + "recvonly", + "inactive" +}; + +dictionary RTCRtpTransceiverInit { + RTCRtpTransceiverDirection direction = "sendrecv"; + sequence<MediaStream> streams = []; + // TODO: bug 1396918 + // sequence<RTCRtpEncodingParameters> sendEncodings; +}; + +[Pref="media.peerconnection.enabled", + JSImplementation="@mozilla.org/dom/rtptransceiver;1", + Exposed=Window] +interface RTCRtpTransceiver { + readonly attribute DOMString? mid; + [SameObject] + readonly attribute RTCRtpSender sender; + [SameObject] + readonly attribute RTCRtpReceiver receiver; + readonly attribute boolean stopped; + attribute RTCRtpTransceiverDirection direction; + readonly attribute RTCRtpTransceiverDirection? currentDirection; + + void stop(); + // TODO: bug 1396922 + // void setCodecPreferences(sequence<RTCRtpCodecCapability> codecs); + + [ChromeOnly] + void setAddTrackMagic(); + [ChromeOnly] + readonly attribute boolean addTrackMagic; + [ChromeOnly] + attribute boolean shouldRemove; + [ChromeOnly] + void setCurrentDirection(RTCRtpTransceiverDirection direction); + [ChromeOnly] + void setDirectionInternal(RTCRtpTransceiverDirection direction); + [ChromeOnly] + void setMid(DOMString mid); + [ChromeOnly] + void unsetMid(); + [ChromeOnly] + void setStopped(); + + [ChromeOnly] + DOMString getKind(); + [ChromeOnly] + boolean hasBeenUsedToSend(); + [ChromeOnly] + void sync(); +}; + |