Add field trial for fast retransmissions.

This adds a (default off) flag which makes retransmissions be processed
immediately, just like audio packets normally are.
This might increase send rates and thus losses in some cases, but will
also reduce retranmission delays especially when timer slack or bursting
is used. Usefuleness TBD via experiment.

Bug: chromium:1354491
Change-Id: Icaa83125bfb30826ce72e6e786963d411e05ea57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272483
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37926}
This commit is contained in:
Erik Språng
2022-08-20 14:34:20 +02:00
committed by WebRTC LUCI CQ
parent 1d0b0aed97
commit c18a8fd8d1
6 changed files with 99 additions and 30 deletions

View File

@ -176,6 +176,12 @@ class PacingController {
Timestamp CurrentTime() const;
// Helper methods for packet that may not be paced. Returns a finite Timestamp
// if a packet type is configured to not be paced and the packet queue has at
// least one packet of that type. Otherwise returns
// Timestamp::MinusInfinity().
Timestamp NextUnpacedSendTime() const;
Clock* const clock_;
PacketSender* const packet_sender_;
const FieldTrialsView& field_trials_;
@ -184,6 +190,7 @@ class PacingController {
const bool send_padding_if_silent_;
const bool pace_audio_;
const bool ignore_transport_overhead_;
const bool fast_retransmissions_;
TimeDelta min_packet_limit_;
DataSize transport_overhead_per_packet_;