diff --git a/pkg/rtc/mediatrack.go b/pkg/rtc/mediatrack.go index 67d624a20..216ae5b81 100644 --- a/pkg/rtc/mediatrack.go +++ b/pkg/rtc/mediatrack.go @@ -75,17 +75,14 @@ func NewMediaTrack(params MediaTrackParams) *MediaTrack { } }) t.MediaTrackReceiver.OnVideoLayerUpdate(func(layers []*livekit.VideoLayer) { - for _, layer := range layers { - t.params.Telemetry.TrackPublishedUpdate(context.Background(), t.PublisherID(), - &livekit.TrackInfo{ - Sid: string(t.ID()), - Type: livekit.TrackType_VIDEO, - Muted: t.IsMuted(), - Width: layer.Width, - Height: layer.Height, - Simulcast: t.IsSimulcast(), - }) - } + t.params.Telemetry.TrackPublishedUpdate(context.Background(), t.PublisherID(), + &livekit.TrackInfo{ + Sid: string(t.ID()), + Type: livekit.TrackType_VIDEO, + Muted: t.IsMuted(), + Simulcast: t.IsSimulcast(), + Layers: layers, + }) }) return t diff --git a/pkg/telemetry/test/telemetry_service_events_test.go b/pkg/telemetry/test/telemetry_service_events_test.go index 7c00491d3..5851b1516 100644 --- a/pkg/telemetry/test/telemetry_service_events_test.go +++ b/pkg/telemetry/test/telemetry_service_events_test.go @@ -83,16 +83,20 @@ func Test_OnTrackUpdate_EventIsSent(t *testing.T) { // prepare partID := "part1" trackID := "track1" - width := uint32(360) - height := uint32(720) + layer := &livekit.VideoLayer{ + Quality: livekit.VideoQuality_HIGH, + Width: uint32(360), + Height: uint32(720), + Bitrate: 2048, + } + trackInfo := &livekit.TrackInfo{ Sid: trackID, Type: livekit.TrackType_VIDEO, Muted: false, - Width: width, - Height: height, Simulcast: false, DisableDtx: false, + Layers: []*livekit.VideoLayer{layer}, } // do @@ -105,8 +109,10 @@ func Test_OnTrackUpdate_EventIsSent(t *testing.T) { require.Equal(t, partID, event.ParticipantId) require.Equal(t, trackID, event.Track.Sid) - require.Equal(t, width, event.Track.Width) - require.Equal(t, height, event.Track.Height) + require.NotNil(t, event.Track.Layers) + require.Equal(t, layer.Width, event.Track.Layers[0].Width) + require.Equal(t, layer.Height, event.Track.Layers[0].Height) + require.Equal(t, layer.Quality, event.Track.Layers[0].Quality) }