Removes old probe controller.
This removes the old version of Probe Controller. The new controller is slightly different, therefore the legacy SendSideCongestionController is changed to accommodate the new function. Most notably, the functionality is changed so that probes are now sent only from the OnProcess call and not immediately on changing a parameter. The lock previously owned and used by ProbeController is moved to SendSideCongestionController. This should not change any behavior. Bug: webrtc:8415 Change-Id: I3c69ddeb04aeeae1234a2a5e116fb677f36b4ae4 Reviewed-on: https://webrtc-review.googlesource.com/86541 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23973}
This commit is contained in:
committed by
Commit Bot
parent
e26ff4b581
commit
b2ecc3dc49
@ -23,8 +23,6 @@ rtc_static_library("goog_cc") {
|
||||
"goog_cc_network_control.cc",
|
||||
"goog_cc_network_control.h",
|
||||
"include/goog_cc_factory.h",
|
||||
"probe_controller.cc",
|
||||
"probe_controller.h",
|
||||
]
|
||||
|
||||
if (!build_with_chromium && is_clang) {
|
||||
@ -36,6 +34,7 @@ rtc_static_library("goog_cc") {
|
||||
":alr_detector",
|
||||
":delay_based_bwe",
|
||||
":estimators",
|
||||
":probe_controller",
|
||||
"../..:module_api",
|
||||
"../../..:webrtc_common",
|
||||
"../../../:typedefs",
|
||||
@ -146,6 +145,29 @@ rtc_source_set("delay_based_bwe") {
|
||||
}
|
||||
}
|
||||
|
||||
rtc_source_set("probe_controller") {
|
||||
sources = [
|
||||
"probe_controller.cc",
|
||||
"probe_controller.h",
|
||||
]
|
||||
|
||||
deps = [
|
||||
"../../../api/transport:network_control",
|
||||
"../../../logging:rtc_event_log_api",
|
||||
"../../../logging:rtc_event_pacing",
|
||||
"../../../rtc_base:checks",
|
||||
"../../../rtc_base:rtc_base_approved",
|
||||
"../../../system_wrappers:field_trial_api",
|
||||
"../../../system_wrappers:metrics_api",
|
||||
"//third_party/abseil-cpp/absl/types:optional",
|
||||
]
|
||||
|
||||
if (!build_with_chromium && is_clang) {
|
||||
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
|
||||
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
|
||||
}
|
||||
}
|
||||
|
||||
if (rtc_include_tests) {
|
||||
rtc_source_set("test_goog_cc_printer") {
|
||||
testonly = true
|
||||
@ -177,6 +199,7 @@ if (rtc_include_tests) {
|
||||
":delay_based_bwe",
|
||||
":estimators",
|
||||
":goog_cc",
|
||||
":probe_controller",
|
||||
"../../../api/transport:network_control",
|
||||
"../../../api/transport:network_control_test",
|
||||
"../../../rtc_base:checks",
|
||||
|
||||
@ -19,7 +19,6 @@
|
||||
#include "system_wrappers/include/metrics.h"
|
||||
|
||||
namespace webrtc {
|
||||
namespace webrtc_cc {
|
||||
|
||||
namespace {
|
||||
// The minimum number probing packets used.
|
||||
@ -142,6 +141,7 @@ void ProbeController::OnMaxTotalAllocatedBitrate(
|
||||
estimated_bitrate_bps_ != 0 &&
|
||||
(max_bitrate_bps_ <= 0 || estimated_bitrate_bps_ < max_bitrate_bps_) &&
|
||||
estimated_bitrate_bps_ < max_total_allocated_bitrate) {
|
||||
max_total_allocated_bitrate_ = max_total_allocated_bitrate;
|
||||
InitiateProbing(at_time_ms, {max_total_allocated_bitrate}, false);
|
||||
}
|
||||
}
|
||||
@ -334,5 +334,4 @@ void ProbeController::InitiateProbing(
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace webrtc_cc
|
||||
} // namespace webrtc
|
||||
|
||||
@ -24,8 +24,6 @@ namespace webrtc {
|
||||
|
||||
class Clock;
|
||||
|
||||
namespace webrtc_cc {
|
||||
|
||||
// This class controls initiation of probing to estimate initial channel
|
||||
// capacity. There is also support for probing during a session when max
|
||||
// bitrate is adjusted by an application.
|
||||
@ -104,7 +102,6 @@ class ProbeController {
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(ProbeController);
|
||||
};
|
||||
|
||||
} // namespace webrtc_cc
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // MODULES_CONGESTION_CONTROLLER_GOOG_CC_PROBE_CONTROLLER_H_
|
||||
|
||||
Reference in New Issue
Block a user