WebRTC Turn/Stun config
This commit is contained in:
		
							parent
							
								
									2f572972d8
								
							
						
					
					
						commit
						07b871e374
					
				| 
						 | 
				
			
			@ -26,28 +26,53 @@ export default class WebRTC
 | 
			
		|||
    public events : { [eventname:string]: Function[] } = {};
 | 
			
		||||
    public channel : RTCDataChannel | undefined;
 | 
			
		||||
 | 
			
		||||
    public static defaultRTCConfig : RTCConfiguration = {
 | 
			
		||||
        iceCandidatePoolSize: 0,
 | 
			
		||||
        iceTransportPolicy:"all",
 | 
			
		||||
        rtcpMuxPolicy:"require",
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public static defaultICEServers : RTCIceServer[] = [{
 | 
			
		||||
        urls: "stun:stun.l.google.com:19302"
 | 
			
		||||
    },{
 | 
			
		||||
        urls: "stun:stun1.l.google.com:19302"
 | 
			
		||||
    },{
 | 
			
		||||
        urls: "stun:stun2.l.google.com:19302"
 | 
			
		||||
    },{
 | 
			
		||||
        urls: "stun:stun3.l.google.com:19302"
 | 
			
		||||
    },{
 | 
			
		||||
        urls: "stun:stun4.l.google.com:19302"
 | 
			
		||||
    }];
 | 
			
		||||
 | 
			
		||||
    public peer? : Peer;
 | 
			
		||||
 | 
			
		||||
    public FileTransportChannel? : P2PFileSender;
 | 
			
		||||
 | 
			
		||||
    constructor()
 | 
			
		||||
    constructor(
 | 
			
		||||
        rtcConfig?: RTCConfiguration,
 | 
			
		||||
        rtcServers?: RTCIceServer[]
 | 
			
		||||
    )
 | 
			
		||||
    {
 | 
			
		||||
        this.rtc = new RTCPeerConnection({
 | 
			
		||||
            iceCandidatePoolSize: 0,
 | 
			
		||||
            iceTransportPolicy:"all",
 | 
			
		||||
            rtcpMuxPolicy:"require",
 | 
			
		||||
            iceServers:[{
 | 
			
		||||
                urls: "stun:stun.l.google.com:19302"
 | 
			
		||||
            },{
 | 
			
		||||
                urls: "stun:stun1.l.google.com:19302"
 | 
			
		||||
            },{
 | 
			
		||||
                urls: "stun:stun2.l.google.com:19302"
 | 
			
		||||
            },{
 | 
			
		||||
                urls: "stun:stun3.l.google.com:19302"
 | 
			
		||||
            },{
 | 
			
		||||
                urls: "stun:stun4.l.google.com:19302"
 | 
			
		||||
            }]
 | 
			
		||||
        });
 | 
			
		||||
        let config : any = {};
 | 
			
		||||
 | 
			
		||||
        if(rtcConfig)
 | 
			
		||||
        {
 | 
			
		||||
            Object.assign(
 | 
			
		||||
                config,
 | 
			
		||||
                WebRTC.defaultRTCConfig,
 | 
			
		||||
                rtcConfig
 | 
			
		||||
            )
 | 
			
		||||
        }else{
 | 
			
		||||
            Object.assign(
 | 
			
		||||
                config,
 | 
			
		||||
                WebRTC.defaultRTCConfig
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        config.iceServers = rtcServers || WebRTC.defaultICEServers;
 | 
			
		||||
 | 
			
		||||
        this.rtc = new RTCPeerConnection(config as RTCConfiguration);
 | 
			
		||||
        this.rtc.addEventListener("connectionstatechange",()=>{
 | 
			
		||||
            this.eventConnectionState();
 | 
			
		||||
        })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
		Reference in New Issue