From 1eef9c16ffbbc2f8afa7a268555fd1c8b323e2b5 Mon Sep 17 00:00:00 2001 From: "pwestin@webrtc.org" Date: Tue, 29 May 2012 09:28:43 +0000 Subject: [PATCH] Bitrate bugfixes Review URL: https://webrtc-codereview.appspot.com/609005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2313 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc | 12 +++++++----- src/modules/rtp_rtcp/source/rtp_sender.cc | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index e2ab811ca5..4a2a21742c 100644 --- a/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -1628,13 +1628,15 @@ void ModuleRtpRtcpImpl::SetTargetSendBitrate(const uint32_t bitrate) { for (int i = 0; it != _childModules.end() && i < _sendVideoCodec.numberOfSimulcastStreams; ++it, ++i) { RTPSender& rtpSender = (*it)->_rtpSender; - if (_sendVideoCodec.simulcastStream[i].maxBitrate > bitrate_remainder) { - rtpSender.SetTargetSendBitrate( - _sendVideoCodec.simulcastStream[i].maxBitrate); - bitrate_remainder -= _sendVideoCodec.simulcastStream[i].maxBitrate; - } else { + if (_sendVideoCodec.simulcastStream[i].maxBitrate * 1000 > + bitrate_remainder) { rtpSender.SetTargetSendBitrate(bitrate_remainder); bitrate_remainder = 0; + } else { + rtpSender.SetTargetSendBitrate( + _sendVideoCodec.simulcastStream[i].maxBitrate * 1000); + bitrate_remainder -= + _sendVideoCodec.simulcastStream[i].maxBitrate * 1000; } } } else { diff --git a/src/modules/rtp_rtcp/source/rtp_sender.cc b/src/modules/rtp_rtcp/source/rtp_sender.cc index 945171c212..3ecc2985b3 100644 --- a/src/modules/rtp_rtcp/source/rtp_sender.cc +++ b/src/modules/rtp_rtcp/source/rtp_sender.cc @@ -514,7 +514,7 @@ RTPSender::SendOutgoingData(const FrameType frameType, bytes = (bitrate_diff / 8); // Cap at 200 ms of target send data. int bytes_cap = _targetSendBitrate * 25; // 1000 / 8 / 5 - if (bytes_cap > bytes) { + if (bytes > bytes_cap) { bytes = bytes_cap; } }