Commit Graph

31874 Commits

Author SHA1 Message Date
0804092d52 Roll chromium_revision 063275b49b..0957d98fca (810396:810507)
Change log: 063275b49b..0957d98fca
Full diff: 063275b49b..0957d98fca

Changed dependencies
* src/base: d49cd3eb27..29a51be43d
* src/build: c00314d230..9efd36f044
* src/ios: e3d881a819..3ad13d95c4
* src/third_party: f80bd089e4..a7885aa0c6
* src/third_party/depot_tools: 3eb2555a62..c39ab997ba
* src/tools: 9197007b67..aebf124119
DEPS diff: 063275b49b..0957d98fca/DEPS

No update to Clang.

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

Change-Id: I79141bc3e0139f56130ba5f01bc06b9c49c88ba5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185440
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@{#32192}
2020-09-25 08:26:08 +00:00
d88b169019 Fix RoboCaller::Send perfect forwarding
And add a new test case that wouldn't compile without the fix.

Bug: webrtc:11943
Change-Id: I890da0fcb2fd6bda699943e71bb5a9fd5f26d49d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185400
Reviewed-by: Lahiru Ginnaliya Gamathige <glahiru@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32191}
2020-09-25 07:14:04 +00:00
d3db8535d3 Roll chromium_revision fb765f65ef..063275b49b (810252:810396)
Change log: fb765f65ef..063275b49b
Full diff: fb765f65ef..063275b49b

Changed dependencies
* src/base: 648504d77f..d49cd3eb27
* src/build: 7e050ba41b..c00314d230
* src/ios: 8ee2b0e53d..e3d881a819
* src/testing: aa504fe4b5..de417f8eec
* src/third_party: 205f553006..f80bd089e4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/85d92d37c4..3cd3b4e18c
* src/third_party/perfetto: 3d8fd27d9a..df53732e1b
* src/tools: 886fde7639..9197007b67
DEPS diff: fb765f65ef..063275b49b/DEPS

No update to Clang.

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

Change-Id: I10e43ddff70ba90a0f59e2b51872d0e72c0becb3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185362
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@{#32190}
2020-09-25 02:37:26 +00:00
7a7683567c Check length before dereferencing SCTP notifications.
Bug: chromium:1127774
Change-Id: I6ccf1f5246dfacb26f480bac899f295f89b53d08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184283
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32189}
2020-09-24 23:39:46 +00:00
1ee3325051 When stopping a transceiver, end the receiver's track.
Bug: webrtc:11840
Change-Id: Ib8171c58fcb13c33ab03398eb3021c07e55ff008
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185181
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32188}
2020-09-24 21:37:32 +00:00
39a3f081c1 Disable transparent mode when ERL is bounded
A bounded ERL disables all TransparentMode implementations.

Bug: webrtc:10232
Change-Id: I5a3641b356c2abf42cd6d055cee4007327528a41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185301
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32187}
2020-09-24 20:53:09 +00:00
a70528e0be Roll chromium_revision b70f108ba3..fb765f65ef (810146:810252)
Change log: b70f108ba3..fb765f65ef
Full diff: b70f108ba3..fb765f65ef

Changed dependencies
* src/base: a2779142ae..648504d77f
* src/build: e805c6240b..7e050ba41b
* src/ios: 11a57c71a4..8ee2b0e53d
* src/testing: bdb6d18321..aa504fe4b5
* src/third_party: 4957e45f30..205f553006
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/52c1ebb26c..85d92d37c4
* src/third_party/depot_tools: 4005bb7410..3eb2555a62
* src/third_party/gtest-parallel: aabba21acd..b0a18bc755
* src/third_party/perfetto: 4e32ab4dd7..3d8fd27d9a
* src/tools: 8e7a3d0564..886fde7639
DEPS diff: b70f108ba3..fb765f65ef/DEPS

No update to Clang.

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

Change-Id: I4e7cf56526fddc695f3ccd64e384d3a991d56e9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185321
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@{#32186}
2020-09-24 18:39:58 +00:00
9e81182f8e RNN VAD build file refactoring: split into separate (private) targets
First step to only expose the relevant RNN VAD API to AGC2.

Bug: webrtc:7494
Change-Id: I7f11f6eebded124c30cabd64963c8e3ccc35e58f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185124
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32185}
2020-09-24 14:33:14 +00:00
26df6e696b Roll chromium_revision 532b3f340b..b70f108ba3 (810021:810146)
Change log: 532b3f340b..b70f108ba3
Full diff: 532b3f340b..b70f108ba3

Changed dependencies
* src/build: c2ba724f11..e805c6240b
* src/testing: 4b7950adc9..bdb6d18321
* src/third_party: 2a69bf52c2..4957e45f30
* src/third_party/depot_tools: d1580d53b7..4005bb7410
* src/third_party/perfetto: 61c15b0ea0..4e32ab4dd7
* src/tools: 0fb0218fbf..8e7a3d0564
DEPS diff: 532b3f340b..b70f108ba3/DEPS

No update to Clang.

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

Change-Id: Ibaa8f04b9f93f4929c4ddf7eac0aa43d3431a62f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185244
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@{#32184}
2020-09-24 13:14:08 +00:00
3060d33cca Remove instance of IP logging in NetworkMonitorAutoDetect
Bug: b/152283155
Change-Id: I75ce0f2d7107a2c25f5df73a75b505051163399b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185183
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32183}
2020-09-24 10:52:48 +00:00
afef7a74a7 HMM based transparent mode classifier
This change introduces a new Hidden Markov Model based classifier for
AEC3's 'transparent mode'. Transparent mode is used with
headsets/headphones where the speaker signal does not leak into the
microphone signal.

The current classifier suffers from two problems:
1. It sometimes takes a long time to enter transparent mode.
2. Sometimes transparent mode is left (and it once again takes a long
time to re-enter).

Both problems have a severe effect on AEC transparency.

The new classifier enters transparent mode quicker and is less likely
to exit transparent mode when there is no echo. This improves the
audio experience when using headset/headphones.

Another (minor) benefit of this change is that when transparent mode
is disabled no classifier is run (or even created) saving some memory
and CPU cycles.

Bug: webrtc:10232
Change-Id: I509af0e22b59463aeaead53c78c35be1e97fe8c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184500
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32182}
2020-09-24 08:25:50 +00:00
936f1af3bb Reland "Remove stopped transceivers at both local and remote SetDescription"
This is a reland of 6f4de80ddddcc05beaced31146ffb753258bc7be

The blocking issue in Chromium is fixed.

Original change's description:
> Remove stopped transceivers at both local and remote SetDescription
>
> This should ensure that the correct number of senders and receivers
> are shown.
>
> Bug: webtc:11840
> Change-Id: Id57f8f9b1ceb8900abb3f92bcae79e5f0341de15
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184606
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32158}

Bug: webtc:11840
Change-Id: Iae8ca01e3f834694dacb36320858096b26f0996b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185120
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32181}
2020-09-24 08:03:50 +00:00
0ed7f1fab2 Roll chromium_revision adce495841..532b3f340b (809911:810021)
Change log: adce495841..532b3f340b
Full diff: adce495841..532b3f340b

Changed dependencies
* src/base: cd0f36d683..a2779142ae
* src/ios: 287e0bc68d..11a57c71a4
* src/testing: 78c00cff97..4b7950adc9
* src/third_party: 3c18629acb..2a69bf52c2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0de9874718..52c1ebb26c
* src/third_party/perfetto: 06f3474ec4..61c15b0ea0
* src/tools: d993e9eca8..0fb0218fbf
DEPS diff: adce495841..532b3f340b/DEPS

No update to Clang.

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

Change-Id: Idf0b7f4d3b650c495a3a0017fc7f1b8348378bce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185240
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@{#32180}
2020-09-24 00:43:57 +00:00
5e85c8bc31 Roll chromium_revision dc725cd59e..adce495841 (809732:809911)
Change log: dc725cd59e..adce495841
Full diff: dc725cd59e..adce495841

Changed dependencies
* src/base: a278448812..cd0f36d683
* src/build: 82c761c4fc..c2ba724f11
* src/ios: 25dd426608..287e0bc68d
* src/testing: 39aee3c823..78c00cff97
* src/third_party: 7d95b405b4..3c18629acb
* src/third_party/breakpad/breakpad: e3a62dc550..9c4671f2e3
* src/third_party/perfetto: 4f973a50bb..06f3474ec4
* src/tools: 32e32ec740..d993e9eca8
DEPS diff: dc725cd59e..adce495841/DEPS

No update to Clang.

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

Change-Id: Id66aa60b63c963f69ba47c5b066da42cdc2f26ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185200
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@{#32179}
2020-09-23 20:43:02 +00:00
3a5612a8de Clean up references to deprecated create_srcjar in android_resources
`create_srcjar = false` was needed during the transition to moving
R.java generation to android_library targets. Now this variable is
unused (the variable is asserted to be false), clean up all references.

Bug: chromium:1073476
Change-Id: I4c09ea05ded27ea2360392aacbce036bc1a2f928
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185160
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32178}
2020-09-23 14:11:50 +00:00
d60e32a953 Demote method EncodedImage::capacity() to private.
Bug: webrtc:9378
Change-Id: I83be267334fc778aff4eb2ad128d3ed693f755ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185007
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32177}
2020-09-23 13:53:31 +00:00
2a4d6634b2 Roll chromium_revision 590f451ba1..dc725cd59e (809630:809732)
Change log: 590f451ba1..dc725cd59e
Full diff: 590f451ba1..dc725cd59e

Changed dependencies
* src/base: 60f812c819..a278448812
* src/build: c8dc0f5b6d..82c761c4fc
* src/ios: 0ecbf579d0..25dd426608
* src/testing: eb320465b2..39aee3c823
* src/third_party: ad8c34f02a..7d95b405b4
* src/third_party/depot_tools: 407b5a54a9..d1580d53b7
* src/third_party/icu: 79326efe26..aef20f06d4
* src/tools: a163e63a77..32e32ec740
DEPS diff: 590f451ba1..dc725cd59e/DEPS

No update to Clang.

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

Change-Id: I00ab798d523fb3032ea36ce3159e5c81633e53d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185141
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@{#32176}
2020-09-23 13:03:20 +00:00
12f465cf94 Deprecate the raw-pointer constructor of EncodedImage.
Bug: webrtc:9378
Change-Id: I5591202aff3e9f22e902f52096ddb0592662789e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185008
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32175}
2020-09-23 12:51:30 +00:00
ced49e7b7c Remove deprecated i420 buffer pool
Bug: webrtc:11956
Change-Id: I343cc995bb8785ccc9e90e4660028207a6f0f0a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185121
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32174}
2020-09-23 12:22:40 +00:00
81d691852d SsrcEndToEndTest: Configure bitrate via VideoEncoderConfig.
Configure bitrates via VideoEncoderConfig (and remove implementation of
VideoStreamFactoryInterface used to override the default bitrate configuration).

Bug: none
Change-Id: Ic1e21488d3df4d2f1216ee13c92b28b233832a38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185040
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32173}
2020-09-23 12:07:40 +00:00
1922fb0ec3 AGC2 saturation protector: extra margin added by level estimator
In preparation for a coming refactoring CL, the (fixed) extra saturation
margin is now applied into `AdaptiveModeLevelEstimator`.

This CL also improves the unit tests by hard-coding its saturation
params instead of reading them from a field trial.
This reduces the chances of making the test flaky if a default value
changes.

Tested: Bit-exactness verified with audioproc_f

Bug: webrtc:7494
Change-Id: I6765def9887a2f4e55b04d929af754cfecbb1626
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184927
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32172}
2020-09-23 11:33:37 +00:00
aac41bd678 Removes dead fallback code from rtcp::CompoundPacket.
Bug: webrtc:11925
Change-Id: I323ac8c5b3398e965b0cf571d1d46d34da42fdf6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185001
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32171}
2020-09-23 09:57:05 +00:00
cbe6e8a258 Introduce debug network stats
Bug: webrtc:11959
Change-Id: I29e94cf1cdc9aee2bbe4396aa14a759c1a9ae560
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184600
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32170}
2020-09-23 09:40:25 +00:00
4da8e4c0c1 Add field trial to force outgoing video playout delay
Video playout delay is used to give a hint to the receiver
how the video should be played out.

Add the field trial WebRTC-ForceSendPlayoutDelay to set the video playout
delay of outgoing RTP packets to enable experimentation with this feature.

Bug: webrtc:11896
Change-Id: Ie6123b5967763bde6a830f4c5e5a963e73fb0acb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185042
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32169}
2020-09-23 08:51:25 +00:00
736ff83e69 AGC2 saturation protector: simplify interface and impl
- Passing the speech peak power instead of VAD data
- The private class SaturationProtector::PeakEnveloper has been removed
- Added `initial_saturation_margin_db_` parameter to correctly
  initialize `last_margin_` (renamed to `margin_db_`)
- Member names have been fixed and/or shortened for better readability

Tested: Bit-exactness verified with audioproc_f

Bug: webrtc:7494
Change-Id: I6cad2974397319737c8ac201d44311bf16275f28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184925
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32168}
2020-09-23 07:56:44 +00:00
e8e29845fa Roll chromium_revision f294a94cc4..590f451ba1 (808500:809630)
Change log: f294a94cc4..590f451ba1
Full diff: f294a94cc4..590f451ba1

Changed dependencies
* src/base: ad243aa8a6..60f812c819
* src/build: ac22062b46..c8dc0f5b6d
* src/ios: 8eb749d5cb..0ecbf579d0
* src/testing: b73b306609..eb320465b2
* src/third_party: 5dc5a4a45d..ad8c34f02a
* src/third_party/depot_tools: d949c910de..407b5a54a9
* src/third_party/freetype/src: cb47331369..20186d1be6
* src/third_party/perfetto: d62add52c6..4f973a50bb
* src/tools: 232b029ea5..a163e63a77
DEPS diff: f294a94cc4..590f451ba1/DEPS

Clang version changed llvmorg-12-init-5627-gf086e85e:llvmorg-12-init-5035-gd0abc757
Details: f294a94cc4..590f451ba1/tools/clang/scripts/update.py

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

Change-Id: I21ff56acddb634938bfcdeb805f5f9b6eb9ad514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185102
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@{#32167}
2020-09-23 02:52:44 +00:00
c253cb84aa Revert "Remove stopped transceivers at both local and remote SetDescription"
This reverts commit 6f4de80ddddcc05beaced31146ffb753258bc7be.

Reason for revert: Causes breakage in WebRTC roll (WPT tests)

Original change's description:
> Remove stopped transceivers at both local and remote SetDescription
> 
> This should ensure that the correct number of senders and receivers
> are shown.
> 
> Bug: webtc:11840
> Change-Id: Id57f8f9b1ceb8900abb3f92bcae79e5f0341de15
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184606
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32158}

TBR=hbos@webrtc.org,hta@webrtc.org

Change-Id: Ib91d59f506087dd96c5678262bac7c1580736dcf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webtc:11840
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185053
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32166}
2020-09-22 21:06:30 +00:00
10f6eadd48 AGC2 Saturation Protector: switch to ring buffer
Even if small, the peak delay buffer copies N-1 elements for each frame
whereas a ring buffer is copy-free and scales better if the buffer size
increases.

Tested: Bit-exactness verified with audioproc_f

Bug: webrtc:7494
Change-Id: If8c33877b7ab1d881a0606e222b26857a82fff69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184920
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32165}
2020-09-22 19:34:04 +00:00
a945cdadff Make VP9 correctly accept middle-layer singlecast
Unfortunate typo and weak tests made it so if only a middle spatial layer
is active, vp9 encoder would be configured to send two top layers.

Bug: webrtc:11319
Change-Id: I460c245044f60ea7e0127c0e4134d0edab85f4f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185043
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32164}
2020-09-22 16:09:53 +00:00
ceb44959ca Reland: Wires up WebrtcKeyValueBasedConfig in media engines.
This is a reland of
https://webrtc-review.googlesource.com/c/src/+/174261

Patchset 1 contains the old cl (plus a merge conflict fix).
Later patchets are bufixes: A PeerConnection can be created without a
Call instance (in the case of DataChannel only), so we can't always
use that to fetch the current trials.

Old CL descritpion:

This replaces field_trial:: -based functions from system_wrappers.
Field trials are still used as fallback, but injectable trials are now
possible.

// Since re-land is otherwise unchanged, setting previous reviewers as TBR
TBR=kthelgason@webrtc.org,mbonadei@webrtc.org,stefan@webrtc.org,srte@webrtc.org

Bug: webrtc:11926
Change-Id: I57a9e8c3454f226f77fb93215bcac83da65034b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185003
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32163}
2020-09-22 16:08:22 +00:00
92e379663a RTC_LOG: Fix bug introduced in a recent CL
https://webrtc-review.googlesource.com/c/src/+/184922 removed the
check for whether we should actually emit a given log message or not
from the main logging function, and attempted to put it around each
call site instead, so that we could check first and avoid computing
log arguments if the check says no.

However, it missed these two places.

Bug: webrtc:11968
Change-Id: I1a0d68888d1a2c9814bc02fe9db49d7084bad8fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185004
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32162}
2020-09-22 12:08:38 +00:00
b166dc2b4e common_video/h264: Make ssilkin@webrtc.org owner.
No-Try: true
Bug: None
Change-Id: If8a068232b2364af7616a72c002537ea2506924d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185002
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32161}
2020-09-22 10:32:19 +00:00
9345dcfeea Strip AUD NALUs from H.264 bitstream
Bug: webrtc:11919
Change-Id: I33085faa3378f6a4059af32bab9988b640c968a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181180
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32160}
2020-09-22 09:58:27 +00:00
8d049c0d3d Delete video source proxying in WebRtcVideoSendStream
This is a reland of https://webrtc-review.googlesource.com/c/121569.
Should be safe as a followup to
https://webrtc-review.googlesource.com/c/src/+/184508.

Bug: webrtc:10147
Change-Id: I03398b713348e0d0feb598c54ea3bd332b19b1ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184930
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32159}
2020-09-22 09:27:47 +00:00
6f4de80ddd Remove stopped transceivers at both local and remote SetDescription
This should ensure that the correct number of senders and receivers
are shown.

Bug: webtc:11840
Change-Id: Id57f8f9b1ceb8900abb3f92bcae79e5f0341de15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184606
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32158}
2020-09-22 09:22:47 +00:00
dd7df5c989 RTC_LOG: Internally, pass logging severity as template argument
When the logging severity is statically known, passing it as a
template argument instead of as a function argument saves space at the
call site. libjingle_peerconnection_so.so shrinks by 5 kB for arm32 and
9.5 kB for arm64.

This is a repeat of the trick added in
https://webrtc-review.googlesource.com/c/src/+/74480/, which was
subsequently lost.

Bug: webrtc:11968
Change-Id: Ib6659d195d796b93e72b91d3d7c6b6e990aceb77
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184934
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32157}
2020-09-22 09:12:17 +00:00
e45ab7a121 RTC_LOG: Remove unnecessary optimization
The IsNoop() function already knows whether logging is off, and is
inlined precisely in the cases where it is statically switched off. So
this source change results in no binary change.

When I compile this locally for arm64 (Android, opt build) I get
identical md5 sums for libjingle_peerconnection_so.so before and after
this CL.

Bug: webrtc:11968
Change-Id: I4db9a3e1a1a84eea7825dad7720df742a6ec9255
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184933
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32156}
2020-09-22 08:51:47 +00:00
0e88438111 RTC_LOG: Mark a trivial function with constexpr
It makes very little difference, but will allow a slightly nontrivial
sequel CL [https://webrtc-review.googlesource.com/c/src/+/184933] to
cause no binary changes at all.

Bug: webrtc:11968
Change-Id: I681ea2de757b46fe2f08df6e99cf974e577542c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185000
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32155}
2020-09-22 08:47:37 +00:00
ceab7547f0 Make LibvpxVp8Encoder::GetCpuSpeed() to always read from CpuSpeedExperiment for arm.
CpuSpeedExperiment: Add option to have a separate config for cores below a configurable threshold.

Bug: none
Change-Id: I51562979f3a89a949d014a1ee6fc0802f3c1dae5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184926
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32154}
2020-09-22 07:26:26 +00:00
edd7f9e94d Check if logging for a severity is enabled at the call site.
This does mean that each call site becomes slightly more expensive
in terms of binary size, but until we have a better way to mitigate
the perf impact, I think we'll have to live with it.

We could also consider migrating LS_VERBOSE over to RTC_DLOG.

Bug: webrtc:11968
Change-Id: Ib16f1109366ffaa88b8df28ebfa5bc3b539f691f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184922
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32153}
2020-09-21 20:42:59 +00:00
52fa992ccc Rename CancerStickCastle to RoboCaller.
The name was chosen because just like a real-world robocaller
[https://en.wikipedia.org/wiki/Robocall], webrtc::RoboCaller will
call multiple recipients and give all of them the same message,
without giving them the chance to reply.

Change-Id: Ia95f4543b15b48fa6388a50706e489dfccc19f71
Bug: webrtc:11943
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184621
Commit-Queue: Lahiru Ginnaliya Gamathige <glahiru@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32152}
2020-09-21 19:50:39 +00:00
d41c2a6b8a Remove AsyncInvoker from WebRtcVideoChannel.
RequestEncoderFallback, RequestEncoderSwitch and
SetVideoCodecSwitchingEnabledRequest are now all called on the
worker thread. Before, the work already happened on that thread but
WebRtcVideoChannel adapted internally when needed.

With this CL, there are thread checks to make sure that these calls are
always made the same way, we don't need the async invoker and there
are fewer calls out from the encoder thread in VideoStreamEncoder
(reducing the chance of unintentional blocking).

Bug: webrtc:11908
Change-Id: If8738bc2a708a0fefc6fe850b32655f049f30bdc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184603
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32151}
2020-09-21 15:04:43 +00:00
612445ea60 Remove use of asyncinvoker from WebRtcVideoSendStream.
This turned out to be a bit complicated, mostly
related to the tests, but here's what's changed:

* No AsyncInvoker (and avoid ClearInternal) in
  WebRtcVideoSendStream (WVSS)
* The reason it was there is due to a "design leak" from
  VideoSourceSinkController/VideoStreamEncoder where the former uses
  locks in all methods and is unaware of a threading model. That design
  affected downstream objects, pushed the need for an async hop into
  WVSS and added a lock.
  A suggestion was made to address this in a follow-up change, here:
  https://webrtc-review.googlesource.com/c/src/+/165684
* All methods in VideoSourceSinkController are now called on a known
  and checked sequence and this CL removes the lock. This also makes
  checking state consistent (i.e. calling a getter twice in a row on the
  same sequence, will always return the same value, avoiding race with
  other threads).
* Handling of reporting state changes from the encoder queue to the
  VSSC, is done by VideoStreamEncoder.
* VideoSendStreamImpl is still instantiated on the incorrect thread [1]
  but has two initialization steps [2]. The second one already runs on
  the right thread. Addressing that TODO [1] is something we should do
  but it has side effects to consider. For the purposes of this CL
  the steps relating to the encoder (setting the sink pointer) have
  been moved to [2].

[1] https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/video/video_send_stream.cc;l=94
[2] https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/video/video_send_stream.cc;drc=f4a9991cce74a37d006438ec0e366313ed33162e;l=115

Bug: webrtc:11222, webrtc:11908
Change-Id: Ie46d46e3a52bbe225951b4bd580ecb8cc9cad873
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184508
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32150}
2020-09-21 13:29:53 +00:00
023e1ac7bc Improve reporting of plottable metrics in PC framework
Make timestamps on the charts for metrics reported from
DefaultVideoQualityAnalyzer more precise.

Bug: webrtc:11959
Change-Id: I805fdac0d499b7326d6bc2240154c1c31ca81a62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184602
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32149}
2020-09-21 12:51:15 +00:00
4461f059d1 Delete unused NetEq stats currentPacketLossRate, currentDiscardRate and addedSamples
Bug: webrtc:11622
Change-Id: I097bb7284d952ada41f4f38dd7adf3536bd040ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183620
Reviewed-by: Minyue Li <minyue@google.com>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32148}
2020-09-21 12:19:16 +00:00
4c87d83d03 Extend I420 frame buffer pool to also create NV12 buffers
Bug: webrtc:11956
Change-Id: I758a28f2755cfa72ad486fbe1f9209f356eb5fa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184510
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32147}
2020-09-21 09:46:15 +00:00
c5a74ffba4 Add support so requested resolution alignment also apply to scaled layers.
Bug: webrtc:11872
Change-Id: I7f904e2765330ee93270b66b0102ce57f336f9a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181883
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32146}
2020-09-21 09:23:22 +00:00
b774d38d31 Remove use of AsyncInvoker from SctpDataChannel
Bug: webrtc:11908
Change-Id: I4a32d9c3903d56994f2be365ab3fee2599ed6cdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184604
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32145}
2020-09-21 08:12:50 +00:00
f288f5b2d4 Fix bug with the sps-pps-idr-in-keyframe fmtp parameter.
RtpVideoStreamReceiver was forked to RtpVideoStreamReceiver2
recently, so the code that checks for this parameter needs to
be present in the forked location, but it wasn't.

This also enables RtpVideoStreamReceiver2TestH264.InBandSpsPps test
on MSAN, which was another already fixed bug that wasn't ported over
to the recently forked RtpVideoStreamReceiver2.

See webrtc:11595 for information about the fork.
See webrtc:11769 for information about this fmtp parameter.
See webrtc:11376 for the original MSAN issue.

Bug: webrtc:11957, webrtc:11595, webrtc:11769, webrtc:8423
Change-Id: I3734d077b2883c2f747ad35a0189b83c1915c3ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184524
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32144}
2020-09-19 09:23:39 +00:00
14dbf82961 Roll chromium_revision 4ed1b07147..f294a94cc4 (808365:808500)
Change log: 4ed1b07147..f294a94cc4
Full diff: 4ed1b07147..f294a94cc4

Changed dependencies
* src/base: 6161e18c7a..ad243aa8a6
* src/build: 305287c38c..ac22062b46
* src/ios: 92a8839729..8eb749d5cb
* src/testing: 2c9653cb1b..b73b306609
* src/third_party: 150f00873a..5dc5a4a45d
* src/tools: cd098a15ee..232b029ea5
DEPS diff: 4ed1b07147..f294a94cc4/DEPS

No update to Clang.

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

Change-Id: I79af8d4215dc37adade00ca04d3fc98e34f67202
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184641
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@{#32143}
2020-09-18 20:48:05 +00:00