Allow overriding subsets of probing field trials
The probe configuration is currently a single field trial. To allow
multiple experiments with non-overlapping subsets of these keys I've
added a few extra keys that override different subsets of the config.
Bug: webrtc:10394
Change-Id: I54ffd1105129794fcdae4cce314910acaa4074af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138274
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28076}
diff --git a/modules/congestion_controller/goog_cc/probe_controller.cc b/modules/congestion_controller/goog_cc/probe_controller.cc
index f0ad413..1b13694 100644
--- a/modules/congestion_controller/goog_cc/probe_controller.cc
+++ b/modules/congestion_controller/goog_cc/probe_controller.cc
@@ -13,8 +13,8 @@
#include <algorithm>
#include <initializer_list>
#include <string>
-#include "absl/memory/memory.h"
+#include "absl/memory/memory.h"
#include "api/units/data_rate.h"
#include "api/units/time_delta.h"
#include "api/units/timestamp.h"
@@ -110,6 +110,19 @@
&alr_probing_interval, &alr_probe_scale, &first_allocation_probe_scale,
&second_allocation_probe_scale, &allocation_allow_further_probing},
key_value_config->Lookup("WebRTC-Bwe-ProbingConfiguration"));
+
+ // Specialized keys overriding subsets of WebRTC-Bwe-ProbingConfiguration
+ ParseFieldTrial(
+ {&first_exponential_probe_scale, &second_exponential_probe_scale},
+ key_value_config->Lookup("WebRTC-Bwe-InitialProbing"));
+ ParseFieldTrial({&further_exponential_probe_scale, &further_probe_threshold},
+ key_value_config->Lookup("WebRTC-Bwe-ExponentialProbing"));
+ ParseFieldTrial({&alr_probing_interval, &alr_probe_scale},
+ key_value_config->Lookup("WebRTC-Bwe-AlrProbing"));
+ ParseFieldTrial(
+ {&first_allocation_probe_scale, &second_allocation_probe_scale,
+ &allocation_allow_further_probing},
+ key_value_config->Lookup("WebRTC-Bwe-AllocationProbing"));
}
ProbeControllerConfig::ProbeControllerConfig(const ProbeControllerConfig&) =