Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Unified Diff: webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm

Issue 2583643002: iOS: Add trendline filter to field trials. (Closed)
Patch Set: Remove extra space. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
index 3057a17aedf34fdf089ffc66198b802a2338e335..224f7fd5956a1cae8a911846aaa4a2567d64c5c9 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
@@ -16,24 +16,31 @@
#include "webrtc/system_wrappers/include/field_trial_default.h"
-static NSString * const kRTCEnableImprovedBitrateEstimateString =
- @"WebRTC-ImprovedBitrateEstimate/Enabled/";
-static NSString * const kRTCEnableAudioSendSideBweString =
- @"WebRTC-Audio-SendSideBwe/Enabled/";
-static NSString * const kRTCEnableFlexFec03String =
- @"WebRTC-FlexFEC-03/Enabled/";
+NSString * const kRTCFieldTrialAudioSendSideBweKey = @"WebRTC-Audio-SendSideBwe";
+NSString * const kRTCFieldTrialFlexFec03Key = @"WebRTC-FlexFEC-03";
+NSString * const kRTCFieldTrialImprovedBitrateEstimateKey = @"WebRTC-ImprovedBitrateEstimate";
+NSString * const kRTCFieldTrialTrendlineFilterKey = @"WebRTC-BweTrendlineFilter";
+NSString * const kRTCFieldTrialEnabledValue = @"Enabled";
+
static std::unique_ptr<char[]> gFieldTrialInitString;
-void RTCInitFieldTrials(RTCFieldTrialOptions options) {
- NSMutableString *fieldTrialInitString = [NSMutableString string];
- if (options & RTCFieldTrialOptionsImprovedBitrateEstimate) {
- [fieldTrialInitString appendString:kRTCEnableImprovedBitrateEstimateString];
- }
- if (options & RTCFieldTrialOptionsAudioSendSideBwe) {
- [fieldTrialInitString appendString:kRTCEnableAudioSendSideBweString];
+NSString *RTCFieldTrialTrendlineFilterValue(
+ size_t windowSize, double smoothingCoeff, double thresholdGain) {
+ NSString *format = @"Enabled-%zu,%lf,%lf";
+ return [NSString stringWithFormat:format, windowSize, smoothingCoeff, thresholdGain];
+}
+
+void RTCInitFieldTrialDictionary(NSDictionary<NSString *, NSString *> *fieldTrials) {
+ if (!fieldTrials) {
+ RTCLogWarning(@"No fieldTrials provided.");
+ return;
}
- if (options & RTCFieldTrialOptionsFlexFec03) {
- [fieldTrialInitString appendString:kRTCEnableFlexFec03String];
+ // Assemble the keys and values into the field trial string.
+ // We don't perform any extra format checking. That should be done by the underlying WebRTC calls.
+ NSMutableString *fieldTrialInitString = [NSMutableString string];
+ for (NSString *key in fieldTrials) {
+ NSString *fieldTrialEntry = [NSString stringWithFormat:@"%@/%@/", key, fieldTrials[key]];
+ [fieldTrialInitString appendString:fieldTrialEntry];
}
size_t len = fieldTrialInitString.length + 1;
gFieldTrialInitString.reset(new char[len]);
« no previous file with comments | « webrtc/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m ('k') | webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698