From 6a80beedfca6e7f96c1bef8b28406714f7942f82 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 3 Nov 2021 23:09:25 -0700 Subject: [PATCH] Only send connection quality updates for protocol 5+ --- pkg/rtc/room.go | 3 +++ pkg/rtc/types/protocol_version.go | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/pkg/rtc/room.go b/pkg/rtc/room.go index 848297ca9..d9b7086e9 100644 --- a/pkg/rtc/room.go +++ b/pkg/rtc/room.go @@ -722,6 +722,9 @@ func (r *Room) connectionQualityWorker() { } for _, op := range participants { + if !op.ProtocolVersion().SupportsConnectionQuality() { + continue + } update := &livekit.ConnectionQualityUpdate{} // send to user itself diff --git a/pkg/rtc/types/protocol_version.go b/pkg/rtc/types/protocol_version.go index a445c2a49..e87af33f3 100644 --- a/pkg/rtc/types/protocol_version.go +++ b/pkg/rtc/types/protocol_version.go @@ -30,3 +30,8 @@ func (v ProtocolVersion) SupportsSpeakerChanged() bool { func (v ProtocolVersion) SupportsTransceiverReuse() bool { return v > 3 } + +// SupportsConnectionQuality - avoid sending frequent ConnectionQuality updates for lower protocol versions +func (v ProtocolVersion) SupportsConnectionQuality() bool { + return v > 4 +}