Set send side bitrate estimate on successful probing attempt.
BUG=webrtc:5859
Review-Url: https://codereview.webrtc.org/2263973004
Cr-Commit-Position: refs/heads/master@{#13887}
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc b/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc
index d283796..1231c78 100644
--- a/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc
+++ b/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc
@@ -182,6 +182,14 @@
MaybeTriggerOnNetworkChanged();
}
+void BitrateControllerImpl::UpdateProbeBitrate(uint32_t bitrate_bps) {
+ {
+ rtc::CritScope cs(&critsect_);
+ bandwidth_estimation_.SetSendBitrate(bitrate_bps);
+ }
+ MaybeTriggerOnNetworkChanged();
+}
+
void BitrateControllerImpl::UpdateDelayBasedEstimate(uint32_t bitrate_bps) {
{
rtc::CritScope cs(&critsect_);
diff --git a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
index 114e1a6..e5f595d 100644
--- a/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
+++ b/webrtc/modules/bitrate_controller/bitrate_controller_impl.h
@@ -61,6 +61,8 @@
uint8_t* fraction_loss,
int64_t* rtt) override;
+ void UpdateProbeBitrate(uint32_t bitrate_bps) override;
+
int64_t TimeUntilNextProcess() override;
void Process() override;
diff --git a/webrtc/modules/bitrate_controller/include/bitrate_controller.h b/webrtc/modules/bitrate_controller/include/bitrate_controller.h
index f06314c..4c4578a 100644
--- a/webrtc/modules/bitrate_controller/include/bitrate_controller.h
+++ b/webrtc/modules/bitrate_controller/include/bitrate_controller.h
@@ -79,6 +79,8 @@
virtual void UpdateDelayBasedEstimate(uint32_t bitrate_bps) = 0;
+ virtual void UpdateProbeBitrate(uint32_t bitrate_bps) = 0;
+
// Gets the available payload bandwidth in bits per second. Note that
// this bandwidth excludes packet headers.
virtual bool AvailableBandwidth(uint32_t* bandwidth) const = 0;
diff --git a/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h b/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h
index 7e9b4ec..dc7e286 100644
--- a/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h
+++ b/webrtc/modules/bitrate_controller/include/mock/mock_bitrate_controller.h
@@ -38,6 +38,7 @@
MOCK_METHOD3(ResetBitrates,
void(int bitrate_bps, int min_bitrate_bps, int max_bitrate_bps));
MOCK_METHOD1(UpdateDelayBasedEstimate, void(uint32_t bitrate_bps));
+ MOCK_METHOD1(UpdateProbeBitrate, void(uint32_t bitrate_bps));
MOCK_METHOD1(SetEventLog, void(RtcEventLog* event_log));
MOCK_CONST_METHOD1(AvailableBandwidth, bool(uint32_t* bandwidth));
MOCK_METHOD1(SetReservedBitrate, void(uint32_t reserved_bitrate_bps));