Chromium Code Reviews| 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]; |