From 64b427a38800fe7fc578d6d5c7a3af0101a86935 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Thu, 3 Dec 2020 23:22:59 -0800 Subject: [PATCH] don't remove tracks if client is closed --- pkg/rtc/track.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/rtc/track.go b/pkg/rtc/track.go index 38a2017ca..563079baa 100644 --- a/pkg/rtc/track.go +++ b/pkg/rtc/track.go @@ -78,6 +78,9 @@ func (t *Track) AddSubscriber(participant *Participant) error { delete(t.forwarders, participant.ID()) t.lock.Unlock() + if participant.peerConn.ConnectionState() == webrtc.PeerConnectionStateClosed { + return + } if err := participant.peerConn.RemoveTrack(rtpSender); err != nil { logger.GetLogger().Warnw("could not remove mediaTrack from forwarder", "participant", participant.ID(),