Commit Graph

30845 Commits

Author SHA1 Message Date
458e6b5b2f Roll chromium_revision 15f45a681e..82807c554d (756615:756779)
Change log: 15f45a681e..82807c554d
Full diff: 15f45a681e..82807c554d

Changed dependencies
* src/base: 8e1498bfd0..8955711cc5
* src/build: 82afbce723..9247d1cec8
* src/ios: 95e0077d87..55ba93b4e0
* src/testing: fb10647d67..9f75c9cfce
* src/third_party: f6a1c0f921..4e71dbfb54
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8684dfae24..504782cdba
* src/third_party/depot_tools: 19d4809e11..89624cdfd7
* src/third_party/freetype/src: 13c0df80dc..7a019a63ed
* src/third_party/libvpx/source/libvpx: 667138e1f0..104adb2aa3
* src/tools: 73a968456d..43e2a7fc86
DEPS diff: 15f45a681e..82807c554d/DEPS

No update to Clang.

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

Change-Id: I0edfbaa9116e989898460265bc30295973875ffe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172960
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@{#31013}
2020-04-06 20:46:00 +00:00
971c66c810 Disable dcheck on linux
Bug: webrtc:11490
Change-Id: I731daa08378e861aeb51da3b819e3c472a9cad9b
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172937
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31012}
2020-04-06 18:28:48 +00:00
3cb88f1759 Temporarily disable DCHECKs on linux in VideoReceiveStream and
ReceiveStatisticsProxy.

No-Try: true
Tbr: mbonadei@webrtc.org
Bug: webrtc:11490
Change-Id: I9f8b25a094820f5ee1601b9971e00adbc7ba6b0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172936
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31011}
2020-04-06 17:39:34 +00:00
be152f5f9e Optimizes thread usage with task queue pacer.
The TaskQueuePacedSender today has some inefficiencies:
* Enqueuing a packet will trigger a MaybeProcessPackets() call, but it
  won't actually run immediately even if it should - instead it will
  schedule a new call in at least 1ms. This incurs delays and extra
  CPU overhead.
* Sometimes thread wakeups are scheduled simply in order to do
  book-keeping: ProcessPackets() will be called when the media debt has
  gone down to 0 even if there is no packet in the queue, in order to
  check if we should send padding.

This CL fixes that by called ProcessPackets() immediately if it is
actually time to do so, and by immediately determining when padding
should be sent without having a separate call to drain media debt.

Bug: webrtc:10809
Change-Id: I4870e86e6de2ce4197463fd5b788ad4717fc7177
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172842
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31010}
2020-04-06 15:34:58 +00:00
d339bde338 Remove undefined member functions in AlrDetector
Bug: webrtc:11494
Change-Id: I5443931eb194287faf655b2c812d6c4625419a29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172925
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31009}
2020-04-06 15:21:58 +00:00
24eed2735b Preparation for ReceiveStatisticsProxy lock reduction.
Update tests to call VideoReceiveStream::GetStats() in the same or at
least similar way it gets called in production (construction thread,
same TQ/thread).

Mapped out threads and context for ReceiveStatisticsProxy,
VideoQualityObserver and VideoReceiveStream. Added
follow-up TODOs for webrtc:11489.

One functional change in ReceiveStatisticsProxy is that when sender
side RtcpPacketTypesCounterUpdated calls are made, the counter is
updated asynchronously since the sender calls the method on a different
thread than the receiver.

Make CallClient::SendTask public to allow tests to run tasks in the
right context. CallClient already does this internally for GetStats.

Remove 10 sec sleep in StopSendingKeyframeRequestsForInactiveStream.

Bug: webrtc:11489
Change-Id: Ib45bfc59d8472e9c5ea556e6ecf38298b8f14921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172847
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31008}
2020-04-06 14:34:38 +00:00
80e5216a11 AEC3: Adding field-trial-based overrides for transparency parameters
This CL adds several field-trial-based overrides for parameters related
to AEC transparency.

The changes have been shown to be bitexact for a test dataset.

Bug: webrtc:11487,chromium:1067597
Change-Id: Ica9613db74240687fc85efe059874ef8c20aa7d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172844
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31007}
2020-04-06 14:05:28 +00:00
c70b1028d4 Move AdaptationCounters from video/ to api/
- Rename AdaptationCounters to VideoAdaptationCounters
- Move VideoAdaptationCounters to the api/ folder
- Move related tests to api/test/ folder
- Remove VideoAdaptationCounters::operator-

Bug: webrtc:11392
Change-Id: I0de2537e9c8dd9cf29a2ecceee00f92a5b155c83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172920
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31006}
2020-04-06 13:27:28 +00:00
2288256c9a Add ObjC Interface for VideoEncoderSelector.
Bug: webrtc:11341
Change-Id: Ia894d6269c8b2f70d8de113936ceb53107cfa923
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172803
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31005}
2020-04-06 13:11:58 +00:00
9d287bff78 Drop support of sending generic frame descriptor v1
Instead dependency descriptor can be used to communicate discardability

Bug: webrtc:11358
Change-Id: I46b4f551acd002d4355d18033e03d8181ec94c6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172922
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31004}
2020-04-06 11:37:47 +00:00
d278a1ddc6 Roll chromium_revision f099852e15..15f45a681e (756498:756615)
Change log: f099852e15..15f45a681e
Full diff: f099852e15..15f45a681e

Changed dependencies
* src/build: 5a4772820b..82afbce723
* src/ios: d799fd3156..95e0077d87
* src/third_party: c58b9524a5..f6a1c0f921
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/56f8fb61b9..8684dfae24
* src/tools: fbce38787e..73a968456d
DEPS diff: f099852e15..15f45a681e/DEPS

No update to Clang.

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

Change-Id: I2c544a98e51fdef2caa66d6af45becb7ecef4e00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172918
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@{#31003}
2020-04-06 11:13:07 +00:00
b571ff48f8 Fixes issue with non-paced audio send time in dynamic pacer.
Non-paced audio should be sent "immediately", but in several places that
was determined by looking at the current time - which can lead to
inconsistencies.
E.g. if a packet is enqueued and ProcessPackets() is called 1ms later,
the pacer should see NextSendTime() as 1ms ago, so that buffer levels
are cleared at the right pace.

Bug: webrtc:10809
Change-Id: I04a169f3df3e28a5c8ef7fa8a042b9c482c307ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172845
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31002}
2020-04-06 10:41:33 +00:00
2e3e36312b Adds fast-path optimization for single packet in pacer queue.
Especially with the TaskQueuePacerSender, it is very common that a
single packet is added to the queue and then immediately removed as
it gets sent to the network.
This CL adds a fast-path for that case, that avoid creating book-
keeping in the form of stream-priorities and timestamp sets etc.
Functionally, it should be a noop, but hopefully it can save a few
CPU cycles.

Bug: webrtc:10809
Change-Id: Idaa06b4f8d1da444fce78cc742e2ab52f9efe815
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172090
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31001}
2020-04-04 12:23:21 +00:00
e8e12250f4 Roll chromium_revision 22aaaa2511..f099852e15 (756379:756498)
Change log: 22aaaa2511..f099852e15
Full diff: 22aaaa2511..f099852e15

Changed dependencies
* src/base: 1f9cc0b6cc..8e1498bfd0
* src/build: da38648796..5a4772820b
* src/ios: 4ba11d86ed..d799fd3156
* src/testing: 9c1074db33..fb10647d67
* src/third_party: 99dd4deca3..c58b9524a5
* src/tools: ccddd2c9e1..fbce38787e
DEPS diff: 22aaaa2511..f099852e15/DEPS

No update to Clang.

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

Change-Id: Ibaa679786c5c006d36681e06eeef8898c2359b39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172833
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@{#31000}
2020-04-04 02:35:08 +00:00
38cf390f9c Roll chromium_revision 9dce00d262..22aaaa2511 (756252:756379)
Change log: 9dce00d262..22aaaa2511
Full diff: 9dce00d262..22aaaa2511

Changed dependencies
* src/base: f3120b02a4..1f9cc0b6cc
* src/build: 3c9d51cb70..da38648796
* src/ios: 0a40e823c4..4ba11d86ed
* src/testing: e45fea959a..9c1074db33
* src/third_party: 04ccda3c80..99dd4deca3
* src/tools: f9496bf555..ccddd2c9e1
DEPS diff: 9dce00d262..22aaaa2511/DEPS

No update to Clang.

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

Change-Id: Ib17749cb41b5638523e2fda475d76e78983e6b74
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172831
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@{#30999}
2020-04-03 20:40:37 +00:00
d9c51142bd AEC3: Add additional transparency-related killswitches
This CL adds two kill-switches to the AEC3 code to be used as
safe fallbacks to increase AEC transparency.

The changes have been shown to be bitexact for a test dataset.

Bug: webrtc:11487,chromium:1067597
Change-Id: I7f9f78db4964990bcdfa9adae6ef36a56bce7224
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172840
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30998}
2020-04-03 16:25:35 +00:00
f687d90f42 Roll chromium_revision ae03941a4f..9dce00d262 (756130:756252)
Change log: ae03941a4f..9dce00d262
Full diff: ae03941a4f..9dce00d262

Changed dependencies
* src/build: 5c186750d0..3c9d51cb70
* src/ios: a706f1d7da..0a40e823c4
* src/testing: 2aa41b65b9..e45fea959a
* src/third_party: c700a72c2c..04ccda3c80
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/395a627b8a..56f8fb61b9
* src/third_party/r8: QBuWB80TzI5JFXtwaZQbr91Ry3Lb0AmRl8kBchm5FY0C..I91wspV6GMc7l_m-k9v3-ooP-CBrK76OVc3rfnB5T7kC
* src/tools: 47dd526ae7..f9496bf555
DEPS diff: ae03941a4f..9dce00d262/DEPS

No update to Clang.

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

Change-Id: I38448299677a2e515dcb9f2e08083617c66416ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172829
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@{#30997}
2020-04-03 14:53:26 +00:00
16d0d371d5 Apply performance-for-range-copy fixes.
This CL has been generated running https://clang.llvm.org/extra/clang-tidy/checks/performance-for-range-copy.html.

Bug: None
Change-Id: Ia9f6c91776fc8b3ab28fba87ba8ce112f87d5cf0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172805
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30996}
2020-04-03 11:36:52 +00:00
eb03d286df Remove seemingly unused timer
Bug: none
Change-Id: I47cb2a22e6d62e0bfd094fc6246a27b48286b33d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172801
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30995}
2020-04-03 11:17:02 +00:00
fdc4ca13b6 Extract PeerConfigurerImpl into separate file
Bug: webrtc:11479
Change-Id: I58093e2c996e8f38354a8c28e591ba1e9428563f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172763
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30994}
2020-04-03 11:04:52 +00:00
52e2dbf1c1 Add voip_unittests to gn_isolate_map.pyl
Adding gn isolate configs for //:voip_unittests in order to run it on
bots.

Bug: webrtc:11251
Change-Id: I00636cb136db116a3b90a7aad4c55c4e4697534b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172804
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30993}
2020-04-03 09:52:33 +00:00
c7ea04af91 Don't trigger OnNetworkChange when changing from 3G to 4G
This patch is a follow up to https://webrtc-review.googlesource.com/c/src/+/172582
and change so that a switch from CELLULAR_X to CELLULAR_Y does not
trigger OnNetworkChange.

This is needed as the OnNetworkChange signals triggers
BasicPortAllocator to rescan all networks and generate new candidates.

The actual adapter type change is still possible to react on using
SignalTypeChanged.

BUG: webrtc:11473
Change-Id: Icc1a945b8a4df1714c6ec4b02ec759ecada92d7f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172802
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30992}
2020-04-03 09:37:52 +00:00
0cc37303d8 Add new AdapterTypes to android sdk
This patch adds the the new adapter type enums
that has been added in the c++ api,
https://webrtc-review.googlesource.com/c/src/+/172582

BUG: webrtc:11473
Change-Id: I68aab58b2f0ab6cb6e262869902d5aecf6b36d8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172764
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30991}
2020-04-03 08:33:04 +00:00
210b752fb6 Temporarily increase DTLS buffer size to 2.
It's not expected this will make a difference, since the packet should
be read from the queue if possible as soon as it's added to it.

But we're doing this as an added precaution in case we overlooked
something. See linked bug.

Bug: chromium:1063834
Change-Id: I7a3a6d86a97683cbcbeed5ef1aaa8090cf6bf8c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172661
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30990}
2020-04-03 02:48:44 +00:00
47cd4085b9 Roll chromium_revision 3eea752ccd..ae03941a4f (756022:756130)
Change log: 3eea752ccd..ae03941a4f
Full diff: 3eea752ccd..ae03941a4f

Changed dependencies
* src/base: 31cf946085..f3120b02a4
* src/build: ce6bf2c65a..5c186750d0
* src/ios: e104587679..a706f1d7da
* src/testing: 2123534b1f..2aa41b65b9
* src/third_party: b906ae1671..c700a72c2c
* src/third_party/depot_tools: 4ecdd22b0b..19d4809e11
* src/tools: b73e5828c8..47dd526ae7
DEPS diff: 3eea752ccd..ae03941a4f/DEPS

No update to Clang.

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

Change-Id: I9a7fe08013864440442d06a35abf6447bffd53f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172823
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@{#30989}
2020-04-03 02:39:54 +00:00
cb70daa3fa Roll chromium_revision b0ab5b8b4d..3eea752ccd (755896:756022)
Change log: b0ab5b8b4d..3eea752ccd
Full diff: b0ab5b8b4d..3eea752ccd

Changed dependencies
* src/base: a5f2765fd0..31cf946085
* src/build: 6c78d6d61b..ce6bf2c65a
* src/ios: e00cecf398..e104587679
* src/testing: 7de0cb8411..2123534b1f
* src/third_party: c74a355b78..b906ae1671
* src/third_party/depot_tools: cd454025b3..4ecdd22b0b
* src/tools: 5ababc8f33..b73e5828c8
DEPS diff: b0ab5b8b4d..3eea752ccd/DEPS

No update to Clang.

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

Change-Id: I14a28322e2a0cf2a2c599d342084b0ef7064bac8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172820
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@{#30988}
2020-04-02 22:37:46 +00:00
04c1b44501 Roll chromium_revision b23796061a..b0ab5b8b4d (755766:755896)
Change log: b23796061a..b0ab5b8b4d
Full diff: b23796061a..b0ab5b8b4d

Changed dependencies
* src/base: 2f0acc1163..a5f2765fd0
* src/build: 37c7abd9fc..6c78d6d61b
* src/ios: 435d839123..e00cecf398
* src/testing: 80630cdbeb..7de0cb8411
* src/third_party: 0d8a8640d3..c74a355b78
* src/third_party/depot_tools: 9db428f4f7..cd454025b3
* src/tools: a6d086006b..5ababc8f33
* src/tools/luci-go: git_revision:de73cf6c4bde86f0a9c8d54151b69b0154a398f1..git_revision:dad957de715bbe7e8b0f382488ff7af75cf600a5
* src/tools/luci-go: git_revision:de73cf6c4bde86f0a9c8d54151b69b0154a398f1..git_revision:dad957de715bbe7e8b0f382488ff7af75cf600a5
* src/tools/luci-go: git_revision:de73cf6c4bde86f0a9c8d54151b69b0154a398f1..git_revision:dad957de715bbe7e8b0f382488ff7af75cf600a5
DEPS diff: b23796061a..b0ab5b8b4d/DEPS

No update to Clang.

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

Change-Id: I264916d2b6bfe1f9153cdbc64b8d49c2db440a9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172743
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@{#30987}
2020-04-02 18:37:42 +00:00
de6fa1ef29 Reland "Let WebRtcVideoChannel::ResetUnsignaledRecvStream delete all default streams."
This is a reland of d335426a39d34389a00f8f7ae652d535f0fa2073.

The revert was premature: the failing tests were known to be flaky
(crbug.com/1066515, crbug.com/1066453, crbug.com/1066407, crbug.com/1066399)

Original change's description:
> Let WebRtcVideoChannel::ResetUnsignaledRecvStream delete all default streams.
>
> This CL changes WebRtcVideoChannel::ResetUnsignaledRecvStream so
> that it deletes all default streams created by
> WebRtcVideoChannel::AddRecvStream. This is needed for the case that
> there are lingering default streams, whose SSRCs are different
> from the SSRCs that were subsequently signaled. This can happen
> when there are multiple "m= sections" and the early media is
> sent to an "m= section" that is later not supposed to be the
> sink for that particular SSRC.
>
> Default streams whose SSRC match the subsequently signaled
> SSRC is already handled here: https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/media/engine/webrtc_video_engine.cc;l=1386;drc=22387b44ff173d263b434889d394cea90368ab06?originalUrl=https:%2F%2Fcs.chromium.org%2F
>
> Bug: webrtc:11477
> Change-Id: I96ed7e35b4904fb0757fe5824f8afa6f1b9a565e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172622
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30971}

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

Bug: webrtc:11477
Change-Id: I70b8fa47b4d1d0aa36fed4d8612e13fa7f992925
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172782
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30986}
2020-04-02 16:08:26 +00:00
68063a25de Move media configuration for PC level tests into separate class
Bug: webrtc:11479
Change-Id: I325e5c6f5d571dde0fdb5d579bf85cf32a81e174
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172783
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30985}
2020-04-02 15:51:50 +00:00
06d3559b79 Replace std::string::find() == 0 with absl::StartsWith (part 2).
This CL has been generated using clang-tidy [1] except for changes to
BUILD.gn files.

[1] - https://clang.llvm.org/extra/clang-tidy/checks/abseil-string-find-startswith.html

Bug: None
Change-Id: Ibf75601065a53bde28623b8eef57bec067235640
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172586
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30984}
2020-04-02 14:38:30 +00:00
55c991cc81 [InsertableStreams] Save the transformer to be set on Reconfigure.
Bug: chromium:1052765
Change-Id: Ie1e91d4e9033b8c542cd576f9f04bacb1904c027
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172781
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30983}
2020-04-02 14:04:50 +00:00
93be66cdaa Calculate video padding for vp9 in the same way as for vp8
Bug: webrtc:11476
Change-Id: I8d7b5aac91868e10061605cc5043226ee916cc09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172722
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30982}
2020-04-02 13:49:10 +00:00
15a95175d4 Delete legacy MediaCodec HW codec integration.
Bug: b/132773887
Change-Id: I7d50d60b3cc53b075611826b67951cd97dbe06af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172721
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30981}
2020-04-02 13:07:05 +00:00
b907f1f9f8 Extract test peer creation into separate file
Extract test peer creation into separate file to simplify code and
increase readability. Also it is 1st step in bigger refactoring of PC
level test fixture implementation to make it more granular and reusable.

Change-Id: I687a17bda33a8eebc1ef0ddc0d54572e095fd709
Bug: webrtc:11479
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172628
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30980}
2020-04-02 12:44:05 +00:00
c6b2f34f35 Revert "Let WebRtcVideoChannel::ResetUnsignaledRecvStream delete all default streams."
This reverts commit d335426a39d34389a00f8f7ae652d535f0fa2073.

Reason for revert: Breaking RTCPeerConnectionTest.GetTrackRemoveStreamAndGCAll.

Original change's description:
> Let WebRtcVideoChannel::ResetUnsignaledRecvStream delete all default streams.
> 
> This CL changes WebRtcVideoChannel::ResetUnsignaledRecvStream so
> that it deletes all default streams created by
> WebRtcVideoChannel::AddRecvStream. This is needed for the case that
> there are lingering default streams, whose SSRCs are different
> from the SSRCs that were subsequently signaled. This can happen
> when there are multiple "m= sections" and the early media is
> sent to an "m= section" that is later not supposed to be the
> sink for that particular SSRC.
> 
> Default streams whose SSRC match the subsequently signaled
> SSRC is already handled here: https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/media/engine/webrtc_video_engine.cc;l=1386;drc=22387b44ff173d263b434889d394cea90368ab06?originalUrl=https:%2F%2Fcs.chromium.org%2F
> 
> Bug: webrtc:11477
> Change-Id: I96ed7e35b4904fb0757fe5824f8afa6f1b9a565e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172622
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
> Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30971}

TBR=brandtr@webrtc.org,mflodman@webrtc.org,hta@webrtc.org

Change-Id: I41dc2ea2fc43bb3f7cca2fc5e946c58baa54e00a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11477
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172760
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30979}
2020-04-02 12:26:19 +00:00
aa42ecde9a Make transient suppression optionally excludable via defines
This allows clients to exclude the transient suppression submodule from WebRTC builds, by defining WEBRTC_EXCLUDE_TRANSIENT_SUPPRESSOR.

The changes have been shown to be bitexact for a test dataset (when the flag is _not_ defined.)

No-Try: True
Bug: webrtc:11226, webrtc:11292
Change-Id: I6931c82a280a9b40a53ee1c2a9820ed9e674a9a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171421
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30978}
2020-04-02 11:44:07 +00:00
fc23cc07e2 [InsertableStreams] Don't include the header in the transformable payload.
Bug: chromium:1052765
Change-Id: I7d9465361811943edf46b53df80a4c50ad8d01d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172720
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30977}
2020-04-02 11:20:59 +00:00
0cf99ce865 Support forcing field trial in audioproc_f simulator
This allows the user to run audioproc_f with various field trials set.
The approach is copied from test/test_main_lib.cc.

Tested:
1. Verified bitexactness vs ToT audioproc_f on a large dataset of aecdumps
2. Ran it with flags --aec=1 --force_fieldtrials="WebRTC-Aec3ClampInstQualityToZeroKillSwitch/Enabled/WebRTC-Aec3ClampInstQualityToOneKillSwitch/Enabled/" and verified in GDB that the AEC3 config was changed accordingly.


No-Try: True
Bug: webrtc:5298
Change-Id: I70eec7777f70893b36af33794a5842f67d56af31
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172623
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30976}
2020-04-02 11:14:59 +00:00
1251e4a69a Roll chromium_revision 6bc2e35371..b23796061a (755432:755766)
Change log: 6bc2e35371..b23796061a
Full diff: 6bc2e35371..b23796061a

Changed dependencies
* src/base: fb5957fcc5..2f0acc1163
* src/build: d01d1b6d2f..37c7abd9fc
* src/ios: 31d9e19a8d..435d839123
* src/testing: 0f0c80137e..80630cdbeb
* src/third_party: 1cf8966df1..0d8a8640d3
* src/third_party/depot_tools: 4f30cf0179..9db428f4f7
* src/third_party/harfbuzz-ng/src: 558f922788..014e038b2c
* src/third_party/icu: d7aff76cf6..13cfcd5874
* src/third_party/libvpx/source/libvpx: 5532775efe..667138e1f0
* src/tools: 6cd5df917b..a6d086006b
DEPS diff: 6bc2e35371..b23796061a/DEPS

No update to Clang.

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

Change-Id: I2c3d1a76aeb869224b6fdfc1b12d9a8cf9d1b477
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172704
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@{#30975}
2020-04-02 11:10:58 +00:00
5179469f4b Delete deprecated RtpFrameObject constructor
Bug: None
Change-Id: Ifd496d6681004f3afff43628bda2d4b888aef958
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172620
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30974}
2020-04-02 10:50:57 +00:00
4553f45d2a Add AV1 to default video encoder factory
while checking for software supported codecs avoid creating encoder
factory to avoid linking av1 encoder and libaom.

Bug: webrtc:11404
Change-Id: I32771696efb59d98ba08592a20eb691b56622deb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172625
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30973}
2020-04-02 10:13:22 +00:00
cfa0e8ffe2 Fix errors C2238, C2248 and C2059 on MSVC bots.
This CL fixes the following errors on MSVC bots:

../../rtc_base/units/unit_base_unittest.cc(42): error C2059:
  syntax error: '<'

../../rtc_base/units/unit_base_unittest.cc(42): error C2238:
  unexpected token(s) preceding ';'

../..\rtc_base/units/unit_base.h(39): error C2248:
  'webrtc::`anonymous-namespace'::TestUnit::TestUnit':
  cannot access protected member declared in class
  'webrtc::`anonymous-namespace'::TestUnit'

No-Try: True
Bug: None
Change-Id: Ic63a75132107381474aca2e1d42ba96d1f6a1c00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172621
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30972}
2020-04-02 09:54:27 +00:00
d335426a39 Let WebRtcVideoChannel::ResetUnsignaledRecvStream delete all default streams.
This CL changes WebRtcVideoChannel::ResetUnsignaledRecvStream so
that it deletes all default streams created by
WebRtcVideoChannel::AddRecvStream. This is needed for the case that
there are lingering default streams, whose SSRCs are different
from the SSRCs that were subsequently signaled. This can happen
when there are multiple "m= sections" and the early media is
sent to an "m= section" that is later not supposed to be the
sink for that particular SSRC.

Default streams whose SSRC match the subsequently signaled
SSRC is already handled here: https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/media/engine/webrtc_video_engine.cc;l=1386;drc=22387b44ff173d263b434889d394cea90368ab06?originalUrl=https:%2F%2Fcs.chromium.org%2F

Bug: webrtc:11477
Change-Id: I96ed7e35b4904fb0757fe5824f8afa6f1b9a565e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172622
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30971}
2020-04-02 09:05:43 +00:00
08d1806e54 Extend rtc::AdapterType with 2g, 3G, 4G & 5G enum values.
This patch adds new enum values for different types of cellular
connections.

The new costs are currently blocked when sending to remote,
(so that arbitrary network switches does not starts occurring).

The end-game for this series to be able to distinguish between
different type of cellular connections in the ice-layer (e.g when
selecting/switching connections).

BUG: webrtc:11473
Change-Id: I587ac8fdff4f6cdd0f8905f327232f58818db4f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172582
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30970}
2020-04-02 07:48:36 +00:00
01c107e37a Correct int16 audio frame setup in audioproc_f
Currently, audioproc_f crashes on a DCHECK as the data vector of Int16Frame is not resized.

Bug: webrtc:5298
Change-Id: I897cf0fce07e0ed2c0a365a965fa50fd3d8ddd18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172624
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30969}
2020-04-02 04:05:02 +00:00
6f402f991e Remove unnecessary breaks after return.
Patch author: thakis@chromium.org.

TBR=kwiberg@webrtc.org

No-Try: True
Bug: chromium:1066980
Change-Id: Ifcc7e831337bb2a9bf06b0af0bbd9d1c586db78a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172627
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30968}
2020-04-01 22:20:37 +00:00
a252e4d241 doc: describe native turnserver scope more clearly
backport of https://github.com/webrtc/webrtc-org/pull/236

BUG=none

Change-Id: I03ba8ef6ad0c778a2b44978e4a19c2aabad4b001
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172581
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30967}
2020-04-01 19:48:20 +00:00
54bc268339 Roll chromium_revision 4d555ede52..6bc2e35371 (754603:755432)
Change log: 4d555ede52..6bc2e35371
Full diff: 4d555ede52..6bc2e35371

Changed dependencies
* src/base: 11978dc67d..fb5957fcc5
* src/build: 2c249ccb22..d01d1b6d2f
* src/ios: ffc5b22ef1..31d9e19a8d
* src/testing: 7737e73854..0f0c80137e
* src/third_party: b7263f3723..1cf8966df1
* src/third_party/depot_tools: 11f4a84bb1..4f30cf0179
* src/third_party/libjpeg_turbo: ce0e57e8e6..7e3ad79800
* src/third_party/r8: C28ypVbWD-R2M9x9fH7QniIsYjJrKoUhxqEV_cZR4qgC..QBuWB80TzI5JFXtwaZQbr91Ry3Lb0AmRl8kBchm5FY0C
* src/tools: 0389dabc90..6cd5df917b
DEPS diff: 4d555ede52..6bc2e35371/DEPS

Clang version changed a1762f9ceb9549b781b7418c7dbe23fe620648f6:4e0d9925d6a3561449bdd8def27fd3f3f1b3fb9f
Details: 4d555ede52..6bc2e35371/tools/clang/scripts/update.py

No-Try: True
TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I15e7e4d91188b2fc2cd8531459f5a83ff3aa4b37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172660
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30966}
2020-04-01 19:26:52 +00:00
b6f35a3883 Fix android_arm_rel on Chromium Roll.
Error: https://ci.chromium.org/p/webrtc/builders/try/android_arm_rel/18894

  Exception: Missing licenses for following third_party targets: nasm

No-Try: True
Bug: None
Change-Id: I2b916d3063ca3019ec3fa473b9ba4375905f538b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172626
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30965}
2020-04-01 17:50:18 +00:00
d8d09c3c5a AEC3: Add transparency-related killswitches
This CL adds a number of kill-switches to the AEC3 code to be used as
safe fallbacks to increase AEC transparency.

The changes have been shown to be bitexact for a test dataset.

Bug: webrtc:11475,chromium:1066836
Change-Id: Ibebcbbfbbd958cb6fcc6993247e3030fa65b582c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172600
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30964}
2020-04-01 17:32:36 +00:00