Add bindings for RIDs in iOS SDK.
This adds bindings for RIDs in RtpEncodingParameters.
Bug: webrtc:10464
Change-Id: I3cc25db25a4d777b9d9573ba69c82127d1c9a597
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128826
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27322}
diff --git a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h
index 981b014..dce2512 100644
--- a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h
+++ b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h
@@ -17,6 +17,9 @@
RTC_OBJC_EXPORT
@interface RTCRtpEncodingParameters : NSObject
+/** The idenfifier for the encoding layer. This is used in simulcast. */
+@property(nonatomic, copy, nullable) NSString *rid;
+
/** Controls whether the encoding is currently transmitted. */
@property(nonatomic, assign) BOOL isActive;
diff --git a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm
index dd07e94..e73e172 100644
--- a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm
+++ b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm
@@ -10,8 +10,11 @@
#import "RTCRtpEncodingParameters+Private.h"
+#import "helpers/NSString+StdString.h"
+
@implementation RTCRtpEncodingParameters
+@synthesize rid = _rid;
@synthesize isActive = _isActive;
@synthesize maxBitrateBps = _maxBitrateBps;
@synthesize minBitrateBps = _minBitrateBps;
@@ -27,6 +30,9 @@
- (instancetype)initWithNativeParameters:
(const webrtc::RtpEncodingParameters &)nativeParameters {
if (self = [self init]) {
+ if (!nativeParameters.rid.empty()) {
+ _rid = [NSString stringForStdString:nativeParameters.rid];
+ }
_isActive = nativeParameters.active;
if (nativeParameters.max_bitrate_bps) {
_maxBitrateBps =
@@ -55,6 +61,9 @@
- (webrtc::RtpEncodingParameters)nativeParameters {
webrtc::RtpEncodingParameters parameters;
+ if (_rid != nil) {
+ parameters.rid = [NSString stdStringForString:_rid];
+ }
parameters.active = _isActive;
if (_maxBitrateBps != nil) {
parameters.max_bitrate_bps = absl::optional<int>(_maxBitrateBps.intValue);