mirror of
https://github.com/livekit/livekit.git
synced 2026-10-23 08:42:46 +00:00
Freeze update on congested probe. (#3228)
Reverting back to pre-refactor behaviour. Was trying to avoid doing special treatment when in probe, but REMB values are hard to predict and the NACKs as well. So, freeze updates when congesting in probe till the probe is done. Otherwise, further changes while probe is finalising sometimes causes an invalid signal and tracks are not up allocated.
This commit is contained in:
1 parent
12b3da0a40
commit
2dcb5c928a
3 files changed
+39
-100
No files matched your search
@@ -695,13 +695,13 @@ func (s *StreamAllocator) handleSignalEstimate(event Event) {
|
||||
func (s *StreamAllocator) handleSignalPeriodicPing(Event) {
|
||||
// finalize any probe that may have finished/aborted
|
||||
if pci, ok := s.probeController.MaybeFinalizeProbe(); ok {
|
||||
isCongestionClearing, channelCapacity := s.params.BWE.ProbeClusterDone(pci)
|
||||
isCongesting, channelCapacity := s.params.BWE.ProbeClusterDone(pci)
|
||||
s.params.Logger.Debugw(
|
||||
"stream allocator: probe result",
|
||||
"isCongestionClearing", isCongestionClearing,
|
||||
"isCongesting", isCongesting,
|
||||
"channelCapacity", channelCapacity,
|
||||
)
|
||||
if isCongestionClearing {
|
||||
if !isCongesting {
|
||||
if channelCapacity > s.committedChannelCapacity {
|
||||
s.committedChannelCapacity = channelCapacity
|
||||
}
|
||||
@@ -709,7 +709,7 @@ func (s *StreamAllocator) handleSignalPeriodicPing(Event) {
|
||||
s.maybeBoostDeficientTracks()
|
||||
}
|
||||
|
||||
s.probeController.ProbeCongestionSignal(isCongestionClearing)
|
||||
s.probeController.ProbeCongestionSignal(isCongesting)
|
||||
}
|
||||
|
||||
// probe if necessary and timing is right
|
||||
|
||||
Reference in new issue
Block a user