mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-07-03 14:05:39 +02:00
2dffb5acbe
the hardcoded 400kb/s was a stability compromise and the previous knob just moved the guesswork to operators: they had to hand-measure each sfu's policer knee by ramping until stalls. replace both with a delay-based aimd controller that finds the knee at runtime. the sfu policer queues before it drops, so kcp's smoothed rtt inflates ahead of the throughput collapse from #95/#107. the pacer folds one srtt sample per writer tick: probe the rate up additively while delay sits near the path baseline, back off multiplicatively once it inflates. it settles just under the per-sfu knee on its own, both on the client->server writerLoop and each server->client peer pump. vp8.max_bytes_per_sec is now just the probe ceiling (default 1mb/s); a fresh session still starts from the old 400kb/s operating point so a healthy path only ramps up. no per-service hand-tuning left. refs #107