From d83bf06167da78fc164b6722b5ad9258335810c8 Mon Sep 17 00:00:00 2001 From: tkchin Date: Mon, 7 Nov 2016 11:38:53 -0800 Subject: [PATCH] iOS: Add improved BWE field trial. BUG=webrtc:6664 NOTRY=True Review-Url: https://codereview.webrtc.org/2482593002 Cr-Commit-Position: refs/heads/master@{#14958} --- webrtc/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m | 2 +- webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm | 8 ++++++++ webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/webrtc/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m b/webrtc/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m index 3cdccd9de0..6081d60c69 100644 --- a/webrtc/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m +++ b/webrtc/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m @@ -25,7 +25,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - RTCInitFieldTrials(RTCFieldTrialOptionsSendSideBwe); + RTCInitFieldTrials(RTCFieldTrialOptionsImprovedBitrateEstimate); RTCInitializeSSL(); RTCSetupInternalTracer(); _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; diff --git a/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm index 6e4230de88..ff76133ab7 100644 --- a/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm +++ b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm @@ -16,12 +16,20 @@ #include "webrtc/system_wrappers/include/field_trial_default.h" +static NSString * const kRTCEnableImprovedBitrateEstimateString = + @"WebRTC-ImprovedBitrateEstimate/Enabled/"; + static std::unique_ptr gFieldTrialInitString; void RTCInitFieldTrials(RTCFieldTrialOptions options) { NSMutableString *fieldTrialInitString = [NSMutableString string]; size_t len = fieldTrialInitString.length + 1; gFieldTrialInitString.reset(new char[len]); + + if (options & RTCFieldTrialOptionsImprovedBitrateEstimate) { + [fieldTrialInitString appendString:kRTCEnableImprovedBitrateEstimateString]; + } + if (![fieldTrialInitString getCString:gFieldTrialInitString.get() maxLength:len encoding:NSUTF8StringEncoding]) { diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h index 7e7c1c4480..10f84b302a 100644 --- a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h +++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h @@ -14,7 +14,7 @@ typedef NS_OPTIONS(NSUInteger, RTCFieldTrialOptions) { RTCFieldTrialOptionsNone = 0, - RTCFieldTrialOptionsSendSideBwe = 1 << 0, + RTCFieldTrialOptionsImprovedBitrateEstimate = 1 << 0, }; /** Must be called before any other call into WebRTC. See: