Commit Graph

277 Commits

Author SHA1 Message Date
8b27910cbc Include downlink delay into congestion window size.
Change-Id: I33db0c8134b6b3181a7b3abcf32a622a89ff3ab4

Bug: webrtc:10688
Change-Id: I33db0c8134b6b3181a7b3abcf32a622a89ff3ab4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138275
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28079}
2019-05-27 16:07:19 +00:00
2e8d78ce42 Allow overriding subsets of probing field trials
The probe configuration is currently a single field trial. To allow
multiple experiments with non-overlapping subsets of these keys I've
added a few extra keys that override different subsets of the config.

Bug: webrtc:10394
Change-Id: I54ffd1105129794fcdae4cce314910acaa4074af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138274
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28076}
2019-05-27 13:43:45 +00:00
acab559c7b Adds overuse predictor to GoogCC.
Bug: webrtc:10498
Change-Id: Ic97c16d28cbc1e30609f6c1daa3a61423d44641c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136924
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28012}
2019-05-21 16:50:39 +00:00
871ac42597 Refactor of GoogCC debug printer.
Simplifying the code to better fit with how it is used.

Bug: webrtc:9883
Change-Id: I2bd52f26b829413e516dee4f551cf36574275019
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136681
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27994}
2019-05-20 18:40:26 +00:00
eb9bf411f3 Fix problem in WebRTC-Bwe-AlrLimitedBackoff experiment
When backing down, the delay based estimator can still use acked bitrate instead of the last set estimate.

Original code was reviewed in:
https://webrtc-review.googlesource.com/c/src/+/113880

BUG=webrtc:10144

Change-Id: Ia6e2d6d7d05f88f7e51d61b6e37c61a89adccf8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135950
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27912}
2019-05-10 13:58:27 +00:00
b600de286e Provide AlrDetector with event log in GoogCC.
BUG=webrtc:10596

Change-Id: Ifd02419c6880dd55e18c46ec07976f1dde66bad7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135124
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27844}
2019-05-03 13:24:15 +00:00
e847481dc8 Adds debug printing of network estimate.
Bug: webrtc:10498
Change-Id: Idce952675ef079b5981f973ca58ca2cd7e5d5332
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134648
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27838}
2019-05-03 10:08:46 +00:00
2db5fc00c0 Deprecating injection of event log into GoogCC factory.
Bug: webrtc:9883
Change-Id: I6087b4a0a2c934e6a9ab435fffaf2eb1fc2a29e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134644
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27824}
2019-05-02 11:05:17 +00:00
a7caaf07a1 Change AlrDetector to be able to set field trials that only affect AlrDetector
Bug: webrtc:10542
Change-Id: If7cb4086dfcfb313c6ffc0b8f662b8eae5bd4355
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134200
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27804}
2019-04-29 13:46:35 +00:00
7ccaf8969d Cleanup of network controller handling in Scenario tests.
Removing functionality to choose congestion controller implementation,
using injection instead. Also cleaning up some related functionality
that's no longer needed, such as the injection of event logs into the
factory.

Bug: webrtc:9883
Change-Id: Ia528005625430ae31a15bc88881e2d4ac6ad1d42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133890
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27768}
2019-04-25 12:40:00 +00:00
5e3d0f88c8 Moves trendline estimation configuration to trendline_estimator.cc
Bug: webrtc:9883
Change-Id: I5b2139de0c085e1c5ec7c55b5c5ff9a95067e170
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134205
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27767}
2019-04-25 12:27:19 +00:00
416d5db75d Add field trial to AimdRateController to only increase while not in ALR
The idea is that when ALR is detected, the encoder can not produce the bitrate
needed for the delay based estimator to detect overuse and thus the delay based
estimator should not be allowed to increase further.
Likewise, if ALR is not detected, the delay based estimator is allowed to
increase the BWE to ensure that there is no region where the BWE can get stuck.

BUG=webrtc:10542

Change-Id: Ic94b708461c9077fd09132ee4ecb6279ffcd5f99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133190
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27661}
2019-04-17 12:05:24 +00:00
494947bbcf Remove direct use of FieldTrials from modules/remote_bitrate_estimator
Instead use WebRtcKeyValueConfig and FieldTrialBasedConfig

BUG=webrtc:10335

Change-Id: Ie148cb466f86d8fa1ded5c7f125fbcccf6e7dbe3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132714
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27642}
2019-04-16 13:23:12 +00:00
df88cc014a Allow injection of network estimator into GoogCC.
Bug: webrtc:10498
Change-Id: Ie9225411db201dfcfa0a37a3c40992acbdc215bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132402
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27624}
2019-04-15 14:12:08 +00:00
ef86d1413e Refactor of SimulationNode.
This prepares for using network emulation manager in Scenario tests.

Bug: webrtc:9510
Change-Id: I6ae1b21790d0bcd2b01a3b293231d0859afc1ac8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132719
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27623}
2019-04-15 14:11:00 +00:00
5b69873cb5 Remove direct use of FieldTrials from AlrDetector
Instead use WebRtcKeyValueConfig and FieldTrialBasedConfig.
The purpose is to allow a user of GoogCC to use different settings on different instances.

BUG=webrtc:10335

Change-Id: I2f837688c9fdd341eecb44484cc784b1c80da1a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132791
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27617}
2019-04-15 12:11:36 +00:00
ae68ea0008 Reland "Add new field trial for controlling congestion window settings"
This is a reland of dd33d8ec7113ae7bee1511dc9f3f2d6336a7f083

Original change's description:
> Add new field trial for controlling congestion window settings
>
> Bug: None
> Change-Id: Idb7425e394db74a9dfb4f3764a58710497adff56
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131127
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Cr-Commit-Position: refs/heads/master@{#27538}

TBR=mflodman@webrtc.org,crodbro@webrtc.org

Bug: None
Change-Id: Icee2efb90e219ef2c3384ad84498fd6938a98e56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27550}
2019-04-10 16:49:08 +00:00
0810a7c25a Add base class NetworkPredictor and NetworkPredictorFactory and wire up.
Add base class NetworkPredictor and NetworkPredictorFactory in /api, make it possible to inject customized NetworkPredictor in PeerConnectionFactory level. The NetworkPredictor object will be pass down to GoogCCNetworkControl and DelayBasedBwe.

Bug: webrtc:10492
Change-Id: Iceeadbe1c9388b11ce4ac01ee56554cb0bf64d04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130201
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27543}
2019-04-10 12:38:58 +00:00
bd167cf140 Revert "Add new field trial for controlling congestion window settings"
This reverts commit dd33d8ec7113ae7bee1511dc9f3f2d6336a7f083.

Reason for revert: Breaks upstream tests

Original change's description:
> Add new field trial for controlling congestion window settings
>
> Bug: None
> Change-Id: Idb7425e394db74a9dfb4f3764a58710497adff56
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131127
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Cr-Commit-Position: refs/heads/master@{#27538}

TBR=mflodman@webrtc.org,crodbro@webrtc.org,eshr@google.com

Change-Id: I17c6c2ed109f4427657457065abe186ec8b3d10c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132322
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27541}
2019-04-10 12:18:38 +00:00
25f35a8fa5 Add FieldTrial to only send probes on OnMaxTotalAllocatedBitrate()
if currently sent bitrate is application-limited.

Bug: chromium:951299
Change-Id: Ibc1ebd74eaa4a019dc290c11b606796c5be21d0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131126
Commit-Queue: Konrad Hofbauer <hofbauer@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27539}
2019-04-10 11:23:35 +00:00
dd33d8ec71 Add new field trial for controlling congestion window settings
Bug: None
Change-Id: Idb7425e394db74a9dfb4f3764a58710497adff56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131127
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#27538}
2019-04-10 10:52:51 +00:00
6a489f22c7 Fully qualify googletest symbols.
Semi-automatically created with:

git grep -l " testing::" | xargs sed -i "s/ testing::/ ::testing::/g"
git grep -l "(testing::" | xargs sed -i "s/(testing::/(::testing::/g"
git cl format

After this, two .cc files failed to compile and I have fixed them
manually.

Bug: webrtc:10523
Change-Id: I4741d3bcedc831b6c5fdc04485678617eb4ce031
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132018
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27526}
2019-04-09 17:18:20 +00:00
ebd94f6df1 Using simulated time for GoogCC tests.
Bug: webrtc:10365
Change-Id: I482e544f1585fdb54dc49740ba81870104dd58a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130509
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27468}
2019-04-05 15:58:29 +00:00
d98cbd8f91 Moves send side bandwidth estimation bandwidth cap inside class.
Bug: webrtc:9883
Change-Id: I0bcfacccf522de1a7276c5bee07418159c57e514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130495
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27421}
2019-04-02 18:03:04 +00:00
5b84f67fba Cleaner reading of field trials in GoogCcNetworkController.
Bug: webrtc:9883
Change-Id: Ib871dfdef6221f2a231f6862edec6ed7db684613
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130515
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27420}
2019-04-02 17:58:09 +00:00
9d8eaac4ee Delete unneeded direct includes of common_types.h
And delete corresponding dependencies on :webrtc_common. After this
change, common_types.h is included directly only from code in the
following directories:

api/
api/video/
api/video_codecs/
common_video/libyuv/include/
media/base/
modules/remote_bitrate_estimator/
modules/rtp_rtcp/source/
modules/video_coding/codecs/vp9/

There remains plenty of indirect dependencies on the types declared in
common_types.h, but the fewer direct dependencies should make it
easier to find the proper place for each type.

Bug: webrtc:5876
Change-Id: I93e8f214025ecb613c19fdec2015bd3f96c59aae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130501
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27376}
2019-04-01 07:18:13 +00:00
ed2207abee Introduce a configurable "critical low" bandwidth in AIMD rate control.
When a bandwidth decrease to the estimated throughput would lead to
the "critical low" region we allow dropping to the link capacity
estimate instead (if it is higher).
Also moved BweInitialBackOffInterval config to the same field trial
string.

Bug: webrtc:10462
Change-Id: I4d6ee020a9ab8cede035b64253e3b3b1e2fb92b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129920
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27325}
2019-03-27 19:37:05 +00:00
53c75cff2e Fix for acknowledged bitrate estimator getting stuck at low bandwidth.
Problem seems to be that once the estimate drops, "sample_uncertainty"
becomes very large, and it therefore takes a long time to recover.
Fix is under config for further downstream verification.

Bug: webrtc:10462
Change-Id: I5c2035f06e8a5088db0f0cb6ca511ef900e07645
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128902
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27320}
2019-03-27 16:16:37 +00:00
01d3618a75 Make the OnMaxTotalAllocation probes configurable.
This CL allows us to control how many probes we send when the bandwidth
allocation is updated, and how big they are.

Bug: webrtc:10394
Change-Id: I19e40740a528f83384b65d7509295034cc9a3031
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129904
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27317}
2019-03-27 16:10:17 +00:00
4bd3177ae5 Reland "Avoid calling OnRoundTripTimeUpdate with invalid RTTs."
This is a reland of afa61c94e50e2737d4d4b22d7a830845e763cf27

Original change's description:
> Avoid calling OnRoundTripTimeUpdate with invalid RTTs.
> 
> Bug: none
> Change-Id: Ic19b87ad7094465da6091d0e99b10a6d1b7d2e58
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128776
> Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27308}

Bug: none
Change-Id: Ic5669a27ea66ab0c207556c54bb595c83850ffd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129924
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27315}
2019-03-27 15:07:11 +00:00
24923e8cfa Make some constants in the bitrate prober configurable.
This lets us change how many bytes and packets goes into the probes, as
well as some other things.

Bug: webrtc:10394
Change-Id: I26bb26a644e6f00366e9275228760c8744d63735
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128424
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27312}
2019-03-27 13:50:35 +00:00
7b6acd68ee Revert "Avoid calling OnRoundTripTimeUpdate with invalid RTTs."
This reverts commit afa61c94e50e2737d4d4b22d7a830845e763cf27.

Reason for revert: Breaks a downstream test.

Original change's description:
> Avoid calling OnRoundTripTimeUpdate with invalid RTTs.
> 
> Bug: none
> Change-Id: Ic19b87ad7094465da6091d0e99b10a6d1b7d2e58
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128776
> Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27308}

TBR=srte@webrtc.org,crodbro@webrtc.org

Change-Id: Ic4c516d3325050858ac99731f6d25181fb40b7bd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129922
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27309}
2019-03-27 12:52:48 +00:00
afa61c94e5 Avoid calling OnRoundTripTimeUpdate with invalid RTTs.
Bug: none
Change-Id: Ic19b87ad7094465da6091d0e99b10a6d1b7d2e58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128776
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27308}
2019-03-27 12:13:25 +00:00
7db3bb95dc Revert "Remove rtc::TimeMillis() call from ALR detector."
This reverts commit 2c7964832eacfddceb467da385c0dfe89a5b8d7d.

NOTE: Build file changes had to be manually reverted to avoid
merge conflict.

Reason for revert: Bad interaction with Chromium issue.

Original change's description:
> Remove rtc::TimeMillis() call from ALR detector.
>
> We want to avoid system clock dependencies in congestion
> controllers as it makes it harder to test them. This CL removes
> a rtc::TimeMillis() call from the AlrDetector class and removes
> dependencies on rtc_base_approved as it exposes time_utils.h.
>
> Bug: None
> Change-Id: Ie50a27399c05a0c50cdc17ad142db884b94ee918
> Reviewed-on: https://webrtc-review.googlesource.com/c/124491
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26879}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:942752
Change-Id: I7fc4391f16779ebb5d3c72a058fc72a3e4c64bce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129440
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27267}
2019-03-25 14:08:53 +00:00
9debe5aee4 Deleting copy constructors for Scoped* classes.
Bug: webrtc:10365
Change-Id: Ia670b7b1ac72eb19f9e30228fd023601e2fb8a88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128901
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27259}
2019-03-25 09:05:29 +00:00
94b57c044e Cleanup BUILD.gn files from imports like foo:foo
Repalce all occurrences of foo:foo in deps with just foo in BUILD.gn
files.

Done with Sublime regex replace.
Find: \b([-a-zA-Z0-9_]+):+\1\b
In: *.gn
Replace with: \1

Bug: None
Change-Id: I40aba1b14face687a595b852ffe443cb20197611
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127899
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27225}
2019-03-21 13:05:28 +00:00
533a9fec55 Clean BUILD.gn files: remove extra :memory
Use //third_party/abseil-cpp/absl/memory instead of
//third_party/abseil-cpp/absl/memory:memory in BUILD.gn files.

Bug: None
Change-Id: I47c915f0847b102b37c5b38009c91b315cd3a1b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128615
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27222}
2019-03-21 12:09:50 +00:00
7dbc0eb2ef Makes loss based controller test more robust.
Current implementation of loss based controller has a sensitive filter.
This CL increases the moderate loss rate to ensure robustness to small
changes in network behavior.

Bug: webrtc:10365
Change-Id: I0dcb5ba45904d8dda4c78b39bd13619523bc90ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127901
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27160}
2019-03-18 12:21:11 +00:00
35816cc9a1 Revert "Log an error if the RTT is negative"
This reverts commit a594ef089370b8073ca9dc5a6b6bf4be9a58a313.

Reason for revert: This log is triggered more than 10,000 times per run, spamming the log output to the extent that tests start failing with EXCESSIVE_OUTPUT.

The tests are chromium.webrtc.fyi tests:
 * WebRtcStressResolutionSwitchBrowserTest.MANUAL_SurvivesPeerConnectionResolutionSwitching
 * WebRtcStressPauseBrowserTest.MANUAL_SurvivesPeerConnectionVideoPausePlaying
on linux, win, and mac.

Example run: https://ci.chromium.org/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20Linux%20Tester/2556

Original change's description:
> Log an error if the RTT is negative
> 
> Bug: webrtc:10407
> Change-Id: I5479cb2b7163c6e9e58854f4ffa7976b3d606da5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127568
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27122}

TBR=srte@webrtc.org,eshr@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10407
Change-Id: Ida2572b722b92bae4893d4567597dd21d1df54b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128120
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27144}
2019-03-15 13:11:24 +00:00
a594ef0893 Log an error if the RTT is negative
Bug: webrtc:10407
Change-Id: I5479cb2b7163c6e9e58854f4ffa7976b3d606da5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127568
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27122}
2019-03-14 08:44:09 +00:00
5ce38fff17 Making UpdatesTargetRateBasedOnLinkCapacity more robust.
This CL adds enough simulated time to recover the built up delay. This
makes the test less sensitive to small timing changes. This prepares
for further changes in Scenario test framework.

Bug: webrtc:10365
Change-Id: Iddbe6a57e31f17f590004e29221f907321cbb3d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127567
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27107}
2019-03-13 15:36:55 +00:00
bd50a84336 Revert "Reland "DCHECK feedback_rtt is positive""
This reverts commit ab0d03dcaaa98677348d15352f7bc1e8e066180f.

Reason for revert: Broke webrtc importer.

Original change's description:
> Reland "DCHECK feedback_rtt is positive"
> 
> This is a reland of 37d4f91db3fd1d0e023a820d0cda86bb786a0f72
> Reason for reland: Got Aliby for Android FEC test flakes.
> 
> Original change's description:
> > DCHECK feedback_rtt is positive
> >
> > Bug: None
> > Change-Id: I6eb10d6a20a679fff08f604441f8e58dcd417608
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126464
> > Commit-Queue: Evan Shrubsole <eshr@google.com>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27034}
> 
> Bug: None
> Change-Id: Iacacda9e3b141c69189f7931a1ec63d74b2dd845
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126920
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Ying Wang <yinwa@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27082}

TBR=srte@webrtc.org,yinwa@webrtc.org,yvesg@webrtc.org,yvesg@google.com,eshr@google.com

Change-Id: Ia59f20019309c1e0b44029179d63558e92d39a85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127324
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27085}
2019-03-12 19:40:25 +00:00
ab0d03dcaa Reland "DCHECK feedback_rtt is positive"
This is a reland of 37d4f91db3fd1d0e023a820d0cda86bb786a0f72
Reason for reland: Got Aliby for Android FEC test flakes.

Original change's description:
> DCHECK feedback_rtt is positive
>
> Bug: None
> Change-Id: I6eb10d6a20a679fff08f604441f8e58dcd417608
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126464
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27034}

Bug: None
Change-Id: Iacacda9e3b141c69189f7931a1ec63d74b2dd845
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126920
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27082}
2019-03-12 17:00:51 +00:00
e096004745 Enable configuring probes via field trial.
This CL adds a field trial that lets us control the size of the initial probes, how we grow the following probes and how big and frequent our ALR probes are.

Bug: webrtc:10394
Change-Id: I6c7783dfada9aaf55cd836dd8991bb7b8ca4993b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126880
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27077}
2019-03-12 14:27:18 +00:00
8a0c1f58cc Don't reset bitrate when allocatable minimum changes.
This fixes an issue where the time between freezes dropped in
perf tests. This was triggered by resetting and updating the bitrates
immediately if the min allocatable bitrate changed, causing a drop in
target bitrate. With this CL, the change in min bitrate will not take
effect until we get more data.

Bug: chromium:940349
Change-Id: Ia680a5f1cfe71847ef90669987e7b89b240b9524
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126625
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27054}
2019-03-11 11:46:38 +00:00
c0c3e966d3 Revert "DCHECK feedback_rtt is positive"
This reverts commit 37d4f91db3fd1d0e023a820d0cda86bb786a0f72.

Reason for revert: Breaks downstream Android projects.

Original change's description:
> DCHECK feedback_rtt is positive
> 
> Bug: None
> Change-Id: I6eb10d6a20a679fff08f604441f8e58dcd417608
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126464
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27034}

TBR=srte@webrtc.org,yinwa@webrtc.org,eshr@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: None
Change-Id: I412cc3bf9fd6991d3afa68c0fd9289bfc84a98cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126622
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#27047}
2019-03-10 11:00:37 +00:00
37d4f91db3 DCHECK feedback_rtt is positive
Bug: None
Change-Id: I6eb10d6a20a679fff08f604441f8e58dcd417608
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126464
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27034}
2019-03-08 13:04:41 +00:00
06b77f9d8f Use min allocatable bitrate as lower bound for target bitrate.
Bug: None
Change-Id: Iee060064bb35bc916dcf2744d969ccd512bf8973
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126004
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27018}
2019-03-07 14:18:35 +00:00
dc62ae432d Cleanup of constraints configuration in GoogCcNetworkController.
Bug: webrtc:9887
Change-Id: Ic12cc477ae96dac0890337d3f7aa8ff031ff6687
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126003
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27014}
2019-03-07 10:50:24 +00:00
11e55ee90a Renaming min_pacing_rate to min_total_allocated_bitrate.
This prepares for upcoming CL using the value for more than
controlling pacing rates.

Bug: webrtc:9887
Change-Id: Id3891c3727865149b87f946b3e7c3095a6ac9f26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126001
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27004}
2019-03-06 18:09:16 +00:00