From 90b97137c9f36da2136291f738d83146f3faaf66 Mon Sep 17 00:00:00 2001 From: cnderrauber Date: Mon, 24 Jan 2022 17:03:24 +0800 Subject: [PATCH] fix migrate state of subscribe only client (#366) --- pkg/rtc/participant.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 7b8a69734..917c03584 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1051,6 +1051,9 @@ func (p *ParticipantImpl) handleDataMessage(kind livekit.DataPacket_Kind, data [ func (p *ParticipantImpl) handlePrimaryStateChange(state webrtc.PeerConnectionState) { if state == webrtc.PeerConnectionStateConnected { prometheus.ServiceOperationCounter.WithLabelValues("ice_connection", "success", "").Add(1) + if !p.hasPendingMigratedTrack() && p.MigrateState() == types.MigrateStateSync { + p.SetMigrateState(types.MigrateStateComplete) + } p.updateState(livekit.ParticipantInfo_ACTIVE) } else if state == webrtc.PeerConnectionStateFailed { // only close when failed, to allow clients opportunity to reconnect