blob: 5901f8cfeab29ae02213f339377e7577bcef4c9f [file] [log] [blame]
Alex Naresta5fbc232017-10-18 18:31:07 +02001/*
2 * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#import "ARDBitrateAllocationStrategy.h"
12#import "WebRTC/RTCBitrateAllocationStrategy.h"
13
14#include "rtc_base/bitrateallocationstrategy.h"
15
16@implementation ARDBitrateAllocationStrategy
17
18+ (ARDBitrateAllocationStrategy*)
19 createAudioPriorityBitrateAllocationStrategyForPeerConnection:(RTCPeerConnection*)peerConnection
20 withAudioTrack:(NSString*)audioTrackID
21 sufficientAudioBitrate:(uint32_t)sufficientAudioBitrate {
22 return [[ARDBitrateAllocationStrategy alloc] initWithPeerCoonnection:peerConnection
23 withAudioTrack:audioTrackID
24 sufficientAudioBitrate:sufficientAudioBitrate];
25}
26
27- (instancetype)initWithPeerCoonnection:(RTCPeerConnection*)peerConnection
28 withAudioTrack:(NSString*)audioTrackID
29 sufficientAudioBitrate:(uint32_t)sufficientAudioBitrate {
30 if (self = [super init]) {
31 [peerConnection
32 setBitrateAllocationStrategy:[[RTCBitrateAllocationStrategy alloc]
33 initWith:new rtc::AudioPriorityBitrateAllocationStrategy(
34 std::string(audioTrackID.UTF8String),
35 sufficientAudioBitrate)]];
36 }
37 return self;
38}
39
40@end