From e4e292d988ee52e3dcaccbfac515aafaacb55d59 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Wed, 19 Jan 2022 23:18:55 +0530 Subject: [PATCH] Do not send connection quality when participant is not active. (#354) * Do not send connection quality when participant is not active. Some times when the connection takes a while (in a long delay network on Safari for example), connection quality arrives before connectivity. * Do not calculate connection quality of unconnected participants --- pkg/rtc/room.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/rtc/room.go b/pkg/rtc/room.go index c541c37fd..f0e6dd09f 100644 --- a/pkg/rtc/room.go +++ b/pkg/rtc/room.go @@ -831,11 +831,15 @@ func (r *Room) connectionQualityWorker() { connectionInfos := make(map[livekit.ParticipantID]*livekit.ConnectionQualityInfo, len(participants)) for _, p := range participants { + if p.State() != livekit.ParticipantInfo_ACTIVE { + continue + } + connectionInfos[p.ID()] = p.GetConnectionQuality() } for _, op := range participants { - if !op.ProtocolVersion().SupportsConnectionQuality() { + if !op.ProtocolVersion().SupportsConnectionQuality() || op.State() != livekit.ParticipantInfo_ACTIVE { continue } update := &livekit.ConnectionQualityUpdate{}