Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1516)

Unified Diff: webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc

Issue 2422063002: Use bayesian estimate of acked bitrate. (Closed)
Patch Set: Tests for both with and w/o experiment. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc
diff --git a/webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc b/webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc
index a3a1893cbe23811e4baed231423bf17947865ca6..9aafc7b51607d551b982384761c616a5ca25c4a4 100644
--- a/webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc
+++ b/webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc
@@ -150,10 +150,11 @@ int64_t StreamGenerator::GenerateFrame(std::vector<PacketInfo>* packets,
DelayBasedBweTest::DelayBasedBweTest()
: clock_(100000000),
- bitrate_estimator_(&clock_),
+ bitrate_estimator_(new DelayBasedBwe(&clock_)),
stream_generator_(new test::StreamGenerator(1e6, // Capacity.
clock_.TimeInMicroseconds())),
- arrival_time_offset_ms_(0) {}
+ arrival_time_offset_ms_(0),
+ first_update_(true) {}
DelayBasedBweTest::~DelayBasedBweTest() {}
@@ -182,7 +183,7 @@ void DelayBasedBweTest::IncomingFeedback(int64_t arrival_time_ms,
std::vector<PacketInfo> packets;
packets.push_back(packet);
DelayBasedBwe::Result result =
- bitrate_estimator_.IncomingPacketFeedbackVector(packets);
+ bitrate_estimator_->IncomingPacketFeedbackVector(packets);
const uint32_t kDummySsrc = 0;
if (result.updated) {
bitrate_observer_.OnReceiveBitrateChanged({kDummySsrc},
@@ -214,13 +215,14 @@ bool DelayBasedBweTest::GenerateAndProcessFrame(uint32_t ssrc,
packet.arrival_time_ms += arrival_time_offset_ms_;
}
DelayBasedBwe::Result result =
- bitrate_estimator_.IncomingPacketFeedbackVector(packets);
+ bitrate_estimator_->IncomingPacketFeedbackVector(packets);
const uint32_t kDummySsrc = 0;
if (result.updated) {
bitrate_observer_.OnReceiveBitrateChanged({kDummySsrc},
result.target_bitrate_bps);
- if (result.target_bitrate_bps < bitrate_bps)
+ if (!first_update_ && result.target_bitrate_bps < bitrate_bps)
overuse = true;
+ first_update_ = false;
}
clock_.AdvanceTimeMicroseconds(next_time_us - clock_.TimeInMicroseconds());
@@ -267,10 +269,10 @@ void DelayBasedBweTest::InitialBehaviorTestHelper(
int64_t send_time_ms = 0;
uint16_t sequence_number = 0;
std::vector<uint32_t> ssrcs;
- EXPECT_FALSE(bitrate_estimator_.LatestEstimate(&ssrcs, &bitrate_bps));
+ EXPECT_FALSE(bitrate_estimator_->LatestEstimate(&ssrcs, &bitrate_bps));
EXPECT_EQ(0u, ssrcs.size());
clock_.AdvanceTimeMilliseconds(1000);
- EXPECT_FALSE(bitrate_estimator_.LatestEstimate(&ssrcs, &bitrate_bps));
+ EXPECT_FALSE(bitrate_estimator_->LatestEstimate(&ssrcs, &bitrate_bps));
EXPECT_FALSE(bitrate_observer_.updated());
bitrate_observer_.Reset();
clock_.AdvanceTimeMilliseconds(1000);
@@ -281,7 +283,7 @@ void DelayBasedBweTest::InitialBehaviorTestHelper(
int cluster_id = i < kInitialProbingPackets ? 0 : PacketInfo::kNotAProbe;
if (i == kNumInitialPackets) {
- EXPECT_FALSE(bitrate_estimator_.LatestEstimate(&ssrcs, &bitrate_bps));
+ EXPECT_FALSE(bitrate_estimator_->LatestEstimate(&ssrcs, &bitrate_bps));
EXPECT_EQ(0u, ssrcs.size());
EXPECT_FALSE(bitrate_observer_.updated());
bitrate_observer_.Reset();
@@ -291,7 +293,7 @@ void DelayBasedBweTest::InitialBehaviorTestHelper(
clock_.AdvanceTimeMilliseconds(1000 / kFramerate);
send_time_ms += kFrameIntervalMs;
}
- EXPECT_TRUE(bitrate_estimator_.LatestEstimate(&ssrcs, &bitrate_bps));
+ EXPECT_TRUE(bitrate_estimator_->LatestEstimate(&ssrcs, &bitrate_bps));
ASSERT_EQ(1u, ssrcs.size());
EXPECT_EQ(kDefaultSsrc, ssrcs.front());
EXPECT_NEAR(expected_converge_bitrate, bitrate_bps, kAcceptedBitrateErrorBps);
@@ -364,7 +366,6 @@ void DelayBasedBweTest::RateIncreaseRtpTimestampsTestHelper(
bitrate_observer_.Reset();
}
++iterations;
- // ASSERT_LE(iterations, expected_iterations);
}
ASSERT_EQ(expected_iterations, iterations);
}
@@ -483,19 +484,19 @@ void DelayBasedBweTest::TestWrappingHelper(int silence_time_s) {
}
uint32_t bitrate_before = 0;
std::vector<uint32_t> ssrcs;
- bitrate_estimator_.LatestEstimate(&ssrcs, &bitrate_before);
+ bitrate_estimator_->LatestEstimate(&ssrcs, &bitrate_before);
clock_.AdvanceTimeMilliseconds(silence_time_s * 1000);
send_time_ms += silence_time_s * 1000;
- for (size_t i = 0; i < 21; ++i) {
+ for (size_t i = 0; i < 22; ++i) {
IncomingFeedback(clock_.TimeInMilliseconds(), send_time_ms,
sequence_number++, 1000);
clock_.AdvanceTimeMilliseconds(2 * kFrameIntervalMs);
send_time_ms += kFrameIntervalMs;
}
uint32_t bitrate_after = 0;
- bitrate_estimator_.LatestEstimate(&ssrcs, &bitrate_after);
+ bitrate_estimator_->LatestEstimate(&ssrcs, &bitrate_after);
EXPECT_LT(bitrate_after, bitrate_before);
}
} // namespace webrtc
« no previous file with comments | « webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.h ('k') | webrtc/tools/event_log_visualizer/analyzer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698