diff --git a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h index 0ac8ad94ac..ba50bde649 100644 --- a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h +++ b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.h @@ -35,6 +35,11 @@ RTC_OBJC_EXPORT */ @property(nonatomic, copy, nullable) NSNumber *maxFramerate; +/** The requested number of temporal layers to use for the encoding, or nil + * if the default should be used. + */ +@property(nonatomic, copy, nullable) NSNumber *numTemporalLayers; + /** The SSRC being used by this encoding. */ @property(nonatomic, readonly, nullable) NSNumber *ssrc; diff --git a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm index 3246371c23..270f1b2e3b 100644 --- a/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm +++ b/sdk/objc/api/peerconnection/RTCRtpEncodingParameters.mm @@ -16,6 +16,7 @@ @synthesize maxBitrateBps = _maxBitrateBps; @synthesize minBitrateBps = _minBitrateBps; @synthesize maxFramerate = _maxFramerate; +@synthesize numTemporalLayers = _numTemporalLayers; @synthesize ssrc = _ssrc; - (instancetype)init { @@ -37,6 +38,9 @@ if (nativeParameters.max_framerate) { _maxFramerate = [NSNumber numberWithInt:*nativeParameters.max_framerate]; } + if (nativeParameters.num_temporal_layers) { + _numTemporalLayers = [NSNumber numberWithInt:*nativeParameters.num_temporal_layers]; + } if (nativeParameters.ssrc) { _ssrc = [NSNumber numberWithUnsignedLong:*nativeParameters.ssrc]; } @@ -56,6 +60,9 @@ if (_maxFramerate != nil) { parameters.max_framerate = absl::optional(_maxFramerate.intValue); } + if (_numTemporalLayers != nil) { + parameters.num_temporal_layers = absl::optional(_numTemporalLayers.intValue); + } if (_ssrc != nil) { parameters.ssrc = absl::optional(_ssrc.unsignedLongValue); }