Wait for a more stable measurement of sample rate. (#1764)

This commit is contained in:
Raja Subramanian
2023-06-03 14:26:26 +05:30
committed by GitHub
parent e7879a46fc
commit f5c5d4e079
+16 -13
View File
@@ -17,12 +17,12 @@ import (
)
const (
GapHistogramNumBins = 101
NumSequenceNumbers = 65536
FirstSnapshotId = 1
SnInfoSize = 8192
SnInfoMask = SnInfoSize - 1
TooLargeOWDDelta = 400 * time.Millisecond
GapHistogramNumBins = 101
NumSequenceNumbers = 65536
FirstSnapshotId = 1
SnInfoSize = 8192
SnInfoMask = SnInfoSize - 1
MeasurementWindowSecondsMin = float64(5.0)
)
// -------------------------------------------------------
@@ -933,13 +933,16 @@ func (r *RTPStats) GetRtcpSenderReport(ssrc uint32, srFirst *RTCPSenderReportDat
}
}
rtpDiffSinceFirst := nowRTPExt - r.extStartTS
rate := float64(rtpDiffSinceFirst) / timeSinceFirst.Seconds()
pidOutput := r.pidController.Update(
float64(r.params.ClockRate),
rate,
now,
)
pidOutput := float64(0.0)
if timeSinceFirst.Seconds() > MeasurementWindowSecondsMin {
rtpDiffSinceFirst := nowRTPExt - r.extStartTS
rate := float64(rtpDiffSinceFirst) / timeSinceFirst.Seconds()
pidOutput = r.pidController.Update(
float64(r.params.ClockRate),
rate,
now,
)
}
// monitor and log RTP timestamp anomalies
var ntpDiffSinceLast time.Duration