Commit Graph

36455 Commits

Author SHA1 Message Date
ed57873196 Default screencast_min_bitrate_kps to 100 kbps.
See go/deprecating-media-constraints for motivation.

Setting this min bitrate is necessary for BWE to work properly when
sending screencast in low BW scenarios. The value 100 kbps appears to be
a sensible default in practise (this is the value used by Google Meet).
In order for apps not to have to rely on non-standard APIs
(googScreencastMinBitrate) for BWE to work properly, we change the
default to 100 kbps. This will unblock deprecating and removing legacy
mediaConstraints.

A kill switch is added in case this causes any unforeseen issues, but if
all goes well we can remove the kill switch in the next milestone.

Bug: chromium:1315155
Change-Id: I02b4eb0dfb26f934e678760313a0423f412512c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258681
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36523}
2022-04-11 12:59:57 +00:00
2aaf71bf9e Prevent jsoncpp from hiding deprecated declarations in WebRTC
Bug: chromium:983223
Change-Id: I7959383f9ca5149df39eb66c2b54d6e4fd27f534
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258241
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36522}
2022-04-11 12:33:47 +00:00
ed1bc59a6e Remove perf tests from the builders.
Also fix wrong iOS bot definition in waterfalls.pyl.

Bug: webrtc:13899
Change-Id: I3146751a49d359cdb17324b53065757b0e93e402
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258661
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36521}
2022-04-11 12:10:57 +00:00
4bc12200b6 Reland WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf
Modify cl/ a bit and add fieldtrialsstring on observer
not to break downstream projects.

---

WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf

This cl/ passes field trials all the way from c++
to the android NetworkMonitorAutoDetect.java

Bug: webrtc:10335
Change-Id: Ic6842612eed36b684340f0f78f4087bee249cc50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257081
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36498}

---

Bug: webrtc:10335
Change-Id: Ied43770977465a0042541a61d29a9015c0b9cdc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258622
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36520}
2022-04-11 12:01:38 +00:00
eaf632a8a5 WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 17/inf
Now that FieldTrialsView is (almost) a supported object,
let downstream tests use the ScopedKeyValueConfig for
testing.

Bug: webrtc:10335
Change-Id: I7bf7577387f1123b473275990ca32b80a8ddf9bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258480
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36519}
2022-04-11 11:34:07 +00:00
39ad2d868c AudioBuffer: Remove deprecated constructor
Removes webrtc::AudioBuffer deprecated constructor.

Bug: webrtc:5298
Change-Id: If8debe990c0358e58fbdc59bfdfb7e4af1f38f00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257305
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36518}
2022-04-11 10:06:07 +00:00
6daa3048fc Added OnResolutionChange to EncoderSelectorInterface.
Bug: webrtc:12406
Change-Id: I0160636d93ad0a33caf7ae7443cefe321a191406
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258442
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36517}
2022-04-11 10:04:57 +00:00
9797dcd1a7 [CallbackList] Support component build
Bug: webrtc:11943
Change-Id: I2abde42d65bc66f8e026fedfc2aa26bf86e1e46d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258600
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36516}
2022-04-11 08:56:51 +00:00
8bd5d484fe [CallbackList] Allow removal from within callback.
This makes moving from sigslot to CallbackList slightly simpler in some
situations.

Bug: webrtc:11943
Change-Id: I5c6dafb8ac597a119b90b64f369fa9e6316e38da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258560
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36515}
2022-04-11 08:42:46 +00:00
06e4fc548c Remove dependency on //build/config/linux/gtk
I'm planning on removing //build/config/linux/gtk in Chrome, so this
CL removes the dep in WebRTC.

Bug: None
Change-Id: I8b644ae38402335ba98fc4bf9932d132b6c816b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258261
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36514}
2022-04-11 08:00:26 +00:00
a14e6ed09a Catch SecurityException when opening camera
A managed device might have camera access restricted, which results in
the following crash:

Caused by android.os.ServiceSpecificException: validateClientPermissionsLocked:1044: Callers from device user 0 are not currently allowed to connect to camera "1"
       at android.os.Parcel.createException(Parcel.java:2085)
       at android.os.Parcel.readException(Parcel.java:2039)
       at android.os.Parcel.readException(Parcel.java:1987)
       at android.hardware.ICameraService$Stub$Proxy.connectDevice(ICameraService.java:624)
       at android.hardware.camera2.CameraManager.openCameraDeviceUserAsync(CameraManager.java:389)
       at android.hardware.camera2.CameraManager.openCameraForUid(CameraManager.java:588)
       at android.hardware.camera2.CameraManager.openCamera(CameraManager.java:516)
       at org.webrtc.Camera2Session.openCamera(Camera2Session.java:359)
       at org.webrtc.Camera2Session.start(Camera2Session.java:322)
       at org.webrtc.Camera2Session.<init>(Camera2Session.java:298)
       at org.webrtc.Camera2Session.create(Camera2Session.java:276)
       at org.webrtc.Camera2Capturer.createCameraSession(Camera2Capturer.java:35)
       at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272)
       at android.os.Handler.handleCallback(Handler.java:883)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:214)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Change-Id: I5e7b8d238e9381d1f8a4fe9858e8eb480d578fa0
Bug: webrtc:13950
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258363
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36513}
2022-04-11 07:26:08 +00:00
9817fe4fe3 Update WebRTC code version (2022-04-11T04:02:06).
Bug: None
Change-Id: Ie0918ad7b2d5e66f56ef4e8cd301f5afca5466e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258640
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36512}
2022-04-11 04:52:36 +00:00
7f3e0e80b7 Add a smoke test for VideoToolbox H.264 codec on MacOS/iOS
There doesn't seem to be any tests currently running with
VideoToolbox H.264 codec.
Add a minimal test to make sure there are no regressions.

Bug: webrtc:13934
Change-Id: I664833d06e9b4f919b0662781891f5448e6057c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257922
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#36511}
2022-04-11 01:05:46 +00:00
a30d767a6d Update WebRTC code version (2022-04-10T04:03:47).
Bug: None
Change-Id: I54f0e3f2158c8c77f4b6a986ab8991dd42523b1e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258580
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36510}
2022-04-10 05:32:17 +00:00
e16115c7ab Update WebRTC code version (2022-04-09T04:03:02).
Bug: None
Change-Id: Ie2ebd646c51fdfd658f8e9fdebf70ef9d5afcbce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258520
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36509}
2022-04-09 05:12:06 +00:00
dad78f8cff Move the readline-timeout to the iOS device instead of simulator.
Also increase the timeout over 10 minutes and increase the bot timeout.
https://chrome-swarming.appspot.com/task?id=5a2118b0119c3b10

Bug: b/228402401
Change-Id: Idf652fd7fa2fc6670011df254836444dfaf553a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36508}
2022-04-08 20:50:25 +00:00
616bea20e1 Fix missing perftest-output.pb file for Android perf bots.
Bug: webrtc:13899
Change-Id: Ica8fe3f90a80c79b5cd53b755cc0761292664547
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258403
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36507}
2022-04-08 20:48:05 +00:00
2e1ac58631 Query the system for WGC support instead of relying on version checks.
The Windows 2019 Enterprise SKU is based on RS5 but is missing support
for WGC. This changes adds a function IsWgcSupported which will check
that the API is actually present, which should be more robust than just
performing a version check.

Bug: webrtc:13932
Change-Id: Ib6a2278f316b9b86671df77fd37468c79564d655
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258163
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#36506}
2022-04-08 18:16:38 +00:00
385b6c5460 Adopt absl::string_view in field trial test helpers
Bug: webrtc:13579
Change-Id: Ie16b2f1cf5288cf795ea6d40f4b3a37f76f00f76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258422
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36505}
2022-04-08 18:15:35 +00:00
1397c4bfd9 AEC3: Handle temporary stereo content more robustly
During temporary stereo content when the AEC3 uses a mono reference signal, the signal is downmixed by averaging instead of using only the left channel.

Additionally, temporary stereo content is flagged as an echo path change.

Tested: Modified local build: Verified stereo mode entered / left in accordance with hysteresis and timeout thresholds. Verified temporary stereo detected during temporary stereo playout. Made an aecdump and inspected content.
Bug: chromium:1295710
Change-Id: I6bd53e615dfb3ec39bc1c73275b7d6d599ac7c57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258481
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36504}
2022-04-08 17:03:34 +00:00
cf7f7f9fa0 AEC3: Add hysteresis period before entering stereo processing
Even if playout audio is only very briefly stereo, the AEC will enter stereo processing mode. To save CPU and improve AEC performance, this CL adds a hysteresis period before treating playout as stereo.

The feature is enabled by default in the AEC3 config.

Bug: chromium:1295710
Change-Id: I29116ab2e7823e25a02aa3b66a1c619f1d966d9e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258479
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36503}
2022-04-08 17:01:08 +00:00
fa07b43074 AEC3: Add fallback to mono processing if no stereo is detected for some time
If playout audio is temporarily stereo, the AEC will currently enter stereo processing mode indefinitely. To save CPU and improve AEC performance, this CL adds support for falling back to mono after a period of no stereo.

The feature is enabled by default in the AEC3 config.

Bug: chromium:1295710
Change-Id: I690b5b22f8407f950bf41f3bcaa9ca0138452157
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258421
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36502}
2022-04-08 16:43:14 +00:00
13fe3674ff Fix to not crash when VideoEncoderFactory fails to create encoder
Bug: webrtc:13082
Change-Id: I5f1cfa7db6259e71ce3fc18281a3d084c32911ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257923
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#36501}
2022-04-08 15:52:44 +00:00
54714779b2 Revert "WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf"
This reverts commit f177081eeeab64658fb560b6e8cb235620ac4a1a.

Reason for revert: breaks downstream project

Original change's description:
> WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf
>
> This cl/ passes field trials all the way from c++
> to the android NetworkMonitorAutoDetect.java
>
> Bug: webrtc:10335
> Change-Id: Ic6842612eed36b684340f0f78f4087bee249cc50
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257081
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Florent Castelli <orphis@webrtc.org>
> Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36498}

Bug: webrtc:10335
Change-Id: I8d881ea3f50cf4affde65800d759885b2581c6be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258482
Reviewed-by: Jonas Oreland <jonaso@google.com>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36500}
2022-04-08 15:10:14 +00:00
bb877d25c2 Add tests for more VP9 configurations.
Adds tests for
- InterLayerPredMode::kOnKeyPic
- InterLayerPredMode::kOff

Bug: none
Change-Id: I614fbb4c73f9faeac0c6a8e7ee8f8a72dde8b8ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258402
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36499}
2022-04-08 14:18:25 +00:00
f177081eee WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf
This cl/ passes field trials all the way from c++
to the android NetworkMonitorAutoDetect.java

Bug: webrtc:10335
Change-Id: Ic6842612eed36b684340f0f78f4087bee249cc50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257081
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36498}
2022-04-08 14:08:25 +00:00
35716230b5 Delete deprecated dummy method GetNetworks(NetworkList* networks).
Followup to https://webrtc-review.googlesource.com/c/src/+/256967.

Bug: webrtc:13869
Change-Id: Ie929082681ab285f7e390d646cc258ad573f86c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258133
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36497}
2022-04-08 13:22:44 +00:00
7efe5332f2 APM Transient Suppressor (TS): integrate VoiceProbabilityDelayUnit
This CL adds a component in the TS implementation to return a delayed
version of the voice probability values observed when `Suppress()` is
called. That is needed in order to temporally align the voice
probability values to the processed audio since TS adds algorithmic
delay.

Bug: webrtc:13663
Change-Id: I5041ace3939d2ce7ba084ae703428e66f1aa06be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255860
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36496}
2022-04-08 12:13:14 +00:00
26b23b8fcc Merge GN templates for iOS and MacOS framework creation
The two GN templates are nearly identical, so merge them to reduce
maintenance.

Bug: webrtc:13949
Change-Id: I5f53ade5f9d09ce6f23a6cb29c9d39df4485a237
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258380
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#36495}
2022-04-08 12:10:36 +00:00
145fdbf3b2 Explicitly disallow copy in PlatformThread
Bug: none
Change-Id: If7a7483f742ef5650b991ad659265a598b91a892
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258400
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36494}
2022-04-08 12:03:04 +00:00
23e4654303 Apply bugprone-stringview-nullptr.
Bug: None
Change-Id: Id6372a8a94f512fede50cdb36dc3ae378f271cee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258139
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36493}
2022-04-08 11:04:34 +00:00
3fcab3985c APM Transient Suppressor (TS): remove unused return values
The values returned by `TransientSuppressor::Initialize()` and by
`TransientSuppressor::Suppress()` are never used.

Bug: webrtc:13663
Change-Id: I20b8afb5a66f49e5ebaf132acf8bcd1c4292a5f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255822
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36492}
2022-04-08 10:08:04 +00:00
016ae448e0 Reland "Delete unused class GlobalMutex"
This is a reland of commit 5831afb8328cbecdbdbee882280ef907a09d9f31

Original change's description:
> Delete unused class GlobalMutex
>
> Bug: webrtc:13869
> Change-Id: Id3655bdd24630b78e83b606291605a37129fd4bc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258131
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36478}

Bug: webrtc:13869
Change-Id: I43f41c9128fc8054fc0051cbeb4dbe5cfc91f458
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258137
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36491}
2022-04-08 10:02:08 +00:00
080006b42f APM Transient Suppressor (TS): initialization params in ctor
More robust API option that allows to fully initialize TS when created.

Bug: webrtc:13663
Change-Id: I42c38612ef772eb6d0bbde49d04ea39332a0e3c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255821
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36490}
2022-04-08 09:41:44 +00:00
093ce288fd Fix race in KeepsMostRecentEvents.
The test may spawn threads that reference the global clock, so the
code that resets the fake clock, needs to run when those threads
have been stopped.

Bug: webrtc:13947
Change-Id: I1f7dc921b7a8ff8e7e89e03e4397e635b67d77be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258361
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36489}
2022-04-08 08:21:34 +00:00
137c2a8316 Update WebRTC code version (2022-04-08T04:02:16).
Bug: None
Change-Id: I5e9ba82f5e67d3a1721a799b0904d518ec0ea6d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258340
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36488}
2022-04-08 05:44:07 +00:00
0ae390fd17 APM TS: Adding VoiceProbabilityDelayUnit
Adding a delay unit to be used in the APM Transient Suppressor (TS)
sub-module through which the observerd voice probabilities are
temporally aligned to the audio processed by TS, which introduces
algorithmic delay.

Bug: webrtc:13663
Change-Id: I2136c303914580851c742d8db89478a13b06dacb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255680
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36487}
2022-04-07 18:53:03 +00:00
a54171b46b Fix failure on 'MacARM64 M1 Release' bot.
Error when trying to access the try pool from a ci bot:
https://ci.chromium.org/ui/p/webrtc/builders/ci/MacARM64%20M1%20Release/2181/overview

Bug: webrtc:13899
Change-Id: Id509fae9b519ec08818861787f98e990479a1a0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36486}
2022-04-07 17:02:02 +00:00
efbe3af366 Transient Suppressor (TS): add alternative VAD modes
It is now required to specify which VAD is used to compute the speech
probability passed when `TransientSuppressor::Suppress()` is called.
In this way, it is possible to adapt parameters and/or logic of a
`TransientSuppressor` implementation to the behavior of the used
VAD. This CL also adds a "no VAD" mode option, which ignores the speech
probability argument passed when `Suppress()` and always applies mild
suppression to preserve transparency.

Finally, this CL adds a field trial to choose which VAD is used by
APM for transient suppression. Wiring the RNN VAD to TS will be done
in a follow-up CL.

Bug: webrtc:13663
Change-Id: I21ed49f91875a4ee0f04db97ea87c0dbc3db7f8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250962
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36485}
2022-04-07 16:27:32 +00:00
9190fef84d Fix bots failure when migrating to waterfalls.pyl.
An assert that the same tests are running before and after the migration is failing.
The new config was adding "video_capture_test".

Also add bot 'Android64 Builder arm64' instead of 'Android32 Builder arm64'.

Bug: webrtc:13899
Change-Id: Ic87576ab9740c0dc138f0b087e97ee0ae4be3376
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258138
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36484}
2022-04-07 15:38:02 +00:00
ca101e6bb4 Count consecutive expands by last mode in NetEq decision logic.
This is a slight change in behavior that fixes a bug where all expansions are not counted due to more than 10ms available in the sync buffer, which can happen after repeated expansions.

The counter should also be updated when in muted mode.

Bug: webrtc:13322
Change-Id: I067689ee251d3d1ae990a27cdd271f718b0d6f2f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257360
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36483}
2022-04-07 15:19:52 +00:00
64cdcc0792 AEC3: Add multichannel configuration and multichannel detection
The features have two safety fallbacks:
- multichannel config has a killswitch WebRTC-Aec3SetupSpecificDefaultConfigDefaultsKillSwitch
- stereo detection has a killswitch WebRTC-Aec3StereoContentDetectionKillSwitch

Both features are enabled by default in the AEC3 config.

Tested: Bitexact on a large number of aecdumps.
Bug: chromium:1295710
Change-Id: I340cdc9140dacd4ca22d0911eb9f732b6cf8b226
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258129
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36482}
2022-04-07 14:58:02 +00:00
f236ac73de Whitespace change to kick bots.
Bug: None
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I68330a17f4738aa51a1ee61494e96c6d47cd5bd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258136
Owners-Override: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36481}
2022-04-07 14:20:52 +00:00
db622c359b Revert "Delete unused class GlobalMutex"
This reverts commit 5831afb8328cbecdbdbee882280ef907a09d9f31.

Reason for revert: The code is still in use: https://ci.chromium.org/ui/p/webrtc/builders/ci/Win32%20Builder%20(Clang)/10243/overview. It wasn't detected for some reasons.

Original change's description:
> Delete unused class GlobalMutex
>
> Bug: webrtc:13869
> Change-Id: Id3655bdd24630b78e83b606291605a37129fd4bc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258131
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36478}

Bug: webrtc:13869
Change-Id: Id44dd4f8ec31ac9e05fc0ee75b55916e627fd7bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258135
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36480}
2022-04-07 13:38:53 +00:00
2221144d01 Delete old versions of GetNetworks and GetAnyAddressNetworks
Bug: webrtc:13869
Change-Id: I8a54b875a06345ac6a762673aba9ca51d79f0a82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256967
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36479}
2022-04-07 11:25:12 +00:00
5831afb832 Delete unused class GlobalMutex
Bug: webrtc:13869
Change-Id: Id3655bdd24630b78e83b606291605a37129fd4bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258131
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36478}
2022-04-07 11:24:02 +00:00
ee8e9ccd1a Roll chromium_revision 14b836593f..a929241fb2 (989744:989850)
Change log: 14b836593f..a929241fb2
Full diff: 14b836593f..a929241fb2

Changed dependencies
* src/base: 38a0a966d9..676395445e
* src/build: eec2571deb..13488f684b
* src/buildtools/linux64: git_revision:ab9104586734cb45aa77c70ca5042edbcc9f6aa5..git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a
* src/buildtools/mac: git_revision:ab9104586734cb45aa77c70ca5042edbcc9f6aa5..git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a
* src/buildtools/win: git_revision:ab9104586734cb45aa77c70ca5042edbcc9f6aa5..git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a
* src/ios: 7ad2f4ee6a..7d92c2079d
* src/testing: 0427a6b9aa..044964b58c
* src/third_party: 043acc4f78..0670b31598
* src/third_party/depot_tools: ba94bbeaa8..0a6b544e20
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/cc31d8c4b7..d48a17ce98
* src/tools: a0b14da565..6dbc00b623
DEPS diff: 14b836593f..a929241fb2/DEPS

No update to Clang.

BUG=None

Change-Id: I5840501bc41469addccc1625f70b9167e9b7c578
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258285
Bot-Commit: 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/main@{#36477}
2022-04-07 10:43:02 +00:00
9f420d918f Add all the bots to waterfalls.pyl.
Bug: webrtc:13899
Change-Id: Icc01225901abb19cf92f70354a97d61c625670c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258132
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36476}
2022-04-07 10:34:22 +00:00
00e93249ca Refactor android stacktrace
Move global state into a singleton class. Eliminates use of
GlobalMutex. Also use std::atomic rather than volatile, for improved
thread safety.

Bug: webrtc:11567
Change-Id: I305d16ed2f4a9a6497df119e66d9bba08337339a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258120
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36475}
2022-04-07 08:32:42 +00:00
cc171956f8 Rename scalability mode "NONE" to "L1T1".
Bug: webrtc:11607
Change-Id: I81e8ead4a2cc15de6c21c7ee852e909af38b0567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258127
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36474}
2022-04-07 07:32:15 +00:00