Index: webrtc/modules/congestion_controller/congestion_controller.cc |
diff --git a/webrtc/modules/congestion_controller/congestion_controller.cc b/webrtc/modules/congestion_controller/congestion_controller.cc |
index f7e7e5625a2984500bbb8a8231935181c3f42dc5..de73a696732a87a67729dc4d31ac7e52dfcd2d8f 100644 |
--- a/webrtc/modules/congestion_controller/congestion_controller.cc |
+++ b/webrtc/modules/congestion_controller/congestion_controller.cc |
@@ -27,6 +27,7 @@ |
#include "webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h" |
#include "webrtc/modules/utility/include/process_thread.h" |
#include "webrtc/system_wrappers/include/critical_section_wrapper.h" |
+#include "webrtc/system_wrappers/include/field_trial.h" |
#include "webrtc/video/payload_router.h" |
namespace webrtc { |
@@ -42,9 +43,8 @@ static void ClampBitrates(int* bitrate_bps, |
// TODO(holmer): We should make sure the default bitrates are set to 10 kbps, |
// and that we don't try to set the min bitrate to 0 from any applications. |
// The congestion controller should allow a min bitrate of 0. |
- const int kMinBitrateBps = 10000; |
- if (*min_bitrate_bps < kMinBitrateBps) |
- *min_bitrate_bps = kMinBitrateBps; |
+ if (*min_bitrate_bps < CongestionController::GetMinBitrateBps()) |
+ *min_bitrate_bps = CongestionController::GetMinBitrateBps(); |
if (*max_bitrate_bps > 0) |
*max_bitrate_bps = std::max(*min_bitrate_bps, *max_bitrate_bps); |
if (*bitrate_bps > 0) |
@@ -60,7 +60,7 @@ class WrappingBitrateEstimator : public RemoteBitrateEstimator { |
rbe_(new RemoteBitrateEstimatorSingleStream(observer_, clock_)), |
using_absolute_send_time_(false), |
packets_since_absolute_send_time_(0), |
- min_bitrate_bps_(RemoteBitrateEstimator::kDefaultMinBitrateBps) {} |
+ min_bitrate_bps_(CongestionController::GetMinBitrateBps()) {} |
virtual ~WrappingBitrateEstimator() {} |
@@ -153,6 +153,16 @@ class WrappingBitrateEstimator : public RemoteBitrateEstimator { |
} // namespace |
+ |
+int CongestionController::GetMinBitrateBps() { |
+ constexpr int kAudioMinBitrateBps = 5000; |
+ constexpr int kMinBitrateBps = 10000; |
+ if (webrtc::field_trial::FindFullName("WebRTC-Audio-SendSideBwe") == |
+ "Enabled") |
stefan-webrtc
2016/11/01 09:09:15
{} since it's a multi-line if
michaelt
2016/11/01 09:21:55
Done.
|
+ return kAudioMinBitrateBps; |
+ return kMinBitrateBps; |
+} |
+ |
CongestionController::CongestionController( |
Clock* clock, |
Observer* observer, |
@@ -171,7 +181,7 @@ CongestionController::CongestionController( |
new RateLimiter(clock, kRetransmitWindowSizeMs)), |
remote_estimator_proxy_(clock_, packet_router_.get()), |
transport_feedback_adapter_(clock_, bitrate_controller_.get()), |
- min_bitrate_bps_(RemoteBitrateEstimator::kDefaultMinBitrateBps), |
+ min_bitrate_bps_(GetMinBitrateBps()), |
max_bitrate_bps_(0), |
last_reported_bitrate_bps_(0), |
last_reported_fraction_loss_(0), |
@@ -202,7 +212,7 @@ CongestionController::CongestionController( |
new RateLimiter(clock, kRetransmitWindowSizeMs)), |
remote_estimator_proxy_(clock_, packet_router_.get()), |
transport_feedback_adapter_(clock_, bitrate_controller_.get()), |
- min_bitrate_bps_(RemoteBitrateEstimator::kDefaultMinBitrateBps), |
+ min_bitrate_bps_(GetMinBitrateBps()), |
max_bitrate_bps_(0), |
last_reported_bitrate_bps_(0), |
last_reported_fraction_loss_(0), |