Commit Graph

32627 Commits

Author SHA1 Message Date
b6e840c036 RNN VAD: SSE2 optimization for VectorMath::DotProduct
Bug: webrtc:10480
Change-Id: I9f40352308bbfd5ea72a2607e7d1184cb6b85333
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194328
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32745}
2020-12-02 16:59:06 +00:00
04ee79c749 Roll chromium_revision a4b950c23d..6b50907e9a (832520:832826)
Change log: a4b950c23d..6b50907e9a
Full diff: a4b950c23d..6b50907e9a

Changed dependencies
* src/base: 9af91c9dfd..abd6cc53ce
* src/build: f77495615a..796c41e4d2
* src/ios: a840aed7b9..090c111df0
* src/testing: 660c09e212..2a615b18c0
* src/third_party: 53a984ed65..ca45917c19
* src/third_party/android_build_tools/bundletool: gB66fGCdzqmQO6U6hxhoZDCGjOg-oqxhT_4uywaUw1oC..FIj7ed-law2zMv41QhjEXabkaJ7aN2ztmE0Tv3Z_gFUC
* src/third_party/depot_tools: 684460d29e..80cea4f5fc
* src/third_party/perfetto: 6d300e3738..1366dd0117
* src/tools: a49dfb87b0..e2e72191e2
* src/tools/swarming_client: d46ea7635f..1a072711d4
DEPS diff: a4b950c23d..6b50907e9a/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I0535eac1084106fce481cd9675b763f2ffb75575
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196260
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32744}
2020-12-02 16:40:40 +00:00
e301c18eb7 Add landrey as an owner to PC framework code
While Artem is OOO there is no owner over PC framework changes that can appove CLs.

Bug: webrtc:12247
Change-Id: I70aa5e1263efa9c0971a077ecbb247a7c41991cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196091
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32743}
2020-12-02 16:34:41 +00:00
76443eafa9 Add support for toggling builtin voice processing on iOS
Bug: None
Change-Id: I3b64afdaed4777960124f248840f36598bba2ed4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195443
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32742}
2020-12-02 16:07:01 +00:00
01b3e24a83 RNN VAD: VectorMath::DotProduct with AVX2 optimization
This CL adds a new library for the RNN VAD that provides (optimized)
vector math ops. The scheme is the same of the `VectorMath` class of AEC3
to ensure correct builds across different platforms.

Bug: webrtc:10480
Change-Id: I96bcfbf930ca27388ab5f2d52c022ddb73acf8e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194326
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32741}
2020-12-02 15:13:15 +00:00
ccfcec402d Adds more owners to api/test
Bug: None
Change-Id: Ica95e15f8521274c41b475d8c39a0b27a50c7724
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196090
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32740}
2020-12-02 11:19:55 +00:00
253f8369bb AGC2 RNN VAD: safe SIMD optimizations scheme + AVX2 kill switch
In preparation for adding AVX2 code, a safe scheme to support
different SIMD optimizations is added.

Safety features:
- AVX2 kill switch to stop using it even if supported by the
  architecture
- struct indicating the available CPU features propagated from
  AGC2 to each component; in this way
  - better control over the unit tests
  - no need to propagate individual kill switches but just
    set to false features that are turned off

Note that (i) this CL does not change the performance of the RNN VAD
and (ii) no AVX2 optimization is added yet.

Bug: webrtc:10480
Change-Id: I0e61f3311ecd140f38369cf68b6e5954f3dc1f5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193140
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32739}
2020-12-02 10:09:24 +00:00
8d4cdd11d8 Ignore frames that are comming to DVQA after Stop is called
Bug: webrtc:12247
Change-Id: Ie3e773bdff66c900956019ac3131bbdb9ee874cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196084
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32738}
2020-12-02 09:22:14 +00:00
1afe2be9a9 Update webrtc guava dependency part 2
This CL renames webrtc guava dependencies from
third_party/guava:guava_android_java that I missed in
https://webrtc-review.googlesource.com/c/src/+/195720

BUG=chromium:2560401

Change-Id: I702cdbe10af57070b5a9db3b8f4ba913489fe42e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196181
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32737}
2020-12-02 07:48:34 +00:00
52c59c6aaf Roll chromium_revision 1dccbc81bd..a4b950c23d (832322:832520)
Change log: 1dccbc81bd..a4b950c23d
Full diff: 1dccbc81bd..a4b950c23d

Changed dependencies
* src/base: 185d864db4..9af91c9dfd
* src/build: 4fd0dec37b..f77495615a
* src/ios: a89e8fe7b6..a840aed7b9
* src/testing: 52b0052721..660c09e212
* src/third_party: 7323d17ead..53a984ed65
* src/third_party/depot_tools: 6d2a0fef93..684460d29e
* src/third_party/freetype/src: 56c610b145..8cc4d0dc32
* src/third_party/perfetto: 05e6cccec4..6d300e3738
* src/tools: 8f4606b16c..a49dfb87b0
DEPS diff: 1dccbc81bd..a4b950c23d/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I7e7512543fe6a56c3cfd6fa8a1fb340193a75e0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196141
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32736}
2020-12-01 23:00:29 +00:00
69662a99d3 Add API Level guard for allowedCapturePolicy
AudioAttributes::getAllowedCapturePolicy was added in API Level 29.
Update WebRtcAudioTrack to add API Level check before using the API.

Bug: webrtc:12250
Change-Id: Ica6604eb1d7fa736a0e64729a022eefcfb7b3020
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195941
Commit-Queue: Gaurav Vaish <gvaish@chromium.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32735}
2020-12-01 22:59:25 +00:00
449a78b1e2 Prevent window enumeration deadlock and add unit tests.
For some time now, calls to EnumerateCapturableWindows could lead to a
deadlock if an application's main thread is waiting on the thread that
is running EnumerateCapturableWindows. This is because calls to
GetWindowText and GetWindowTextLength send a message to the window if
the window is owned by the current process. Since the main thread is
waiting on us, it will never reply to this message and we will hang.

This happens occasionally in Chromium when tearing down the
NativeDesktopMediaList object, e.g. when a user clicks "cancel" on
the capture target picker.

We can avoid this deadlock by checking if the window we are querying
is owned by the current process, and if it is then we must ensure it
is responding to messages before we call a GetWindowText* API.

This change also adds a unit test for this scenario. We create a
window and force it to be unresponsive by creating a deadlock, and
then call GetWindowList and (with the new changes) we should not
hang. Without the new changes to GetWindowListHandler, this test
would hang.

Change-Id: I2523cd735f96fd7ea60708c30cd22e5b525803f0
Bug: chromium:1152841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195365
Commit-Queue: Austin Orion <auorion@microsoft.com>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32734}
2020-12-01 20:17:22 +00:00
0496a41211 Add class InterArrivalDelta to goog_cc
This cl copies modules/remote_bitrate_estimator/inter_arrival.x to inter_arrival.h and interrival_delta.cc in goog_cc in the first patchset.
In the following- this class is modified to use webrtc::Timestamp and webrtc::Timedelta in order to avoid having to use 24 bit time repressentation.

Bug: none
Change-Id: I9befe6e3e283cf7e21efa974ae33e8a83e26cbe6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194004
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32733}
2020-12-01 20:13:12 +00:00
58678a0eb7 Fix 'iOS API Framework Builder'.
When building WebRTC.framework, building the XCTest test runner is a
problem because it requires Chromium's //base checkout. This workaround
allows to skip that.

No-Presubmit: True
Bug: webrtc:12134
Change-Id: I0d99bd03f27911f46679ee91b0120e7121d1c7d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196081
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32732}
2020-12-01 15:21:23 +00:00
f8aed2fb9f Roll chromium_revision 5e6f1ed54f..1dccbc81bd (832199:832322)
Change log: 5e6f1ed54f..1dccbc81bd
Full diff: 5e6f1ed54f..1dccbc81bd

Changed dependencies
* src/base: 565c3b7373..185d864db4
* src/build: 39ee8199e6..4fd0dec37b
* src/ios: e021e5ce31..a89e8fe7b6
* src/testing: 8a83254bed..52b0052721
* src/third_party: 6815222c2a..7323d17ead
* src/third_party/depot_tools: 1af7968d68..6d2a0fef93
* src/third_party/perfetto: 42433abb95..05e6cccec4
* src/tools: 7bbeac3480..8f4606b16c
DEPS diff: 5e6f1ed54f..1dccbc81bd/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: If4728739429c74da9e743d329e1aed0121d71a67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196140
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32731}
2020-12-01 15:00:13 +00:00
625964f6e0 Update webrtc guava dependency
This CL renames webrtc guava dependencies from
third_party/guava:guava_android_java  to
//third_party/android_deps:guava_android_java

This is in preparation for deleting third_party/guava:guava_android_java

BUG=chromium:2560401

No-Presubmit: True
Change-Id: If9227f4ac4d24386896c47eeb38142a76a27a4ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195720
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32730}
2020-12-01 14:54:03 +00:00
39f09b4c83 Handle AV1 without DependencyDescriptor.
Bug: webrtc:12221
Change-Id: I757c9407d71131a15e5d6b274e16c7a639512761
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196080
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Lahiru Ginnaliya Gamathige <glahiru@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32729}
2020-12-01 12:36:42 +00:00
f30c47fc79 Add Chromium metrics OWNERS as OWNERS of api/uma_metrics.h
As requested on bugs.webrtc.org/12096#c2, this CL adds a Chromium
metric OWNERS in order to always have their review when WebRTC's UMA
metrics are updated.

Bug: webrtc:12096
Change-Id: Icd9ab7dda5f7a4ba6ac078f667c1fd39f3314123
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191702
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32728}
2020-12-01 10:34:17 +00:00
582ffe27df Take out the RTCPSender object under test from the test fixture
Intended to make it easier to write tests varying the
construction-time settings.

Bug: None
Change-Id: I397beee8f7ab48c79ecd095d7e8486f93f9d9b17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195544
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32727}
2020-12-01 10:24:31 +00:00
6562109fc9 test: do not consider flexfec-03 a normal codec
BUG=None

Change-Id: I5d3720202893d73d467aac0288bc5fdef52f79e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194262
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32726}
2020-12-01 10:23:26 +00:00
9a12ee5d37 Use frame rate in video overhead calculation.
Assume bitrate is evenly distributed between frames. This is wrong for
uneven frame sizes and will underestimate the overhead for simulcast.
However, it will be more correct than the current calculation,
especially for low bitrates when each frame is smaller than one packet.
This is also when overhead matters more since it is a larger fraction
of the total bitrate.

It is also unclear what will happen when using FEC.

Bug: b/166341943
Change-Id: I247b9d0fc7a8ad5daa9b577f55ec16c56efa34c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195221
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32725}
2020-12-01 09:42:40 +00:00
a420547865 modules/video_processing: replace copy memory with libyuv::CopyPlane
Bug: None
Change-Id: I4c41117028a6602e8d2cb627868d015422ef0b15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195487
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Zhaoliang Ma <zhaoliang.ma@intel.com>
Cr-Commit-Position: refs/heads/master@{#32724}
2020-12-01 07:24:43 +00:00
b3f1e0fdb4 Roll chromium_revision 8bf715889f..5e6f1ed54f (832086:832199)
Change log: 8bf715889f..5e6f1ed54f
Full diff: 8bf715889f..5e6f1ed54f

Changed dependencies
* src/base: 4d009acb79..565c3b7373
* src/build: 74e52e7a7d..39ee8199e6
* src/ios: a5c3e28696..e021e5ce31
* src/testing: ab5649e834..8a83254bed
* src/third_party: 39e687569f..6815222c2a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/146912bb62..5537c03942
* src/third_party/depot_tools: f819411f2a..1af7968d68
* src/third_party/perfetto: f37338cdaa..42433abb95
* src/tools: 9275bac201..7bbeac3480
DEPS diff: 8bf715889f..5e6f1ed54f/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ic41536b2421a91d0ddc69d955695228341d82eb2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196002
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32723}
2020-12-01 04:41:43 +00:00
9b0f2b30e5 Roll chromium_revision d28771013b..8bf715889f (831953:832086)
Change log: d28771013b..8bf715889f
Full diff: d28771013b..8bf715889f

Changed dependencies
* src/base: a4bd1d8b3b..4d009acb79
* src/build: c044db6dfd..74e52e7a7d
* src/ios: dae1ac764d..a5c3e28696
* src/testing: 6daf6d0b50..ab5649e834
* src/third_party: 6ab48759c4..39e687569f
* src/third_party/depot_tools: eb386eb3d2..f819411f2a
* src/tools: 3f45fb86ac..9275bac201
DEPS diff: d28771013b..8bf715889f/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I6b12e521bb7f7a3ec80cb94f4b5b1288f5b28283
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196020
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32722}
2020-12-01 00:57:22 +00:00
3704603cc0 Roll chromium_revision d99eda17c0..d28771013b (831830:831953)
Change log: d99eda17c0..d28771013b
Full diff: d99eda17c0..d28771013b

Changed dependencies
* src/base: ba32a25741..a4bd1d8b3b
* src/build: 3328d0bdee..c044db6dfd
* src/ios: b7dec422d2..dae1ac764d
* src/testing: 08db542028..6daf6d0b50
* src/third_party: cf672b2448..6ab48759c4
* src/third_party/depot_tools: dc7b108da6..eb386eb3d2
* src/tools: 3692ffb6a3..3f45fb86ac
DEPS diff: d99eda17c0..d28771013b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ib1c08777cd31e10f7d6f5030edd8499835d9caef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195980
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32721}
2020-11-30 21:07:21 +00:00
83a5a20afe Roll chromium_revision 6afe1bbaba..d99eda17c0 (831717:831830)
Change log: 6afe1bbaba..d99eda17c0
Full diff: 6afe1bbaba..d99eda17c0

Changed dependencies
* src/base: 84b4ee8c94..ba32a25741
* src/build: 425e151f06..3328d0bdee
* src/ios: eef3a69f73..b7dec422d2
* src/testing: 88c7098f26..08db542028
* src/third_party: 0ece487b4a..cf672b2448
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7598272651..146912bb62
* src/tools: bdd6677946..3692ffb6a3
DEPS diff: 6afe1bbaba..d99eda17c0/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ia13808de69417efddb7a37f59200fa92586553c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195900
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32720}
2020-11-30 14:33:21 +00:00
41774435f3 Roll chromium_revision 4559b6b576..6afe1bbaba (831617:831717)
Change log: 4559b6b576..6afe1bbaba
Full diff: 4559b6b576..6afe1bbaba

Changed dependencies
* src/base: 788e3c7e90..84b4ee8c94
* src/build: e1db346d5d..425e151f06
* src/testing: 112ad8ea26..88c7098f26
* src/third_party: cdcbc294eb..0ece487b4a
* src/third_party/perfetto: 6cdb496e99..f37338cdaa
* src/tools: 2a1184f6a0..bdd6677946
DEPS diff: 4559b6b576..6afe1bbaba/DEPS

Clang version changed llvmorg-12-init-12083-g94e4ec64:llvmorg-12-init-12923-g6ee22ca6
Details: 4559b6b576..6afe1bbaba/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: If8173977e86b60d47e314d467446796f3521c205
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195740
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32719}
2020-11-29 10:24:08 +00:00
347dc75cb5 Roll chromium_revision 3e0e8c532b..4559b6b576 (831500:831617)
Change log: 3e0e8c532b..4559b6b576
Full diff: 3e0e8c532b..4559b6b576

Changed dependencies
* src/base: 91a7c0ba49..788e3c7e90
* src/build: 169d15ccdb..e1db346d5d
* src/ios: d13be65165..eef3a69f73
* src/testing: 913fc377e5..112ad8ea26
* src/third_party: 2336f7db95..cdcbc294eb
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ae003f552e..7598272651
* src/third_party/freetype/src: 3facafa44e..56c610b145
* src/third_party/perfetto: 254ea334b6..6cdb496e99
* src/tools: 920424e54d..2a1184f6a0
DEPS diff: 3e0e8c532b..4559b6b576/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I013cb313d20d3b997558b1a9d0c9ddba94106429
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195640
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32718}
2020-11-27 18:27:58 +00:00
4e702169e4 Break RtpFrameReferenceFinder into descriptor specific parts.
This CL breaks out descriptor specific parts into separate classes. All logic in the newly added classes is just copy pasted from the (previously massive) RtpFrameReferenceFinder with the exception of how frames are being returned, which is now done via return value rather than a callback. Basically, all interesting changes have been made in the RtpFrameReferenceFinder.

Bug: webrtc:12221
Change-Id: I5f958d2fbf4b77ba11c3c6c01d8d0d80e325be60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195448
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32717}
2020-11-27 17:59:28 +00:00
e99b6ccb9b Build and run iOS tests as XCTests.
After upgrading to xcode 12, some Gtest tests have started to randomly
fail. The solution around this problem is to build and run GTests as
XCTests.

In order to achieve that, the CL sets enable_run_ios_unittests_with_xctest
to true in all iOS builds and adds a dependency on
//base/test:google_test_runner for each Gtest that needs to run as an
XCTest.

Real XCTest don't need the dependency and they are marked with the
rtc_test() argument `is_xctest=true` (apprtcmobile_tests, sdk_unittests
and sdk_framework_unittests).

This CL is based on [1] which passes --xctest to the runner and uses
--undefok to avoid to crash when absl/flags doesn't recognize the
flag --enable-run-ios-unittests-with-xctest (absl/flags cannot have "-"
in flags so WebRTC binaries cannot define that flag). To workaround the
issue, WebRTC tests always behave like
--enable-run-ios-unittests-with-xctest is always set (by linking only
with //base/test:google_test_runner to run iOS tests).

This fixes iOS12 and iOS13 tests but not iOS14 on which some tests
are failing because of restricted access to resources (this will be
addressed in another CL).

Long term, this solution might cause problems when Chromium decides
to update test() GN template and/or the test launcher, so WebRTC should
plan a better integration with Chromium's iOS infra.

[1] - https://chromium-review.googlesource.com/c/chromium/tools/build/+/2550656

Bug: webrtc:12134
Change-Id: I24c731dee0310e02ae1bbe6c23d359d6fcd18f17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193620
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32716}
2020-11-27 15:39:58 +00:00
bcca3b08a9 Improve dashboard upload script so the errors are more understandable
No-Presubmit: True
Bug: None
Change-Id: I2bc297fddacd33037a7c77107d653da87dd2737e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195560
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32715}
2020-11-27 15:26:58 +00:00
cde4a9f669 Enable initial frame drop for SVC 'singlecast'
Bug: none
Change-Id: Ideda726f4f7df5e92556048a199cda06261e76b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195542
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32714}
2020-11-27 14:08:45 +00:00
4005e5abb8 Add av1 svc configuration for target bitrates
This configuration mostly copies vp9 configuration for regular video,
but is done separately to allow tune av1 svc bitrates independently of vp9.

Bug: webrtc:12148
Change-Id: Icd11817ada8f9b6135ee2da57204eadb50de3954
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195329
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32713}
2020-11-27 13:32:05 +00:00
faaaa87960 Remember the proxies
CL that should have been part of CL 195541

Bug: webrtc:12238
Change-Id: I3ab7a7a5f0d0bfdbc00904a01444acda02d49e90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195543
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32712}
2020-11-27 12:51:54 +00:00
cd982137df Add missing RTC_GUARDED_BY for ModuleRtpRtcpImpl::rtt_ms_
Bug: None
Change-Id: I7aef516e4310a7ff14a8bbc77c6edd488167d18d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195338
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32711}
2020-11-27 12:34:04 +00:00
a3dd772e7a Add create function for PeerConnection that can return an error.
Needed in order to return different codes for different failures
in initialization.

Sideswipe: Check TURN URL hostnames for illegal characters.

Bug: webrtc:12238
Change-Id: I1af3a37b9654b83b268304f7356049f9f3786b7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195541
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32710}
2020-11-27 11:08:10 +00:00
c22ac1cc60 Roll chromium_revision f23bf936d4..3e0e8c532b (831394:831500)
Change log: f23bf936d4..3e0e8c532b
Full diff: f23bf936d4..3e0e8c532b

Changed dependencies
* src/base: d2743375b0..91a7c0ba49
* src/build: 137860baa5..169d15ccdb
* src/ios: e8599b61a2..d13be65165
* src/testing: 360b2e3bb7..913fc377e5
* src/third_party: 0d743431a0..2336f7db95
* src/third_party/depot_tools: e62621d2eb..dc7b108da6
* src/third_party/perfetto: 8f8e2dc7d5..254ea334b6
* src/tools: 9b7a11904f..920424e54d
* src/tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:67aba6e3373bb0b9e3ef9871362045736cd29b6e
* src/tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:67aba6e3373bb0b9e3ef9871362045736cd29b6e
* src/tools/luci-go: git_revision:1a022d3a4c50be4207ee93451255d71896416596..git_revision:67aba6e3373bb0b9e3ef9871362045736cd29b6e
DEPS diff: f23bf936d4..3e0e8c532b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Id3dafcf7cf351a8add036acc5d3110b7fa8725b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195521
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32709}
2020-11-27 08:43:57 +00:00
569b76077d Roll chromium_revision 2b2c6f2767..f23bf936d4 (831266:831394)
Change log: 2b2c6f2767..f23bf936d4
Full diff: 2b2c6f2767..f23bf936d4

Changed dependencies
* src/base: c6c9d2c2f8..d2743375b0
* src/build: 7b7e25e69c..137860baa5
* src/ios: c789d359b1..e8599b61a2
* src/testing: c3ae330521..360b2e3bb7
* src/third_party: 8a8f008fc4..0d743431a0
* src/third_party/harfbuzz-ng/src: c39ab82c90..53806e5b83
* src/tools: 95cd40e44f..9b7a11904f
DEPS diff: 2b2c6f2767..f23bf936d4/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Iceb8fe6655401bc5b3755350ca97e1d67268e60d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195405
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32708}
2020-11-26 18:25:55 +00:00
84bc34841b Reset initial frame dropper if the stream changes for external reasons
External reasons here are simulcast configuration and
source resolution change.
Initial frame dropper should be enabled in these cases because the
client can request way too big resolution for available bitrate and
usual quality scaling would take too long.

Bug: none
Change-Id: I02fbbd3c15b53b39672c083c2a1f9a780256c507
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195004
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32707}
2020-11-26 17:39:45 +00:00
d3811947e6 Adjust min bitrate for the first active stream
Without this change, if the user disables QVGA and VGA streams via |active|
flags in SetParamters, the resulting stream would have too high min bitrate.
This would lead to bad performance and low quality adaptation rate.

Bug: none
Change-Id: I919a30bfb248c06747c989afe6965b3afaef2260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195325
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32706}
2020-11-26 17:36:45 +00:00
27883a2593 Annotate cricket::BaseChannel with thread guards
This CL also adds commentary to member variables that couldn't be guarded
because they're accessed from multiple threads.

Bug: webrtc:12230
Change-Id: I5193a7ef36ab25588c76ee6a1863de6a844be1dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195331
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32705}
2020-11-26 13:30:59 +00:00
0d863f72a8 Cleanup of bwe_defines.h
Delete unused macros BWE_MIN and BWE_MAX.

Move enum RateControlState: Make it a private enum class in
AimdRateControl, the only user.

Change users of the header file that only need BandwidthUsage, to
instead include api/network_state_predictor.h, the file defining this
class. As a result, fewer dependencies on
modules/remote_bitrate_estimator.

Bug: None
Change-Id: I4450c79dd58e1875d64dd74d1ae2cb7d911a14b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195222
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32704}
2020-11-26 12:26:02 +00:00
e57eb34a40 Make the remote_bitrate_estimator build target private
Bug: webrtc:9808
Change-Id: I6f0c23841bbdc2999505b89888cf261c31536408
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194330
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32703}
2020-11-26 12:21:22 +00:00
b7d89ca0d3 Move iOS noise suppression override to default settings
Bug: None
Change-Id: I2cd642dd29a9b5e7e6141a54609b95318eb7fc85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195442
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32702}
2020-11-26 12:04:42 +00:00
7b463c5f67 Add a "Smart flushing" feature to NetEq.
Instead of flushing all packets, it makes sense to flush down to the target level instead. This CL also initiates a flush when the packet buffer is a multiple of the target level, instead of waiting until it is completely full.

Bug: webrtc:12201
Change-Id: I8775147624536824eb88752f6e8ffe57ec6199cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193941
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32701}
2020-11-26 11:20:28 +00:00
54b91412de CallbackList: Add support for removing receivers
Bug: webrtc:11943
Change-Id: I7a646729dd1e4f5abe20900412f4105414e1a98f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195332
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32700}
2020-11-26 08:41:36 +00:00
d174d370fe Only call balanced_settings_.CanAdaptUpResolution if DegradationPreference::BALANCED.
Bug: none
Change-Id: If76a3413bfdf359f79d94691b841d4056d91a80b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195327
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32699}
2020-11-26 08:27:56 +00:00
c9a09859fc Calculate writable state over both RTP and RTCP
Patch from andrey.semashev@gmail.com

Bug: webrtc:9424
Change-Id: I5f1378bbd9c7c371a3136b97edb5faa7d1127a82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191760
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32698}
2020-11-26 06:39:26 +00:00
b1f929cd8f Roll chromium_revision 81d25031cb..2b2c6f2767 (831145:831266)
Change log: 81d25031cb..2b2c6f2767
Full diff: 81d25031cb..2b2c6f2767

Changed dependencies
* src/base: c8f17e4b6c..c6c9d2c2f8
* src/build: 497b80f82b..7b7e25e69c
* src/ios: 23e9a490b2..c789d359b1
* src/testing: 8b5a74302a..c3ae330521
* src/third_party: 1ac02eb79d..8a8f008fc4
* src/third_party/depot_tools: a3762a907c..e62621d2eb
* src/tools: 68a7a727b0..95cd40e44f
DEPS diff: 81d25031cb..2b2c6f2767/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ic6358d9bb4fa837799e48f4e0f01729580d8b090
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195420
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#32697}
2020-11-26 06:37:46 +00:00
9d269408a4 Set TCP_NODELAY socket option before calling connect.
Setting the option after calling connect but before the socket is
connected fails in some circumstances on Windows, while setting it
before connecting always succeeds. That's what Chrome is doing;
TCPClientSocket::OpenSocket calls SetDefaultOptionsForClient (which
sets TCP_NODELAY) right after opening the socket.

Also, start logging errors, and storing last error when setsockopt
fails.

Bug: webrtc:12217
Change-Id: I169d52e31b50e54e5bc93ff3590bae656cacb2b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195060
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32696}
2020-11-26 01:00:22 +00:00