forked from mirrors/gecko-dev
		
	![Byron Campen [:bwc]](/assets/img/avatar_default.png) ae7b275a48
			
		
	
	
		ae7b275a48
		
	
	
	
	
		
			
			MozReview-Commit-ID: 5Z5ntG5Bvgc --HG-- extra : rebase_source : ae8a2438dfdc1dd968768fba86a8a6752934bd82 extra : intermediate-source : 347e79f12f838355b45f3eebbc33322bf866d75f extra : source : 8a127885a8d0265994c5f9d4ef9bd384279f6858
		
			
				
	
	
		
			78 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| /* -*- 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"]
 | |
| 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 setRemoteTrackId(DOMString trackId);
 | |
|     [ChromeOnly]
 | |
|     boolean remoteTrackIdIs(DOMString trackId);
 | |
| 
 | |
|     // Mostly for testing
 | |
|     [Pref="media.peerconnection.remoteTrackId.enabled"]
 | |
|     DOMString getRemoteTrackId();
 | |
| 
 | |
|     [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();
 | |
| 
 | |
|     [ChromeOnly]
 | |
|     void insertDTMF(DOMString tones,
 | |
|                     optional unsigned long duration = 100,
 | |
|                     optional unsigned long interToneGap = 70);
 | |
| };
 | |
| 
 |