From 491a15e49ea0165ea57e8d44d121495b6c06bdd6 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Wed, 23 Nov 2022 09:10:44 +0530 Subject: [PATCH] Prevent subscription after participant close. (#1182) --- pkg/rtc/participant.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 605fc7b37..6d2411c80 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1949,6 +1949,11 @@ func (p *ParticipantImpl) onAnyTransportNegotiationFailed() { } func (p *ParticipantImpl) EnqueueSubscribeTrack(trackID livekit.TrackID, isRelayed bool, f func(sub types.LocalParticipant) error) { + // do not queue subscription is participant is already closed/disconnected + if p.isClosed.Load() || p.State() == livekit.ParticipantInfo_DISCONNECTED { + return + } + p.params.Logger.Debugw("queuing subscribe", "trackID", trackID, "relayed", isRelayed) p.supervisor.UpdateSubscription(trackID, true)