blob: 8e72d18fca6015c92727f0862fba4daa2da999e3 [file] [log] [blame]
skvlad79b4b872016-04-08 17:28:55 -07001/*
2 * Copyright 2016 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 "RTCRtpEncodingParameters+Private.h"
12
13@implementation RTCRtpEncodingParameters
14
15@synthesize isActive = _isActive;
16@synthesize maxBitrateBps = _maxBitrateBps;
deadbeef8014c752017-01-06 16:53:00 -080017@synthesize ssrc = _ssrc;
skvlad79b4b872016-04-08 17:28:55 -070018
skvlad79b4b872016-04-08 17:28:55 -070019- (instancetype)init {
20 return [super init];
21}
22
23- (instancetype)initWithNativeParameters:
24 (const webrtc::RtpEncodingParameters &)nativeParameters {
25 if (self = [self init]) {
26 _isActive = nativeParameters.active;
deadbeefe702b302017-02-04 12:09:01 -080027 if (nativeParameters.max_bitrate_bps) {
skvlad79b4b872016-04-08 17:28:55 -070028 _maxBitrateBps =
deadbeefe702b302017-02-04 12:09:01 -080029 [NSNumber numberWithInt:*nativeParameters.max_bitrate_bps];
skvlad79b4b872016-04-08 17:28:55 -070030 }
deadbeef8014c752017-01-06 16:53:00 -080031 if (nativeParameters.ssrc) {
32 _ssrc = [NSNumber numberWithUnsignedLong:*nativeParameters.ssrc];
33 }
skvlad79b4b872016-04-08 17:28:55 -070034 }
35 return self;
36}
37
38- (webrtc::RtpEncodingParameters)nativeParameters {
39 webrtc::RtpEncodingParameters parameters;
40 parameters.active = _isActive;
41 if (_maxBitrateBps != nil) {
deadbeefe702b302017-02-04 12:09:01 -080042 parameters.max_bitrate_bps = rtc::Optional<int>(_maxBitrateBps.intValue);
skvlad79b4b872016-04-08 17:28:55 -070043 }
deadbeef8014c752017-01-06 16:53:00 -080044 if (_ssrc != nil) {
45 parameters.ssrc = rtc::Optional<uint32_t>(_ssrc.unsignedLongValue);
46 }
skvlad79b4b872016-04-08 17:28:55 -070047 return parameters;
48}
49
50@end