Add Rtcp parameters for PeerConnection senders
Bug: webrtc:7580 Change-Id: Ibcf5e849a1f11f21fa75f6d006fecf1cd54f8552 Reviewed-on: https://webrtc-review.googlesource.com/78063 Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23407}
This commit is contained in:
committed by
Commit Bot
parent
b06b0a689f
commit
dacec71b16
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright 2018 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/RTCRtcpParameters.h"
|
||||
|
||||
#include "api/rtpparameters.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface RTCRtcpParameters ()
|
||||
|
||||
/** Returns the equivalent native RtcpParameters structure. */
|
||||
@property(nonatomic, readonly) webrtc::RtcpParameters nativeParameters;
|
||||
|
||||
/** Initialize the object with a native RtcpParameters structure. */
|
||||
- (instancetype)initWithNativeParameters:(const webrtc::RtcpParameters &)nativeParameters;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright 2018 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 "RTCRtcpParameters+Private.h"
|
||||
|
||||
#import "NSString+StdString.h"
|
||||
|
||||
@implementation RTCRtcpParameters
|
||||
|
||||
@synthesize cname = _cname;
|
||||
@synthesize isReducedSize = _isReducedSize;
|
||||
|
||||
- (instancetype)init {
|
||||
return [super init];
|
||||
}
|
||||
|
||||
- (instancetype)initWithNativeParameters:(const webrtc::RtcpParameters &)nativeParameters {
|
||||
if (self = [self init]) {
|
||||
_cname = [NSString stringForStdString:nativeParameters.cname];
|
||||
_isReducedSize = nativeParameters.reduced_size;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (webrtc::RtcpParameters)nativeParameters {
|
||||
webrtc::RtcpParameters parameters;
|
||||
parameters.cname = [NSString stdStringForString:_cname];
|
||||
parameters.reduced_size = _isReducedSize;
|
||||
return parameters;
|
||||
}
|
||||
|
||||
@end
|
||||
@ -11,12 +11,14 @@
|
||||
#import "RTCRtpParameters+Private.h"
|
||||
|
||||
#import "NSString+StdString.h"
|
||||
#import "RTCRtcpParameters+Private.h"
|
||||
#import "RTCRtpCodecParameters+Private.h"
|
||||
#import "RTCRtpEncodingParameters+Private.h"
|
||||
|
||||
@implementation RTCRtpParameters
|
||||
|
||||
@synthesize transactionId = _transactionId;
|
||||
@synthesize rtcp = _rtcp;
|
||||
@synthesize encodings = _encodings;
|
||||
@synthesize codecs = _codecs;
|
||||
|
||||
@ -28,6 +30,7 @@
|
||||
(const webrtc::RtpParameters &)nativeParameters {
|
||||
if (self = [self init]) {
|
||||
_transactionId = [NSString stringForStdString:nativeParameters.transaction_id];
|
||||
_rtcp = [[RTCRtcpParameters alloc] initWithNativeParameters:nativeParameters.rtcp];
|
||||
NSMutableArray *encodings = [[NSMutableArray alloc] init];
|
||||
for (const auto &encoding : nativeParameters.encodings) {
|
||||
[encodings addObject:[[RTCRtpEncodingParameters alloc]
|
||||
@ -48,6 +51,7 @@
|
||||
- (webrtc::RtpParameters)nativeParameters {
|
||||
webrtc::RtpParameters parameters;
|
||||
parameters.transaction_id = [NSString stdStringForString:_transactionId];
|
||||
parameters.rtcp = [_rtcp nativeParameters];
|
||||
for (RTCRtpEncodingParameters *encoding in _encodings) {
|
||||
parameters.encodings.push_back(encoding.nativeParameters);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user