From 3f3b02357cfe74bd6446ada79249df6721b376a3 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Thu, 27 Apr 2023 23:06:15 +0530 Subject: [PATCH] Check all transport connected for subscriber only properly. (#1661) --- pkg/rtc/participant.go | 6 +++++- pkg/rtc/transportmanager.go | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index cb9f68e33..fe8bc3c57 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -735,7 +735,11 @@ func (p *ParticipantImpl) clearMigrationTimer() { } func (p *ParticipantImpl) MaybeStartMigration(force bool, onStart func()) bool { - if !force && !p.TransportManager.HaveAllTransportEverConnected() { + allTransportConnected := p.TransportManager.HasSubscriberEverConnected() + if p.IsPublisher() { + allTransportConnected = allTransportConnected && p.TransportManager.HasPublisherEverConnected() + } + if !force && !allTransportConnected { return false } diff --git a/pkg/rtc/transportmanager.go b/pkg/rtc/transportmanager.go index de7c0a32b..397482dab 100644 --- a/pkg/rtc/transportmanager.go +++ b/pkg/rtc/transportmanager.go @@ -190,10 +190,6 @@ func (t *TransportManager) Close() { t.subscriber.Close() } -func (t *TransportManager) HaveAllTransportEverConnected() bool { - return t.publisher.HasEverConnected() && t.subscriber.HasEverConnected() -} - func (t *TransportManager) SubscriberClose() { t.subscriber.Close() } @@ -217,6 +213,10 @@ func (t *TransportManager) OnPublisherTrack(f func(track *webrtc.TrackRemote, rt t.publisher.OnTrack(f) } +func (t *TransportManager) HasPublisherEverConnected() bool { + return t.publisher.HasEverConnected() +} + func (t *TransportManager) IsPublisherEstablished() bool { return t.publisher.IsEstablished() }