Index: webrtc/examples/objc/AppRTCMobile/ARDAppClient.m |
diff --git a/webrtc/examples/objc/AppRTCMobile/ARDAppClient.m b/webrtc/examples/objc/AppRTCMobile/ARDAppClient.m |
index 9ef46b4742beb76ca9335230499d13ddfef546f3..23c5f47f76cdafdefea6dcd1f8bce6412de229d7 100644 |
--- a/webrtc/examples/objc/AppRTCMobile/ARDAppClient.m |
+++ b/webrtc/examples/objc/AppRTCMobile/ARDAppClient.m |
@@ -102,6 +102,7 @@ static int64_t const kARDAppClientRtcEventLogMaxSizeInBytes = 5e6; // 5 MB. |
RTCFileLogger *_fileLogger; |
ARDTimerProxy *_statsTimer; |
RTCMediaConstraints *_cameraConstraints; |
+ NSNumber *_maxBitrate; |
} |
@synthesize shouldGetStats = _shouldGetStats; |
@@ -326,6 +327,10 @@ static int64_t const kARDAppClientRtcEventLogMaxSizeInBytes = 5e6; // 5 MB. |
_cameraConstraints = mediaConstraints; |
} |
+- (void)setMaxBitrate:(NSNumber *)maxBitrate { |
+ _maxBitrate = maxBitrate; |
+} |
+ |
#pragma mark - ARDSignalingChannelDelegate |
- (void)channel:(id<ARDSignalingChannel>)channel |
@@ -673,6 +678,9 @@ static int64_t const kARDAppClientRtcEventLogMaxSizeInBytes = 5e6; // 5 MB. |
RTCRtpSender *sender = |
[_peerConnection senderWithKind:kRTCMediaStreamTrackKindVideo |
streamId:kARDMediaStreamId]; |
+ |
+ [self setMaxBitrate:_maxBitrate forVideoSender:sender]; |
+ |
RTCVideoTrack *track = [self createLocalVideoTrack]; |
if (track) { |
sender.track = track; |
@@ -681,6 +689,13 @@ static int64_t const kARDAppClientRtcEventLogMaxSizeInBytes = 5e6; // 5 MB. |
return sender; |
} |
+- (void)setMaxBitrate:(NSNumber *)maxBitrate forVideoSender:(RTCRtpSender *)sender { |
+ RTCRtpParameters *parameters = sender.parameters; |
+ for (RTCRtpEncodingParameters *encoding in parameters.encodings) { |
magjed_webrtc
2016/11/08 12:52:46
nit: Can we just inline sender.parameters.encoding
daniela-webrtc
2016/11/08 13:28:35
Done.
|
+ encoding.maxBitrateBps = maxBitrate; |
+ } |
+} |
+ |
- (RTCRtpSender *)createAudioSender { |
RTCMediaConstraints *constraints = [self defaultMediaAudioConstraints]; |
RTCAudioSource *source = [_factory audioSourceWithConstraints:constraints]; |