Commit graph

16 commits

Author SHA1 Message Date
Diep Bui
4ceea65848 Integrate trendline estimator into loss based bwe v2.
Bug: webrtc:12707
Change-Id: I510d3799c14599344d1714178e42b29e7c0c06d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/254380
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36236}
2022-03-17 13:07:44 +00:00
Christoffer Rodbro
40abb7d8ff Default the behavior allowing fast rampup when REMB cap is lifted.
Bug: none
Change-Id: I60d5ed448b3cfb6591bd77b97f406a62e2fdd704
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234523
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35164}
2021-10-07 14:44:13 +00:00
Fanny Linderborg
f137b75a4d Add a bandwidth estimator based on loss statistics and maximum likelihood modelling.
Bug: webrtc:12707
Change-Id: Ia221d0b7aee6edb5ae7b0f3b0ad08ac610b3340e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224300
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34626}
2021-08-02 11:26:00 +00:00
Artem Titov
6f4b4fa18b Use backticks not vertical bars to denote variables in comments for /modules/congestion_controller
Bug: webrtc:12338
Change-Id: Id46786886f13266177dd7fa8f1fb30c097df1373
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227094
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34622}
2021-08-02 11:09:20 +00:00
Christoffer Rodbro
a3796c8090 Revert the send-side bwe behavior to slow ramp-up on lifted REMB cap.
The behavior was changed on https://webrtc-review.googlesource.com/c/src/+/219696. The revert is due to unknown implications for a downstream project. As REMB caps are not used with send-side bandwidth estimation it should be a noop.

Bug: webrtc:12306
Change-Id: Idecc49fda007f72512a8fc1e35d62e673b00df3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222607
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34313}
2021-06-17 07:44:02 +00:00
Christoffer Rodbro
f3ff3c5b77 Reinstate killswitch for WebRTC-Bwe-ReceiverLimitCapsOnly.
Bug: webrtc:12306
Change-Id: Idd643c3152252732562553f207d0a6335773e98a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221043
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34211}
2021-06-03 09:15:58 +00:00
Christoffer Rodbro
6396b48b18 Avoid modifying BWE internal state on reception of REMB feedback.
Instead, cap the final bandwidth estimate by the last received cap. This allows fast rampup after a REMB cap is lifted.

Bug: webrtc:12306
Change-Id: Ia99707134ce145275460524b3e46923876fdf62f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219696
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34109}
2021-05-25 09:03:23 +00:00
Per Kjellander
62b6c92298 Refactor LossBasedBandwidthEstimation
- Reset functionality based on loss history
- BWE rampup/down moved to SendSideBandwidthEstimation::UpdateEstimate to align with other estimators.


Bug: None
Change-Id: Ic13795c7ed1852b38baf8359c5c9f4dae6e9ea04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207427
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33288}
2021-02-17 12:22:22 +00:00
Danil Chapovalov
1399211a96 Fix potential 32bit integer overflow on rtcp receiver report
Bug: b/174613134
Change-Id: I8c9c8496ca6e4072d280d2024edff61edf9be250
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/199960
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32892}
2020-12-30 23:36:07 +00:00
Christoffer Rodbro
8649e49d10 Add a field trial to skip REMB modification of BWE internal state.
By enabling the field trial, REMB caps the output target bitrate, but
does not change any internal BWE state variables.

Bug: webrtc:12306
Change-Id: I43e9ac1d1b7dff292d7aa5800c01d874bc91aaff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197809
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32867}
2020-12-21 10:49:06 +00:00
Per Kjellander
9dfe2fce9a Replace field trials with WebRtcKeyValueConfig in SendSideBandwidthEstimate
And ad field trial flag to be able to disable RttBasedBackoff

Bug: webrtc:10335
Change-Id: Ib67d3e75787daed96e22b2c732f6839e23e4abda
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191967
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32566}
2020-11-09 09:52:05 +00:00
Sebastian Jansson
e00ea5ef11 Refactoring CapBitrateToThresholds in SendSideBandwidthEstimation.
Renaming and splitting it into helper methods. This is to more clearly
separate the things it does and prepares for moving things to GoogCC.

Additionally, replacing calls with current_target_ as input with
ApplyTargetLimits to better reflect the intended behavior.

Bug: webrtc:9883
Change-Id: I2c47ec74a9cbc271aff91645c763373297f26acc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154425
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29346}
2019-09-30 13:30:32 +00:00
Sebastian Jansson
2bc55585f6 Renaming variables in SendSideBandwidthEstimation.
This makes them better reflect their contents and usage. Also replacing
zero with infinity where it's used to reflect the lack of a limit.

Bug: webrtc:9883
Change-Id: Ibc498aa3a41d34c16d363e892a927e482949ab51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154423
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29313}
2019-09-26 08:30:40 +00:00
Sebastian Jansson
ad10222289 Cleanup of unused field trials and options in SendSideBandwidthEstimation
Bug: webrtc:9883
Change-Id: Icbf4d6cb84da51f800343675f181e41b7cc45a6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154422
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29306}
2019-09-25 15:08:12 +00:00
Sebastian Jansson
461ee8538a Cleanup of target rates in GoogCC/SendSideBandwidthEstimation.
Removing the redundant last_estimated_bitrate_bps_ and renaming some
members to better reflect the contents. Also replacing the CurrentEstimate
method of SendSideBandwidthEstimation with value specific access methods.

Bug: webrtc:9883
Change-Id: I73cb08e09374adddf5991cb3793fa4a4fee20c85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154351
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29304}
2019-09-25 14:31:39 +00:00
Sebastian Jansson
01dd88505c Moves contents of bitrate_controller to goog_cc
This CL moves send_side_bandwidth_estimation.cc/h and
loss_based_bandwidth_estimation.cc/h from modules/bitrate_controller
to modules/congestion_controller/goog_cc.

Bug: webrtc:9883
Change-Id: Ibb2c2ba3762007e7e5114f39042ee96431b73776
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154346
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29297}
2019-09-25 08:43:24 +00:00
Renamed from modules/bitrate_controller/send_side_bandwidth_estimation.h (Browse further)