Index: webrtc/video/video_send_stream.cc |
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc |
index 9189b98e5a2855b682887bda76737723454c1edd..a207b19b984506507f52ce0f92ab0a9f9e0f14c3 100644 |
--- a/webrtc/video/video_send_stream.cc |
+++ b/webrtc/video/video_send_stream.cc |
@@ -289,17 +289,6 @@ int CalculateMaxPadBitrateBps(std::vector<VideoStream> streams, |
return pad_up_to_bitrate_bps; |
} |
-uint32_t CalculateOverheadRateBps(int packets_per_second, |
- size_t overhead_bytes_per_packet, |
- uint32_t max_overhead_bps) { |
- if (webrtc::field_trial::FindFullName("WebRTC-SendSideBwe-WithOverhead") != |
- "Enabled") |
- return 0; |
- uint32_t overhead_bps = |
- static_cast<uint32_t>(8 * overhead_bytes_per_packet * packets_per_second); |
- return std::min(overhead_bps, max_overhead_bps); |
-} |
- |
int CalculatePacketRate(uint32_t bitrate_bps, size_t packet_size_bytes) { |
size_t packet_size_bits = 8 * packet_size_bytes; |
// Ceil for int value of bitrate_bps / packet_size_bits. |
@@ -398,6 +387,12 @@ class VideoSendStreamImpl : public webrtc::BitrateAllocatorObserver, |
void SignalEncoderTimedOut(); |
void SignalEncoderActive(); |
+ uint32_t CalculateOverheadRateBps(int packets_per_second, |
+ size_t overhead_bytes_per_packet, |
minyue-webrtc
2017/01/31 11:48:06
Feels better if we keep it outside but add send_si
|
+ uint32_t max_overhead_bps); |
+ |
+ const bool send_side_bwe_with_overhead_; |
+ |
SendStatisticsProxy* const stats_proxy_; |
const VideoSendStream::Config* const config_; |
std::map<uint32_t, RtpState> suspended_ssrcs_; |
@@ -758,7 +753,9 @@ VideoSendStreamImpl::VideoSendStreamImpl( |
const VideoSendStream::Config* config, |
int initial_encoder_max_bitrate, |
std::map<uint32_t, RtpState> suspended_ssrcs) |
- : stats_proxy_(stats_proxy), |
+ : send_side_bwe_with_overhead_(webrtc::field_trial::FindFullName( |
+ "WebRTC-SendSideBwe-WithOverhead") == "Enabled"), |
+ stats_proxy_(stats_proxy), |
config_(config), |
suspended_ssrcs_(std::move(suspended_ssrcs)), |
module_process_thread_(nullptr), |
@@ -978,6 +975,17 @@ void VideoSendStreamImpl::SignalEncoderActive() { |
max_padding_bitrate_, !config_->suspend_below_min_bitrate); |
} |
+uint32_t VideoSendStreamImpl::CalculateOverheadRateBps( |
+ int packets_per_second, |
+ size_t overhead_bytes_per_packet, |
+ uint32_t max_overhead_bps) { |
+ if (!send_side_bwe_with_overhead_) |
+ return 0; |
+ uint32_t overhead_bps = |
+ static_cast<uint32_t>(8 * overhead_bytes_per_packet * packets_per_second); |
+ return std::min(overhead_bps, max_overhead_bps); |
+} |
+ |
void VideoSendStreamImpl::OnEncoderConfigurationChanged( |
std::vector<VideoStream> streams, |
int min_transmit_bitrate_bps) { |