Reland of BWE allocation strategy

TBR=stefan@webrtc.org,alexnarest@webrtc.org

Bug: webrtc:8243
Change-Id: Ie68e4f414b2ac32ba4e64877cb250fabcb089a07
Reviewed-on: https://webrtc-review.googlesource.com/13940
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Alex Narest <alexnarest@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20369}
This commit is contained in:
Alex Narest
2017-10-20 10:37:47 +02:00
committed by Commit Bot
parent b82de30080
commit 78609d5b6b
31 changed files with 543 additions and 24 deletions

View File

@ -0,0 +1,32 @@
/*
* 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

View File

@ -24,6 +24,7 @@
@class RTCRtpSender;
@class RTCSessionDescription;
@class RTCLegacyStatsReport;
@class RTCBitrateAllocationStrategy;
NS_ASSUME_NONNULL_BEGIN
@ -193,6 +194,13 @@ RTC_EXPORT
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;