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:
committed by
Commit Bot
parent
2e0c655bc6
commit
b6787bcd79
@ -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();
|
||||
}
|
||||
|
||||
@ -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_);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user