From ad2efb8f2e2c1c29b4badc092cc09f3cdedf9c37 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Sat, 5 Sep 2026 23:50:49 +0800 Subject: [PATCH] bump webrtc fork: T3-rtx restarts only for the earliest chunk's fast retransmission rustdesk-org/webrtc 2b8e55bc. Sending without a congestion window, a fast retransmission of any chunk restarted T3-rtx, so a chunk past the fast retransmission cap - left to that timer - never reached it while later chunks kept being resent, which a lossy stream does every couple of frames. The timer is the earliest in-flight chunk's, and only its resend restarts it now. Nothing else changes; the benchmark is unchanged. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_019aokqJuhjvB3kijXtAg5Ns --- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 25966959a..1933c8dae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9708,7 +9708,7 @@ dependencies = [ [[package]] name = "webrtc-sctp" version = "0.12.0" -source = "git+https://github.com/rustdesk-org/webrtc?rev=cc6633bc240936b4973a3a30b12dad02d9a57f3f#cc6633bc240936b4973a3a30b12dad02d9a57f3f" +source = "git+https://github.com/rustdesk-org/webrtc?rev=2b8e55bcbf0ebfd465d6c34d698d4ccc5315a956#2b8e55bcbf0ebfd465d6c34d698d4ccc5315a956" dependencies = [ "arc-swap", "async-trait", @@ -9748,7 +9748,7 @@ dependencies = [ [[package]] name = "webrtc-util" version = "0.11.0" -source = "git+https://github.com/rustdesk-org/webrtc?rev=cc6633bc240936b4973a3a30b12dad02d9a57f3f#cc6633bc240936b4973a3a30b12dad02d9a57f3f" +source = "git+https://github.com/rustdesk-org/webrtc?rev=2b8e55bcbf0ebfd465d6c34d698d4ccc5315a956#2b8e55bcbf0ebfd465d6c34d698d4ccc5315a956" dependencies = [ "async-trait", "bitflags 1.3.2", diff --git a/Cargo.toml b/Cargo.toml index be691f305..5a55187c7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -226,8 +226,8 @@ libxdo-sys = { path = "libs/libxdo-sys-stub" } # path that jitters, every DATA chunk asks for its SACK at once so a lost tail is back within an # RTT at KCP's RTO floors, and bundles of small chunks stay within the MTU. # Pinned by rev, not branch: a fork branch can be rewritten out from under the lockfile. -webrtc-util = { git = "https://github.com/rustdesk-org/webrtc", rev = "cc6633bc240936b4973a3a30b12dad02d9a57f3f" } -webrtc-sctp = { git = "https://github.com/rustdesk-org/webrtc", rev = "cc6633bc240936b4973a3a30b12dad02d9a57f3f" } +webrtc-util = { git = "https://github.com/rustdesk-org/webrtc", rev = "2b8e55bcbf0ebfd465d6c34d698d4ccc5315a956" } +webrtc-sctp = { git = "https://github.com/rustdesk-org/webrtc", rev = "2b8e55bcbf0ebfd465d6c34d698d4ccc5315a956" } [package.metadata.winres] LegalCopyright = "Copyright © 2026 Purslane Tech Pte. Ltd. All rights reserved."