Revert ObjC API changes for BWE allocation strategy
The ObjC API (the files in sdk/objc/Framework/Headers/WebRTC/) needs to
be pure ObjC. The changes that are reverted here introduced C++ which
turns it into ObjC++.
We don't have a test protectcing this right now, but it's probably
something we should add to catch changes like this in the future.
TBR=alexnarest@webrtc.org,deadbeef@webrtc.org
Bug: webrtc:8243
Change-Id: Idea688f4014cd44c27cf2cb2a5ec8a9ea7da3c00
Reviewed-on: https://webrtc-review.googlesource.com/16429
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20463}
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index b7474d6..0041d04 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -176,7 +176,6 @@
if (is_ios) {
deps = [
":AppRTCMobile_ios_frameworks",
- "../rtc_base:rtc_base",
]
} else {
deps = [
@@ -207,8 +206,6 @@
"objc/AppRTCMobile/ARDAppClient.m",
"objc/AppRTCMobile/ARDAppEngineClient.h",
"objc/AppRTCMobile/ARDAppEngineClient.m",
- "objc/AppRTCMobile/ARDBitrateAllocationStrategy.h",
- "objc/AppRTCMobile/ARDBitrateAllocationStrategy.mm",
"objc/AppRTCMobile/ARDBitrateTracker.h",
"objc/AppRTCMobile/ARDBitrateTracker.m",
"objc/AppRTCMobile/ARDCaptureController.h",
@@ -252,7 +249,6 @@
deps = [
":apprtc_common",
":socketrocket",
- "../rtc_base:rtc_base",
]
if (is_ios) {
deps += [ ":AppRTCMobile_ios_frameworks" ]
diff --git a/examples/objc/AppRTCMobile/ARDAppClient.m b/examples/objc/AppRTCMobile/ARDAppClient.m
index f606de0..8e933b9 100644
--- a/examples/objc/AppRTCMobile/ARDAppClient.m
+++ b/examples/objc/AppRTCMobile/ARDAppClient.m
@@ -25,7 +25,6 @@
#import "WebRTC/RTCVideoTrack.h"
#import "ARDAppEngineClient.h"
-#import "ARDBitrateAllocationStrategy.h"
#import "ARDJoinResponse.h"
#import "ARDMessageResponse.h"
#import "ARDSettingsModel.h"
@@ -51,7 +50,6 @@
static NSString * const kARDAudioTrackId = @"ARDAMSa0";
static NSString * const kARDVideoTrackId = @"ARDAMSv0";
static NSString * const kARDVideoTrackKind = @"video";
-static uint32_t const kSufficientAudioBitrate = 16000;
// TODO(tkchin): Add these as UI options.
static BOOL const kARDAppClientEnableTracing = NO;
@@ -106,7 +104,6 @@
ARDTimerProxy *_statsTimer;
ARDSettingsModel *_settings;
RTCVideoTrack *_localVideoTrack;
- ARDBitrateAllocationStrategy *_bitrateAllocationStrategy;
}
@synthesize shouldGetStats = _shouldGetStats;
@@ -309,14 +306,12 @@
_hasReceivedSdp = NO;
_messageQueue = [NSMutableArray array];
_localVideoTrack = nil;
-
#if defined(WEBRTC_IOS)
[_factory stopAecDump];
[_peerConnection stopRtcEventLog];
#endif
[_peerConnection close];
_peerConnection = nil;
- _bitrateAllocationStrategy = nil;
self.state = kARDAppClientStateDisconnected;
#if defined(WEBRTC_IOS)
if (kARDAppClientEnableTracing) {
@@ -538,14 +533,8 @@
_peerConnection = [_factory peerConnectionWithConfiguration:config
constraints:constraints
delegate:self];
- _bitrateAllocationStrategy = [ARDBitrateAllocationStrategy
- createAudioPriorityBitrateAllocationStrategyForPeerConnection:_peerConnection
- withAudioTrack:kARDAudioTrackId
- sufficientAudioBitrate:kSufficientAudioBitrate];
-
// Create AV senders.
[self createMediaSenders];
-
if (_isInitiator) {
// Send offer.
__weak ARDAppClient *weakSelf = self;
diff --git a/examples/objc/AppRTCMobile/ARDBitrateAllocationStrategy.h b/examples/objc/AppRTCMobile/ARDBitrateAllocationStrategy.h
deleted file mode 100644
index 18f83ea..0000000
--- a/examples/objc/AppRTCMobile/ARDBitrateAllocationStrategy.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2017 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#import <Foundation/Foundation.h>
-#import "WebRTC/RTCPeerConnection.h"
-
-@interface ARDBitrateAllocationStrategy : NSObject
-
-+ (ARDBitrateAllocationStrategy*)
- createAudioPriorityBitrateAllocationStrategyForPeerConnection:(RTCPeerConnection*)peerConnection
- withAudioTrack:(NSString*)audioTrackID
- sufficientAudioBitrate:(uint32_t)sufficientAudioBitrate;
-
-- (instancetype)init NS_UNAVAILABLE;
-
-@end
diff --git a/examples/objc/AppRTCMobile/ARDBitrateAllocationStrategy.mm b/examples/objc/AppRTCMobile/ARDBitrateAllocationStrategy.mm
deleted file mode 100644
index 5901f8c..0000000
--- a/examples/objc/AppRTCMobile/ARDBitrateAllocationStrategy.mm
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2017 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#import "ARDBitrateAllocationStrategy.h"
-#import "WebRTC/RTCBitrateAllocationStrategy.h"
-
-#include "rtc_base/bitrateallocationstrategy.h"
-
-@implementation ARDBitrateAllocationStrategy
-
-+ (ARDBitrateAllocationStrategy*)
- createAudioPriorityBitrateAllocationStrategyForPeerConnection:(RTCPeerConnection*)peerConnection
- withAudioTrack:(NSString*)audioTrackID
- sufficientAudioBitrate:(uint32_t)sufficientAudioBitrate {
- return [[ARDBitrateAllocationStrategy alloc] initWithPeerCoonnection:peerConnection
- withAudioTrack:audioTrackID
- sufficientAudioBitrate:sufficientAudioBitrate];
-}
-
-- (instancetype)initWithPeerCoonnection:(RTCPeerConnection*)peerConnection
- withAudioTrack:(NSString*)audioTrackID
- sufficientAudioBitrate:(uint32_t)sufficientAudioBitrate {
- if (self = [super init]) {
- [peerConnection
- setBitrateAllocationStrategy:[[RTCBitrateAllocationStrategy alloc]
- initWith:new rtc::AudioPriorityBitrateAllocationStrategy(
- std::string(audioTrackID.UTF8String),
- sufficientAudioBitrate)]];
- }
- return self;
-}
-
-@end
diff --git a/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m b/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m
index 20ae170..07c83a0 100644
--- a/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m
+++ b/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m
@@ -26,8 +26,7 @@
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary *fieldTrials = @{
- kRTCFieldTrialH264HighProfileKey : kRTCFieldTrialEnabledValue,
- kRTCFieldTrialAudioSendSideBweKey : kRTCFieldTrialEnabledValue
+ kRTCFieldTrialH264HighProfileKey: kRTCFieldTrialEnabledValue,
};
RTCInitFieldTrialDictionary(fieldTrials);
RTCInitializeSSL();
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 23f626f..e79ebc7 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -390,7 +390,6 @@
"objc/Framework/Classes/PeerConnection/RTCAudioSource.mm",
"objc/Framework/Classes/PeerConnection/RTCAudioTrack+Private.h",
"objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm",
- "objc/Framework/Classes/PeerConnection/RTCBitrateAllocationStrategy.mm",
"objc/Framework/Classes/PeerConnection/RTCConfiguration+Private.h",
"objc/Framework/Classes/PeerConnection/RTCConfiguration.mm",
"objc/Framework/Classes/PeerConnection/RTCDataChannel+Private.h",
@@ -458,7 +457,6 @@
"objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
"objc/Framework/Headers/WebRTC/RTCAudioSource.h",
"objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
- "objc/Framework/Headers/WebRTC/RTCBitrateAllocationStrategy.h",
"objc/Framework/Headers/WebRTC/RTCConfiguration.h",
"objc/Framework/Headers/WebRTC/RTCDataChannel.h",
"objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h",
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCBitrateAllocationStrategy.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCBitrateAllocationStrategy.mm
deleted file mode 100644
index bc99767..0000000
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCBitrateAllocationStrategy.mm
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2017 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#import "WebRTC/RTCBitrateAllocationStrategy.h"
-
-#include "rtc_base/bitrateallocationstrategy.h"
-#include "rtc_base/checks.h"
-
-@implementation RTCBitrateAllocationStrategy
-
-@synthesize strategy = _strategy;
-
-- (instancetype)initWith:(rtc::BitrateAllocationStrategy*)strategy {
- RTC_DCHECK(strategy);
- if (self = [super init]) {
- _strategy = strategy;
- }
- return self;
-}
-
-@end
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
index 4fcc634..e443e85 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
@@ -21,7 +21,6 @@
#import "RTCRtpReceiver+Private.h"
#import "RTCRtpSender+Private.h"
#import "RTCSessionDescription+Private.h"
-#import "WebRTC/RTCBitrateAllocationStrategy.h"
#import "WebRTC/RTCLogging.h"
#include <memory>
@@ -386,15 +385,6 @@
return _peerConnection->SetBitrate(params).ok();
}
-- (void)setBitrateAllocationStrategy:
- (RTCBitrateAllocationStrategy *_Nullable)bitrateAllocationStrategy {
- if (bitrateAllocationStrategy)
- _peerConnection->SetBitrateAllocationStrategy(
- std::unique_ptr<rtc::BitrateAllocationStrategy>(bitrateAllocationStrategy.strategy));
- else
- _peerConnection->SetBitrateAllocationStrategy(nullptr);
-}
-
- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath
maxSizeInBytes:(int64_t)maxSizeInBytes {
RTC_DCHECK(filePath.length);
diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCBitrateAllocationStrategy.h b/sdk/objc/Framework/Headers/WebRTC/RTCBitrateAllocationStrategy.h
deleted file mode 100644
index c510008..0000000
--- a/sdk/objc/Framework/Headers/WebRTC/RTCBitrateAllocationStrategy.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2017 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#import <WebRTC/RTCMacros.h>
-#import <WebRTC/RTCMediaStreamTrack.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-namespace rtc {
-
-class BitrateAllocationStrategy;
-}
-
-RTC_EXPORT
-@interface RTCBitrateAllocationStrategy : NSObject
-
-- (instancetype)init NS_UNAVAILABLE;
-- (instancetype)initWith:(rtc::BitrateAllocationStrategy*)strategy;
-
-/** Native bitrate allocation strategy. */
-@property(nonatomic, readonly) rtc::BitrateAllocationStrategy* strategy;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h b/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
index c74af13..7b0c449 100644
--- a/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
+++ b/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
@@ -24,7 +24,6 @@
@class RTCRtpSender;
@class RTCSessionDescription;
@class RTCLegacyStatsReport;
-@class RTCBitrateAllocationStrategy;
NS_ASSUME_NONNULL_BEGIN
@@ -194,13 +193,6 @@
currentBitrateBps:(nullable NSNumber *)currentBitrateBps
maxBitrateBps:(nullable NSNumber *)maxBitrateBps;
-/** Sets current strategy. If not set default WebRTC allocator will be used.
- * May be changed during an active session. The strategy
- * ownership is passed with std::unique_ptr
- */
-- (void)setBitrateAllocationStrategy:
- (RTCBitrateAllocationStrategy *_Nullable)bitrateAllocationStrategy;
-
/** Start or stop recording an Rtc EventLog. */
- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath
maxSizeInBytes:(int64_t)maxSizeInBytes;