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 +}