From fd1cc36bdc246e547c20f6ad2b6d56d4acb21331 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Thu, 17 Nov 2022 10:17:56 +0530 Subject: [PATCH] Force full reconnect when there is no previous answer during migration. (#1168) --- pkg/rtc/transport.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/rtc/transport.go b/pkg/rtc/transport.go index 1e81e43d0..9508fd52f 100644 --- a/pkg/rtc/transport.go +++ b/pkg/rtc/transport.go @@ -1123,6 +1123,14 @@ func (t *PCTransport) initPCWithPreviousAnswer(previousAnswer webrtc.SessionDesc } func (t *PCTransport) SetPreviousSdp(offer, answer *webrtc.SessionDescription) { + // when there is no previous answer, cannot migrate, force a full reconnect + if answer == nil { + if onNegotiationFailed := t.getOnNegotiationFailed(); onNegotiationFailed != nil { + onNegotiationFailed() + } + return + } + t.lock.Lock() if t.pc.RemoteDescription() == nil && t.previousAnswer == nil { t.previousAnswer = answer