mirror of
https://github.com/livekit/livekit.git
synced 2026-04-26 13:07:39 +00:00
Fix down stream packet loss reporting. (#3092)
* Fix down stream packet loss reporting. * format
This commit is contained in:
@@ -261,13 +261,13 @@ func (cs *ConnectionStats) updateScoreFromReceiverReport(at time.Time) (float32,
|
||||
|
||||
// delta stat duration could be large due to not receiving receiver report for a long time (for example, due to mute),
|
||||
// adjust to streaming start if necessary
|
||||
agg := toAggregateDeltaInfo(streams)
|
||||
if streamingStartedAt.After(cs.params.SenderProvider.GetLastReceiverReportTime()) {
|
||||
// last receiver report was before streaming started, wait for next one
|
||||
mos, _ := cs.scorer.GetMOSAndQuality()
|
||||
return mos, streams
|
||||
}
|
||||
|
||||
agg := toAggregateDeltaInfo(streams)
|
||||
if streamingStartedAt.After(agg.StartTime) {
|
||||
agg.StartTime = streamingStartedAt
|
||||
}
|
||||
|
||||
@@ -1769,10 +1769,11 @@ func (d *DownTrack) handleRTCP(bytes []byte) {
|
||||
}
|
||||
if len(rr.Reports) > 0 {
|
||||
d.listenerLock.RLock()
|
||||
for _, l := range d.receiverReportListeners {
|
||||
rrListeners := d.receiverReportListeners
|
||||
d.listenerLock.RUnlock()
|
||||
for _, l := range rrListeners {
|
||||
l(d, rr)
|
||||
}
|
||||
d.listenerLock.RUnlock()
|
||||
}
|
||||
|
||||
case *rtcp.TransportLayerNack:
|
||||
|
||||
@@ -881,8 +881,9 @@ func (r *RTPStatsSender) getSenderSnapshot(startTime time.Time, s *senderSnapsho
|
||||
packetsDuplicate: r.packetsDuplicate,
|
||||
bytesDuplicate: r.bytesDuplicate,
|
||||
headerBytesDuplicate: r.headerBytesDuplicate,
|
||||
packetsLostFeed: r.packetsLost,
|
||||
packetsOutOfOrder: s.packetsOutOfOrder + s.intervalStats.packetsOutOfOrder,
|
||||
packetsLostFeed: r.packetsLost,
|
||||
packetsLost: r.packetsLostFromRR,
|
||||
frames: s.frames + s.intervalStats.frames,
|
||||
nacks: r.nacks,
|
||||
plis: r.plis,
|
||||
|
||||
Reference in New Issue
Block a user