From 46301d7d6fece3d4ed94e0efa04f86ecffd621c7 Mon Sep 17 00:00:00 2001 From: shishirng Date: Tue, 31 May 2022 11:46:08 -0400 Subject: [PATCH] Send layer dimensions when max subscribed layers change (#746) Signed-off-by: shishir gowda --- pkg/rtc/participant.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 367a68fa7..82571cf2f 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1355,15 +1355,31 @@ func (p *ParticipantImpl) onSubscribedMaxQualityChange(trackID livekit.TrackID, SubscribedQualities: subscribedQualities[0].Qualities, // for compatible with old client SubscribedCodecs: subscribedQualities, } + // get track's layer dimensions + track := p.UpTrackManager.GetPublishedTrack(trackID) + var layerInfo map[livekit.VideoQuality]*livekit.VideoLayer + if track != nil { + layers := track.ToProto().Layers + layerInfo = make(map[livekit.VideoQuality]*livekit.VideoLayer, len(layers)) + for _, layer := range layers { + layerInfo[layer.Quality] = layer + } + } for _, maxSubscribedQuality := range maxSubscribedQualites { + ti := &livekit.TrackInfo{ + Sid: string(trackID), + Type: livekit.TrackType_VIDEO, + } + if info, ok := layerInfo[maxSubscribedQuality.Quality]; ok { + ti.Width = info.Width + ti.Height = info.Height + } + p.params.Telemetry.TrackMaxSubscribedVideoQuality( context.Background(), p.ID(), - &livekit.TrackInfo{ - Sid: string(trackID), - Type: livekit.TrackType_VIDEO, - }, + ti, maxSubscribedQuality.CodecMime, maxSubscribedQuality.Quality, )