Skip to content

rtprtxsend: add "limiting" and "stuffing"

For "limiting" this means using the token bucket algorithm, allowing a sender to control the bitrate being consumed by rtx-packets, in case of an "out-of-control" receiver asking for way too much packets.

'max-kbps' sets the maximum kilobit per second that the RTX element will give out based on requests, limiting the ability for a receiver to congest the available network bandwidth.

'max-bucket-size' is related to the token bucket algorithm, and will allow control of the "burstiness" of the RTX requests, preventing a huge spike in the network.

For "stuffing" this means adding RTX packets as stuffing to meet the total target bitrate 'stuffing-kbps'. There are cases when output rate sent on the network needs to be near constant, but the media isn't (Encoders producing variable bitrates)

Also, for probing the network for available bitrate, the stuffing can be used to create redundant information at a certain bitrate.

Co-authored-by: Tulio Beloqui tulio@pexip.com Co-authored-by: Stian Selnes stian@pexip.com

Merge request reports