Using data unit classes in DelayBasedBwe.

Bug: webrtc:9718
Change-Id: I1b6ed37afd7680dfad6267addfe46155c378525d
Reviewed-on: https://webrtc-review.googlesource.com/c/110903
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25702}
This commit is contained in:
Sebastian Jansson
2018-11-19 18:01:17 +01:00
committed by Commit Bot
parent 2e0c655bc6
commit b6787bcd79
17 changed files with 201 additions and 179 deletions

View File

@ -153,14 +153,12 @@ void BitrateControllerImpl::OnDelayBasedBweResult(
rtc::CritScope cs(&critsect_);
if (result.probe) {
bandwidth_estimation_.SetSendBitrate(
DataRate::bps(result.target_bitrate_bps),
Timestamp::ms(clock_->TimeInMilliseconds()));
result.target_bitrate, Timestamp::ms(clock_->TimeInMilliseconds()));
}
// Since SetSendBitrate now resets the delay-based estimate, we have to call
// UpdateDelayBasedEstimate after SetSendBitrate.
bandwidth_estimation_.UpdateDelayBasedEstimate(
Timestamp::ms(clock_->TimeInMilliseconds()),
DataRate::bps(result.target_bitrate_bps));
Timestamp::ms(clock_->TimeInMilliseconds()), result.target_bitrate);
}
MaybeTriggerOnNetworkChanged();
}

View File

@ -169,7 +169,7 @@ TEST_F(BitrateControllerTest, OneBitrateObserverOneRtcpObserver) {
EXPECT_EQ(300000, bitrate_observer_.last_bitrate_);
// Test that a low delay-based estimate limits the combined estimate.
webrtc::DelayBasedBwe::Result result(false, 280000);
webrtc::DelayBasedBwe::Result result(false, webrtc::DataRate::kbps(280));
controller_->OnDelayBasedBweResult(result);
EXPECT_EQ(280000, bitrate_observer_.last_bitrate_);

View File

@ -275,13 +275,12 @@ void SendSideBandwidthEstimation::UpdateDelayBasedEstimate(Timestamp at_time,
void SendSideBandwidthEstimation::IncomingPacketFeedbackVector(
const TransportPacketsFeedback& report,
absl::optional<uint32_t> acked_bitrate_bps) {
absl::optional<DataRate> acked_bitrate) {
if (!loss_based_bandwidth_estimation_.Enabled())
return;
if (acked_bitrate_bps) {
DataRate acked_bitrate = DataRate::bps(*acked_bitrate_bps);
if (acked_bitrate) {
loss_based_bandwidth_estimation_.UpdateAcknowledgedBitrate(
acked_bitrate, report.feedback_time);
*acked_bitrate, report.feedback_time);
}
loss_based_bandwidth_estimation_.UpdateLossStatistics(report.packet_feedbacks,
report.feedback_time);

View File

@ -91,7 +91,7 @@ class SendSideBandwidthEstimation {
void SetMinMaxBitrate(DataRate min_bitrate, DataRate max_bitrate);
int GetMinBitrate() const;
void IncomingPacketFeedbackVector(const TransportPacketsFeedback& report,
absl::optional<uint32_t> acked_bitrate_bps);
absl::optional<DataRate> acked_bitrate);
private:
enum UmaState { kNoUpdate, kFirstDone, kDone };