diff --git a/internal/types/webrtc.go b/internal/types/webrtc.go index f53aea6a..1639a635 100644 --- a/internal/types/webrtc.go +++ b/internal/types/webrtc.go @@ -9,7 +9,7 @@ type ICEServer struct { } type WebRTCPeer interface { - CreateOffer(ICETrickle bool, ICERestart bool) (*webrtc.SessionDescription, error) + CreateOffer(ICERestart bool) (*webrtc.SessionDescription, error) SignalAnswer(sdp string) error SignalCandidate(candidate webrtc.ICECandidateInit) error diff --git a/internal/webrtc/manager.go b/internal/webrtc/manager.go index d6a65b62..46930ac6 100644 --- a/internal/webrtc/manager.go +++ b/internal/webrtc/manager.go @@ -239,6 +239,7 @@ func (manager *WebRTCManagerCtx) CreatePeer(session types.Session, videoID strin connection: connection, changeVideo: changeVideo, dataChannel: dataChannel, + iceTrickle: manager.config.ICETrickle, } cursorImage := func(entry *cursor.ImageEntry) { @@ -343,7 +344,7 @@ func (manager *WebRTCManagerCtx) CreatePeer(session types.Session, videoID strin }() session.SetWebRTCPeer(peer) - return peer.CreateOffer(manager.config.ICETrickle, false) + return peer.CreateOffer(false) } func (manager *WebRTCManagerCtx) mediaEngine(videoID string) (*webrtc.MediaEngine, error) { diff --git a/internal/webrtc/peer.go b/internal/webrtc/peer.go index e5bb933f..95a0b9f6 100644 --- a/internal/webrtc/peer.go +++ b/internal/webrtc/peer.go @@ -15,9 +15,10 @@ type WebRTCPeerCtx struct { connection *webrtc.PeerConnection dataChannel *webrtc.DataChannel changeVideo func(videoID string) error + iceTrickle bool } -func (peer *WebRTCPeerCtx) CreateOffer(ICETrickle bool, ICERestart bool) (*webrtc.SessionDescription, error) { +func (peer *WebRTCPeerCtx) CreateOffer(ICERestart bool) (*webrtc.SessionDescription, error) { // offer timeout go func() { time.Sleep(offerTimeout) @@ -41,7 +42,7 @@ func (peer *WebRTCPeerCtx) CreateOffer(ICETrickle bool, ICERestart bool) (*webrt return nil, err } - if !ICETrickle { + if !peer.iceTrickle { // Create channel that is blocked until ICE Gathering is complete gatherComplete := webrtc.GatheringCompletePromise(peer.connection) diff --git a/internal/websocket/handler/signal.go b/internal/websocket/handler/signal.go index 635db77d..647a9bdc 100644 --- a/internal/websocket/handler/signal.go +++ b/internal/websocket/handler/signal.go @@ -39,7 +39,7 @@ func (h *MessageHandlerCtx) signalRestart(session types.Session) error { return nil } - offer, err := peer.CreateOffer(true, true) + offer, err := peer.CreateOffer(true) if err != nil { return err }