denicija 9af2b6012a Propagate bitrate setting to RTCRtpSender.
This CL wires everything up and enables actual setting of the max bitrate encoding parameter
on the video RTP sender.
The following changes were made
* Add maxbitrate property to the settings model and settings store. Make sure to store and
read the maxbitrate from storage (to persist between app launches and make testing easier)
* Fix setup of encoding parameters for the rtp sender as previous timing was not right.
* Fix header of RTCRtpSender to expose needed parameter
BUG=webrtc:6654

Review-Url: https://codereview.webrtc.org/2492693003
Cr-Commit-Position: refs/heads/master@{#15120}
2016-11-17 08:44:09 +00:00

52 lines
1.4 KiB
Objective-C

/*
* Copyright 2016 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 "ARDSettingsStore.h"
static NSString *const kMediaConstraintsKey = @"rtc_video_resolution_media_constraints_key";
static NSString *const kBitrateKey = @"rtc_max_bitrate_key";
NS_ASSUME_NONNULL_BEGIN
@interface ARDSettingsStore () {
NSUserDefaults *_storage;
}
@property(nonatomic, strong) NSUserDefaults *storage;
@end
@implementation ARDSettingsStore
- (NSUserDefaults *)storage {
if (!_storage) {
_storage = [NSUserDefaults standardUserDefaults];
}
return _storage;
}
- (nullable NSString *)videoResolutionConstraints {
return [self.storage objectForKey:kMediaConstraintsKey];
}
- (void)setVideoResolutionConstraints:(NSString *)constraintsString {
[self.storage setObject:constraintsString forKey:kMediaConstraintsKey];
[self.storage synchronize];
}
- (nullable NSNumber *)maxBitrate {
return [self.storage objectForKey:kBitrateKey];
}
- (void)setMaxBitrate:(nullable NSNumber *)value {
[self.storage setObject:value forKey:kBitrateKey];
[self.storage synchronize];
}
@end
NS_ASSUME_NONNULL_END