Don't pad if only one stream is sent, except if auto muted.
BUG= R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2406004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4975 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
e7009f3b0d
commit
b400aa7cd4
@ -1051,22 +1051,33 @@ void ViEEncoder::OnNetworkChanged(const uint32_t bitrate_bps,
|
|||||||
// point, based on which streams are currently active and what our current
|
// point, based on which streams are currently active and what our current
|
||||||
// available bandwidth is.
|
// available bandwidth is.
|
||||||
int max_padding_bitrate_kbps = 0;
|
int max_padding_bitrate_kbps = 0;
|
||||||
int i = send_codec.numberOfSimulcastStreams - 1;
|
int pad_up_to_bitrate_kbps = 0;
|
||||||
for (std::vector<uint32_t>::reverse_iterator it = stream_bitrates.rbegin();
|
if (send_codec.numberOfSimulcastStreams == 0) {
|
||||||
it != stream_bitrates.rend(); ++it) {
|
max_padding_bitrate_kbps = send_codec.minBitrate;
|
||||||
if (*it > 0) {
|
pad_up_to_bitrate_kbps = send_codec.minBitrate;
|
||||||
max_padding_bitrate_kbps = std::min((*it + 500) / 1000,
|
} else {
|
||||||
stream_configs[i].minBitrate);
|
int i = send_codec.numberOfSimulcastStreams - 1;
|
||||||
break;
|
for (std::vector<uint32_t>::reverse_iterator it = stream_bitrates.rbegin();
|
||||||
|
it != stream_bitrates.rend(); ++it) {
|
||||||
|
if (*it > 0) {
|
||||||
|
max_padding_bitrate_kbps = std::min((*it + 500) / 1000,
|
||||||
|
stream_configs[i].minBitrate);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
--i;
|
||||||
|
}
|
||||||
|
pad_up_to_bitrate_kbps =
|
||||||
|
stream_configs[send_codec.numberOfSimulcastStreams - 1].minBitrate;
|
||||||
|
for (int i = 0; i < send_codec.numberOfSimulcastStreams - 1; ++i) {
|
||||||
|
pad_up_to_bitrate_kbps += stream_configs[i].targetBitrate;
|
||||||
}
|
}
|
||||||
--i;
|
|
||||||
}
|
}
|
||||||
int pad_up_to_bitrate_kbps =
|
if (video_is_muted || send_codec.numberOfSimulcastStreams > 1) {
|
||||||
stream_configs[send_codec.numberOfSimulcastStreams - 1].minBitrate;
|
pad_up_to_bitrate_kbps = std::min(bitrate_kbps, pad_up_to_bitrate_kbps);
|
||||||
for (int i = 0; i < send_codec.numberOfSimulcastStreams - 1; ++i) {
|
} else {
|
||||||
pad_up_to_bitrate_kbps += stream_configs[i].targetBitrate;
|
// Disable padding if only sending one stream and video isn't muted.
|
||||||
|
pad_up_to_bitrate_kbps = 0;
|
||||||
}
|
}
|
||||||
pad_up_to_bitrate_kbps = std::min(bitrate_kbps, pad_up_to_bitrate_kbps);
|
|
||||||
paced_sender_->UpdateBitrate(bitrate_kbps,
|
paced_sender_->UpdateBitrate(bitrate_kbps,
|
||||||
max_padding_bitrate_kbps,
|
max_padding_bitrate_kbps,
|
||||||
pad_up_to_bitrate_kbps);
|
pad_up_to_bitrate_kbps);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user