From 8b8d01ada30bd2a5ba810fe7f2bc8577f973f6fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Sat, 2 Mar 2019 20:54:55 +0100 Subject: [PATCH] Add full stack test with weak 3g-like properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This test is verified to better catch the performance issues that were fixed in issue 10275. Bug: webrtc:10275, webrtc:10070 Change-Id: I4654f013b0fa08015af8572269b9df979e5a641f Reviewed-on: https://webrtc-review.googlesource.com/c/125300 Reviewed-by: Rasmus Brandt Commit-Queue: Erik Språng Cr-Commit-Position: refs/heads/master@{#26944} --- video/full_stack_tests.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc index 8651d124ae..c648de56b3 100644 --- a/video/full_stack_tests.cc +++ b/video/full_stack_tests.cc @@ -296,6 +296,26 @@ TEST(FullStackTest, ForemanCifLink150kbpsBadRateController) { fixture->RunWithAnalyzer(foreman_cif); } +// Weak 3G-style link: 250kbps, 1% loss, 100ms delay, 15 packets queue. +// Packet rate and loss are low enough that loss will happen with ~3s interval. +// This triggers protection overhead to toggle between zero and non-zero. +// Link queue is restrictive enough to trigger loss on probes. +TEST(FullStackTest, ForemanCifMediaCapacitySmallLossAndQueue) { + auto fixture = CreateVideoQualityTestFixture(); + ParamsWithLogging foreman_cif; + foreman_cif.call.send_side_bwe = true; + foreman_cif.video[0] = {true, 352, 288, 30, 30000, 500000, 2000000, + false, "VP8", 1, 0, 0, false, false, + true, "foreman_cif", 0, {}, 1.30}; + foreman_cif.analyzer = {"foreman_cif_link_250kbps_delay100ms_10pkts_loss1", + 0.0, 0.0, kFullStackTestDurationSecs}; + foreman_cif.config->link_capacity_kbps = 250; + foreman_cif.config->queue_length_packets = 10; + foreman_cif.config->queue_delay_ms = 100; + foreman_cif.config->loss_percent = 1; + fixture->RunWithAnalyzer(foreman_cif); +} + TEST_P(GenericDescriptorTest, ForemanCifPlr5) { auto fixture = CreateVideoQualityTestFixture(); ParamsWithLogging foreman_cif;