mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
iceservers with auth.
This commit is contained in:
parent
4d967f03d0
commit
662cb53982
@ -18,6 +18,12 @@ export interface WebRTCStats {
|
||||
height: number
|
||||
}
|
||||
|
||||
export interface ICEServer {
|
||||
urls: string
|
||||
username: string
|
||||
credential: string
|
||||
}
|
||||
|
||||
export interface NekoWebRTCEvents {
|
||||
connecting: () => void
|
||||
connected: () => void
|
||||
@ -66,7 +72,7 @@ export class NekoWebRTC extends EventEmitter<NekoWebRTCEvents> {
|
||||
this._log.debug(`adding remote ICE candidate`, candidate)
|
||||
}
|
||||
|
||||
public async connect(sdp: string, lite: boolean, servers: string[]): Promise<string> {
|
||||
public async connect(sdp: string, iceServers: ICEServer[]): Promise<string> {
|
||||
this._log.info(`connecting`)
|
||||
|
||||
if (!this.supported) {
|
||||
@ -79,11 +85,10 @@ export class NekoWebRTC extends EventEmitter<NekoWebRTCEvents> {
|
||||
|
||||
this.emit('connecting')
|
||||
|
||||
this._peer = new RTCPeerConnection()
|
||||
if (lite !== true) {
|
||||
this._peer = new RTCPeerConnection({
|
||||
iceServers: [{ urls: servers }],
|
||||
})
|
||||
this._peer = new RTCPeerConnection({ iceServers })
|
||||
|
||||
if (iceServers.length == 0) {
|
||||
this._log.warn(`iceservers are empty`)
|
||||
}
|
||||
|
||||
this._peer.onconnectionstatechange = (event) => {
|
||||
|
@ -385,7 +385,7 @@
|
||||
switch (event) {
|
||||
case 'signal/provide':
|
||||
try {
|
||||
let sdp = await this.webrtc.connect(payload.sdp, payload.lite, payload.ice)
|
||||
let sdp = await this.webrtc.connect(payload.sdp, payload.iceservers)
|
||||
this.websocket.send('signal/answer', { sdp })
|
||||
} catch (e) {}
|
||||
break
|
||||
|
@ -1,3 +1,5 @@
|
||||
import { ICEServer } from '../internal/webrtc'
|
||||
|
||||
export interface Message {
|
||||
event: string | undefined
|
||||
payload: any
|
||||
@ -34,8 +36,7 @@ export interface SystemDisconnect {
|
||||
export interface SignalProvide {
|
||||
event: string | undefined
|
||||
sdp: string
|
||||
lite: boolean
|
||||
ice: string[]
|
||||
iceservers: ICEServer[]
|
||||
video: string
|
||||
videos: string[]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user