diff options
author | Edward Hervey <edward@centricular.com> | 2023-04-14 11:42:51 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2023-06-06 22:43:33 +0300 |
commit | 18773a9df149cd65b81474dbf6d1c7e7a5a01646 (patch) | |
tree | 8c3d36debe6acc4d6df7e9ae10be9cecd97b3d2b | |
parent | e8e247d1edb8e57a9ff68a5800cfdc671218f533 (diff) |
rtpgccbwe: Improve packet handling
Both the delay-based *and* loss-based estimates should be computed instead of
just one. This ensures faster adaptation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1233>
-rw-r--r-- | net/rtp/src/gcc/imp.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/rtp/src/gcc/imp.rs b/net/rtp/src/gcc/imp.rs index f56d0a785..4dff33113 100644 --- a/net/rtp/src/gcc/imp.rs +++ b/net/rtp/src/gcc/imp.rs @@ -1190,11 +1190,9 @@ impl ObjectSubclass for BandwidthEstimator { let mut state = this.state.lock().unwrap(); state.detector.update(&mut packets); - if !state.delay_control(&bwe) { - state.loss_control(&bwe) - } else { - true - } + let bitrate_updated_by_delay = state.delay_control(&bwe); + let bitrate_updated_by_loss = state.loss_control(&bwe); + bitrate_updated_by_delay || bitrate_updated_by_loss }; if bitrate_changed { |