webrtc/modules/congestion_controller/goog_cc
Diep Bui 1f2f5dc951 Compute loss rate based on byte count rather than packet count in loss based BWE.
2 main reasons:
1. Packet sizes are much different thus a lost audio packet should not be treated similar to a lost video packet. In low bandwidth/traffic policing scenario, the number of send packet is few, thus the computed loss can be imprecise.

2. Given a candidate bandwidth estimate, the objective function (how good the candidate is) is computed by recomputing loss rate = send rate/estimate bandwith + inherent loss. It means the objective function is byte based rather than packet based.

Potential risk: the current algorithm params are tuned based on packet count, thus it might not work with byte count, which is much higher than packet count.

The change is under field trial and disabled by default.

Bug: webrtc:12707
Change-Id: I8b832e7920d2b4cadcd4a072b3a4d4f26a213a20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325065
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41013}
2023-10-26 09:32:27 +00:00
..
test Adopt absl::string_view in modules/congestion_controller/ 2022-08-17 08:41:23 +00:00
acknowledged_bitrate_estimator.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
acknowledged_bitrate_estimator.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
acknowledged_bitrate_estimator_interface.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
acknowledged_bitrate_estimator_interface.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
acknowledged_bitrate_estimator_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
alr_detector.cc WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 12/inf 2022-03-29 10:14:00 +00:00
alr_detector.h WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 12/inf 2022-03-29 10:14:00 +00:00
alr_detector_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
bitrate_estimator.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
bitrate_estimator.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
BUILD.gn Reland "Remove Probe and Trendline integration from LossbasedBwe" 2023-10-17 10:45:35 +00:00
congestion_window_pushback_controller.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
congestion_window_pushback_controller.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
congestion_window_pushback_controller_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
delay_based_bwe.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
delay_based_bwe.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
delay_based_bwe_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
delay_based_bwe_unittest_helper.cc Ensure the sequence number is initialized in DelayBasedBweTest 2023-09-14 12:58:58 +00:00
delay_based_bwe_unittest_helper.h Ensure the sequence number is initialized in DelayBasedBweTest 2023-09-14 12:58:58 +00:00
delay_increase_detector_interface.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
goog_cc_network_control.cc Allow GoogCC to send padding if BWE is loss limited 2023-10-18 12:21:23 +00:00
goog_cc_network_control.h Allow GoogCC to send padding if BWE is loss limited 2023-10-18 12:21:23 +00:00
goog_cc_network_control_unittest.cc Change expectation of GoogCCNetworkController::OnNetworkAvailability 2023-10-19 17:34:42 +00:00
inter_arrival_delta.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
inter_arrival_delta.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
link_capacity_estimator.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
link_capacity_estimator.h Adds new timer based rate controller trial to GoogCC 2018-12-21 14:14:08 +00:00
loss_based_bandwidth_estimation.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
loss_based_bandwidth_estimation.h WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 12/inf 2022-03-29 10:14:00 +00:00
loss_based_bwe_v2.cc Compute loss rate based on byte count rather than packet count in loss based BWE. 2023-10-26 09:32:27 +00:00
loss_based_bwe_v2.h Compute loss rate based on byte count rather than packet count in loss based BWE. 2023-10-26 09:32:27 +00:00
loss_based_bwe_v2_test.cc Compute loss rate based on byte count rather than packet count in loss based BWE. 2023-10-26 09:32:27 +00:00
probe_bitrate_estimator.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
probe_bitrate_estimator.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
probe_bitrate_estimator_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
probe_controller.cc Change expectation of GoogCCNetworkController::OnNetworkAvailability 2023-10-19 17:34:42 +00:00
probe_controller.h Default dont probe when BWE estimators detects a limit 2023-10-17 11:48:32 +00:00
probe_controller_unittest.cc Change expectation of GoogCCNetworkController::OnNetworkAvailability 2023-10-19 17:34:42 +00:00
robust_throughput_estimator.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
robust_throughput_estimator.h Improved RobustThroughputEstimator 2022-05-11 08:45:53 +00:00
robust_throughput_estimator_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
send_side_bandwidth_estimation.cc Reland "Remove Probe and Trendline integration from LossbasedBwe" 2023-10-17 10:45:35 +00:00
send_side_bandwidth_estimation.h Remove upper_link_capacity from loss_based_bwe_v2. 2023-09-22 10:33:14 +00:00
send_side_bandwidth_estimation_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
trendline_estimator.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
trendline_estimator.h Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00
trendline_estimator_unittest.cc Clean up includes in goog_cc/ 2023-09-06 12:40:36 +00:00