Enable WebRTC-Bwe-MaxRttLimit by default.
Some of the field trial default values are changed as well. Now available bitrate estimation will be decreasing when RTT is more than 3 seconds. Unless different parameters for the field trial are specified. Bug: None Change-Id: Icd1923fc2e2e7766a7f645016c5432a52537145f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158840 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Konrad Hofbauer <hofbauer@webrtc.org> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org> Commit-Queue: Nikita Zetilov <zetilovn@google.com> Cr-Commit-Position: refs/heads/master@{#29823}
This commit is contained in:

committed by
Commit Bot

parent
56d945233d
commit
8ae70f6a30
@ -378,41 +378,6 @@ TEST_F(GoogCcNetworkControllerTest,
|
||||
EXPECT_NEAR(client->padding_rate().kbps(), client->target_rate().kbps(), 1);
|
||||
}
|
||||
|
||||
TEST_F(GoogCcNetworkControllerTest,
|
||||
NoCongestionWindowPushbackWithoutReceiveTraffic) {
|
||||
ScopedFieldTrials trial(
|
||||
"WebRTC-CongestionWindow/QueueSize:800,MinBitrate:30000/"
|
||||
"WebRTC-Bwe-CongestionWindowDownlinkDelay/Enabled/");
|
||||
Scenario s("googcc_unit/cwnd_no_downlink", false);
|
||||
NetworkSimulationConfig net_conf;
|
||||
net_conf.bandwidth = DataRate::kbps(1000);
|
||||
net_conf.delay = TimeDelta::ms(100);
|
||||
auto send_net = s.CreateSimulationNode(net_conf);
|
||||
auto ret_net = s.CreateMutableSimulationNode(net_conf);
|
||||
|
||||
auto* client = s.CreateClient("sender", CallClientConfig());
|
||||
auto* route = s.CreateRoutes(client, {send_net},
|
||||
s.CreateClient("return", CallClientConfig()),
|
||||
{ret_net->node()});
|
||||
|
||||
s.CreateVideoStream(route->forward(), VideoStreamConfig());
|
||||
// A return video stream ensures we get steady traffic stream,
|
||||
// so we can better differentiate between send being down and return
|
||||
// being down.
|
||||
s.CreateVideoStream(route->reverse(), VideoStreamConfig());
|
||||
|
||||
// Wait to stabilize the bandwidth estimate.
|
||||
s.RunFor(TimeDelta::seconds(10));
|
||||
// Disabling the return triggers the data window expansion logic
|
||||
// which will stop the congestion window from activating.
|
||||
ret_net->PauseTransmissionUntil(s.Now() + TimeDelta::seconds(10));
|
||||
s.RunFor(TimeDelta::seconds(5));
|
||||
|
||||
// Expect that we never lost send speed because we received no packets.
|
||||
// 500kbps is enough to demonstrate that congestion window isn't activated.
|
||||
EXPECT_GE(client->target_rate().kbps(), 500);
|
||||
}
|
||||
|
||||
TEST_F(GoogCcNetworkControllerTest, CongestionWindowPushBackOnSendDelaySpike) {
|
||||
ScopedFieldTrials trial(
|
||||
"WebRTC-CongestionWindow/QueueSize:800,MinBitrate:30000/"
|
||||
|
@ -153,9 +153,9 @@ DataRate LinkCapacityTracker::estimate() const {
|
||||
}
|
||||
|
||||
RttBasedBackoff::RttBasedBackoff()
|
||||
: rtt_limit_("limit", TimeDelta::PlusInfinity()),
|
||||
drop_fraction_("fraction", 0.5),
|
||||
drop_interval_("interval", TimeDelta::ms(300)),
|
||||
: rtt_limit_("limit", TimeDelta::seconds(3)),
|
||||
drop_fraction_("fraction", 0.8),
|
||||
drop_interval_("interval", TimeDelta::seconds(1)),
|
||||
bandwidth_floor_("floor", DataRate::kbps(5)),
|
||||
// By initializing this to plus infinity, we make sure that we never
|
||||
// trigger rtt backoff unless packet feedback is enabled.
|
||||
|
@ -1175,7 +1175,7 @@ void VideoSendStreamTest::TestPacketFragmentationSize(VideoFormat format,
|
||||
}
|
||||
void ModifySenderBitrateConfig(
|
||||
BitrateConstraints* bitrate_config) override {
|
||||
const int kMinBitrateBps = 30000;
|
||||
const int kMinBitrateBps = 300000;
|
||||
bitrate_config->min_bitrate_bps = kMinBitrateBps;
|
||||
}
|
||||
|
||||
@ -3500,6 +3500,13 @@ void VideoSendStreamTest::TestVp9NonFlexMode(uint8_t num_temporal_layers,
|
||||
const uint8_t num_temporal_layers_;
|
||||
const uint8_t num_spatial_layers_;
|
||||
const bool l_field_;
|
||||
|
||||
private:
|
||||
void ModifySenderBitrateConfig(
|
||||
BitrateConstraints* bitrate_config) override {
|
||||
const int kMinBitrateBps = 300000;
|
||||
bitrate_config->min_bitrate_bps = kMinBitrateBps;
|
||||
}
|
||||
} test(num_temporal_layers, num_spatial_layers);
|
||||
|
||||
RunBaseTest(&test);
|
||||
|
Reference in New Issue
Block a user