mirror of
https://github.com/livekit/livekit.git
synced 2026-03-30 17:45:40 +00:00
Receiver view is used for connection quality. Sender view is used for analytics. One thing that this introduces is that sender view uses the packet loss information from receiver view as true loss is available only in the RTCP Receiver Reports received from the remote side. So, the time alignment is off, i. e. receiver report happens periodically and it includes information till the time at which it was sent from remote side, but sender could have sent more packets after that time. The split should ensure that analytics does not rely on remote side sending proper receiver repoerts albeit at slight misalignment of loss statistic for remotes that send RTCP RR (which should be majority of the cases)
25 lines
826 B
Go
25 lines
826 B
Go
// Copyright 2023 LiveKit, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package buffer
|
|
|
|
import "github.com/livekit/livekit-server/pkg/sfu/rtpstats"
|
|
|
|
type StreamStatsWithLayers struct {
|
|
RTPStats *rtpstats.RTPDeltaInfo
|
|
Layers map[int32]*rtpstats.RTPDeltaInfo
|
|
|
|
RTPStatsRemoteView *rtpstats.RTPDeltaInfo
|
|
}
|