Adding C++ versions of currently spec'd "RtpParameters" structs.
These structs will be used for ORTC objects (and their WebRTC
equivalents).
This CL also introduces some minor changes to the existing implemented
structs:
- max_bitrate_bps uses rtc::Optional instead of "-1 means unset"
- "mime_type" turned into "name"/"kind" (which can be used to form the
MIME type string, if needed).
- clock_rate and channels changed to rtc::Optional, since they will
need to be for RtpSender.send().
- Renamed "channels" to "num_channels" (the ORTC name, which I prefer).
BUG=webrtc:7013, webrtc:7112
Review-Url: https://codereview.webrtc.org/2651883010
Cr-Commit-Position: refs/heads/master@{#16437}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
index be47894..8e72d18 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
@@ -16,8 +16,6 @@
@synthesize maxBitrateBps = _maxBitrateBps;
@synthesize ssrc = _ssrc;
-static const int kBitrateUnlimited = -1;
-
- (instancetype)init {
return [super init];
}
@@ -26,10 +24,9 @@
(const webrtc::RtpEncodingParameters &)nativeParameters {
if (self = [self init]) {
_isActive = nativeParameters.active;
- // TODO(skvlad): Replace with rtc::Optional once the C++ code is updated.
- if (nativeParameters.max_bitrate_bps != kBitrateUnlimited) {
+ if (nativeParameters.max_bitrate_bps) {
_maxBitrateBps =
- [NSNumber numberWithInt:nativeParameters.max_bitrate_bps];
+ [NSNumber numberWithInt:*nativeParameters.max_bitrate_bps];
}
if (nativeParameters.ssrc) {
_ssrc = [NSNumber numberWithUnsignedLong:*nativeParameters.ssrc];
@@ -42,7 +39,7 @@
webrtc::RtpEncodingParameters parameters;
parameters.active = _isActive;
if (_maxBitrateBps != nil) {
- parameters.max_bitrate_bps = _maxBitrateBps.intValue;
+ parameters.max_bitrate_bps = rtc::Optional<int>(_maxBitrateBps.intValue);
}
if (_ssrc != nil) {
parameters.ssrc = rtc::Optional<uint32_t>(_ssrc.unsignedLongValue);