Commit graph

33520 commits

Author SHA1 Message Date
webrtc-version-updater
07bf5b5d78 Update WebRTC code version (2021-06-15T04:04:38).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I0fe97b075adfe06b14b167111e727734060fce90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222501
Reviewed-by: 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/master@{#34288}
2021-06-15 05:14:20 +00:00
Tommi
3008bcd588 Don't recreate audio receive streams on header extension update.
Bug: webrtc:11993
Change-Id: Ibf45cb846713a6dd991a73bc72b4c5f59e3e26e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222041
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34287}
2021-06-14 19:02:30 +00:00
chromium-webrtc-autoroll
6bbe1a47e1 Roll chromium_revision e9261a56ad..570a173256 (892013:892156)
Change log: e9261a56ad..570a173256
Full diff: e9261a56ad..570a173256

Changed dependencies
* src/base: 54fedec3aa..5861d7d03a
* src/build: b59724c60a..40d08dfe70
* src/ios: 9bf9e6fb50..fb190fe345
* src/testing: 3c85e0a05c..d4bd8dddb7
* src/third_party: 9c4fcf3744..02b80969a2
* src/third_party/android_deps/libs/com_github_ben_manes_caffeine_caffeine: version:2@2.8.0.cr0..version:2@2.8.8.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotation: version:2@2.4.0.cr0..version:2@2.7.1.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotations: version:2@2.4.0.cr0..version:2@2.7.1.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_check_api: version:2@2.4.0.cr0..version:2@2.7.1.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_core: version:2@2.4.0.cr0..version:2@2.7.1.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_type_annotations: version:2@2.4.0.cr0..version:2@2.7.1.cr0
* src/third_party/android_deps/libs/org_checkerframework_checker_qual: version:2@3.5.0.cr0..version:2@3.8.0.cr0
* src/third_party/android_deps/libs/org_checkerframework_dataflow_shaded: version:2@3.1.2.cr0..version:2@3.11.0.cr0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2f46970950..2a1d8a231a
* src/third_party/freetype/src: 7833e308ef..8336d53cff
* src/third_party/perfetto: 9834c0b426..8d191d6395
* src/tools: 24587d48b2..73b2a35554
Added dependencies
* src/third_party/android_deps/libs/io_github_java_diff_utils_java_diff_utils
* src/third_party/android_deps/libs/org_eclipse_jgit_org_eclipse_jgit
Removed dependency
* src/third_party/android_deps/libs/org_threeten_threeten_extra
DEPS diff: e9261a56ad..570a173256/DEPS

No update to Clang.

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

Change-Id: I2db347965d73349821552d28a13c24282c69b2bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222421
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@{#34286}
2021-06-14 18:55:40 +00:00
Tommi
d350006b70 Add rtp_config() accessor to ReceiveStream.
This is a consistent way to get to common config parameters for
all receive streams and avoids storing a copy of the extension
headers inside of Call. This is needed to get rid of the need of
keeping config and copies in sync, which currently is part of why
we repeatedly delete and recreate audio receive streams on config
changes.

Bug: webrtc:11993
Change-Id: Ia356b6cac1425c8c6766abd2e52fdeb73c4a4b4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222040
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34285}
2021-06-14 17:57:57 +00:00
Björn Terelius
48420fa947 Revert "Avoid sending empty receiver reports with RtcpTransceiver"
This reverts commit e5f1a3992e.

Reason for revert: Speculative revert due to failing downstream unittest.

Original change's description:
> Avoid sending empty receiver reports with RtcpTransceiver
>
> Bug: None
> Change-Id: Ia017c2df285febefb72ba88ba43366455bde5a78
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222402
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34281}

TBR=danilchap@webrtc.org,perkj@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I895317ad0381756e97e501a36d6440f83a68b6f8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222440
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34284}
2021-06-14 17:29:09 +00:00
Tommi
1c1f540487 Factor out common receive stream methods to a common interface.
Also including common Rtp config members.
Follow up changes will remove the ReceiveRtpConfig class in Call
and copy of extension headers, instead use the config directly
from the receive streams and not require stream recreation for changing
the headers.

Bug: webrtc:11993
Change-Id: I29ff3400d45d5bffddb3ad0a078403eb102afb65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221983
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34283}
2021-06-14 16:54:07 +00:00
Tommi
e097282f11 Avoid recreating the audio stream when a frame decryptor is set.
This is to be consistent with how things work on the video side but
also much less drastic than the current implementation. Aim is to
remove RecreateAudioReceiveStream(), which would improve efficiency
as well as allow for specific handling of the cases that currently
trigger recreation.

Bug: webrtc:11993
Change-Id: Ia81a5e66d44e41ea4eb2bff800e0b1583821c96a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221860
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34282}
2021-06-14 16:32:17 +00:00
Danil Chapovalov
e5f1a3992e Avoid sending empty receiver reports with RtcpTransceiver
Bug: None
Change-Id: Ia017c2df285febefb72ba88ba43366455bde5a78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222402
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34281}
2021-06-14 16:19:47 +00:00
Niels Möller
8b6929081e Fix VideoStreamEncoder QP tests to not use SetHasInternalSource
The has_internal_source feature is deprecated, and unrelated to the
tests of QP parsing.

Bug: webtc:12875
Change-Id: Ib43063ebf49e6e0bd7a5328a04ba2816f3a7ecb2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222400
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34280}
2021-06-14 14:07:46 +00:00
Alessio Bazzica
b237a87a25 AGC analog ClippingPredictor refactoring 1/2
- ClippingPredictor API and docstring changes
- Unified ClippingPredictor factory function

Bug: webrtc:12774
Change-Id: Iafaddae52addc00eb790ac165bf407a4bdd1cb52
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221540
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34279}
2021-06-14 12:21:31 +00:00
chromium-webrtc-autoroll
1ff491b0bb Roll chromium_revision 8907aace7e..e9261a56ad (891631:892013)
Change log: 8907aace7e..e9261a56ad
Full diff: 8907aace7e..e9261a56ad

Changed dependencies
* src/base: bb0fa97f05..54fedec3aa
* src/build: eb4ebdf32c..b59724c60a
* src/buildtools: c1cef4e23c..be7dcbc361
* src/buildtools/linux64: git_revision:695504d72a30e0b58705b2a1a23964ebf7bca030..git_revision:e0c476ffc83dc10897cb90b45c03ae2539352c5c
* src/buildtools/mac: git_revision:695504d72a30e0b58705b2a1a23964ebf7bca030..git_revision:e0c476ffc83dc10897cb90b45c03ae2539352c5c
* src/buildtools/third_party/libunwind/trunk: 950faeeabc..7e85c7a26b
* src/buildtools/win: git_revision:695504d72a30e0b58705b2a1a23964ebf7bca030..git_revision:e0c476ffc83dc10897cb90b45c03ae2539352c5c
* src/ios: 54a3283c4d..9bf9e6fb50
* src/testing: 3d0002de69..3c85e0a05c
* src/third_party: 00cd360e11..9c4fcf3744
* src/third_party/depot_tools: e5d455cca7..ef579a1192
* src/third_party/googletest/src: aa533abfd4..e2239ee604
* src/third_party/perfetto: adce539a59..9834c0b426
* src/tools: e9eaed516e..24587d48b2
DEPS diff: 8907aace7e..e9261a56ad/DEPS

Clang version changed llvmorg-13-init-12491-g055770d5:llvmorg-13-init-12576-g643b6407
Details: 8907aace7e..e9261a56ad/tools/clang/scripts/update.py

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

Change-Id: Ica6bd348a6de08ea3282b43e306e82cd1a303c57
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222363
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@{#34278}
2021-06-14 11:23:56 +00:00
Peter Hanspers
74cc9eaca3 Don't register invalid encode complete callbacks.
Bug: webrtc:12866
Change-Id: Ia225b2f211155b4623ba07b61cee85366d822b29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221741
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34277}
2021-06-14 10:45:46 +00:00
Jakob Ivarsson
10814873c5 Avoid video stream allocation on configuration change after timeout.
This is to prevent the video stream to get in a state where it is
allocated but there is no activity.

Bug: b/189842675
Change-Id: I0793bd4cbf2a4faed92cf811550437ae75742102
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221618
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34276}
2021-06-14 07:27:45 +00:00
webrtc-version-updater
13dac0c268 Update WebRTC code version (2021-06-13T04:02:18).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Ib0046c3942117c9ab48ab9233e7c4b64b983c8f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222260
Reviewed-by: 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/master@{#34275}
2021-06-13 04:55:38 +00:00
Danil Chapovalov
0f9a8e33c0 Make stopping of the RepeatingTask safer
Previous implementation assumes that though RepeatingTask is owned by
the task queue, it will stay alive until RepeatingTaskHandler stops it.
That assumption doesn't hold by one of downstream TaskQueue implementaions.
That TaskQueue implementation shortly before destruction deletes
pending delayed tasks because it doesn't plan to run them,
and then runs remaining regular tasks.

Bug: None
Change-Id: Ic95fec2e9961b3f05727ff6fbdaf0664434a995b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221984
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34274}
2021-06-11 21:54:54 +00:00
Harald Alvestrand
4bb81aca75 Make JsepTransportCollection self-managing for transports
This entails instantly deleting the transport when it is no longer
referenced by any MID.

Also adds consistency checks to JsepTransportCollection.

Bug: webrtc:12837
Change-Id: I85775aeb676aac3a9aee74280cc72ac87a0f49b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221982
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34273}
2021-06-11 16:12:11 +00:00
chromium-webrtc-autoroll
63c96ce3c7 Roll chromium_revision d2f297f391..8907aace7e (890623:891631)
Change log: d2f297f391..8907aace7e
Full diff: d2f297f391..8907aace7e

Changed dependencies
* src/base: 5b7059db9a..bb0fa97f05
* src/build: 921ea5898e..eb4ebdf32c
* src/buildtools: 9d8449e380..c1cef4e23c
* src/buildtools/linux64: git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810..git_revision:695504d72a30e0b58705b2a1a23964ebf7bca030
* src/buildtools/mac: git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810..git_revision:695504d72a30e0b58705b2a1a23964ebf7bca030
* src/buildtools/third_party/libc++abi/trunk: 7e3b76855b..e5f25a39b9
* src/buildtools/win: git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810..git_revision:695504d72a30e0b58705b2a1a23964ebf7bca030
* src/ios: 76fd3a66e2..54a3283c4d
* src/testing: 9ff56dc5b0..3d0002de69
* src/third_party: e7589e0105..00cd360e11
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/df0a59ab02..2f46970950
* src/third_party/depot_tools: 4bb3a7d00d..e5d455cca7
* src/third_party/freetype/src: 08f66322e3..7833e308ef
* src/third_party/googletest/src: 5bcd8e3bb9..aa533abfd4
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/4d1ace0ad3..12287adee9
* src/third_party/libsrtp: 7990ca64c6..5b7c744eb8
* src/third_party/nasm: 19f3fad68d..e9be5fd6d7
* src/third_party/perfetto: b9f666ed45..adce539a59
* src/third_party/r8: b-pZFt8hs7xMMaJ7r94g-oiaVJSYzLOfpduSfYquzM4C..gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC
* src/third_party/turbine: _iPtB_ThhxlMOt2TsYqVppwriEEn0mp-NUNRwDwYLUAC..Om6yIEXgJxuqghErK29h9RcMH6VaymMbxwScwXmcN6EC
* src/tools: 84ce063ff6..e9eaed516e
* src/tools/luci-go: git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418..git_revision:2adc53281f4a72ecb71e84a8af5acc0fced04cc9
* src/tools/luci-go: git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418..git_revision:2adc53281f4a72ecb71e84a8af5acc0fced04cc9
* src/tools/luci-go: git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418..git_revision:2adc53281f4a72ecb71e84a8af5acc0fced04cc9
DEPS diff: d2f297f391..8907aace7e/DEPS

Clang version changed llvmorg-13-init-11649-g4d788fb8:llvmorg-13-init-12491-g055770d5
Details: d2f297f391..8907aace7e/tools/clang/scripts/update.py

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

Change-Id: I5104ea2ece272a6ea9cabb343239c74ae7e4bbe5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221941
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@{#34272}
2021-06-11 15:53:50 +00:00
Danil Chapovalov
8d3396dabe In vp9 encoder fuzzer reduce information stored for older frames
Making a copy of that information takes noticable amount of time
causing fuzzer timeout for larger inputs, but that extra information
is not even used.

Bug: chromium:1217944
Change-Id: Icf9d43ae4b8feddda972daf3a4743fb73f7766d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221962
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34271}
2021-06-11 15:46:00 +00:00
Gustaf Ullberg
a63d152423 AEC3: Unbounded echo spectrum for dominant nearend detection.
The dominant nearend detector uses the residual echo spectrum for
determining whether in nearend state. The residual echo spectrum in
computed using the ERLE. To reduce the risk of echo leaks in the
suppressor, the ERLE is capped. While minimizing echo leaks, the
capping of the ERLE can affect the dominant nearend classification
negatively as the residual echo spectrum is often over estimated.

This change enables the dominant nearend detector to use a residual
echo spectrum computed with a virtually non-capped ERLE. This ERLE
is only used for dominant nearend detection and leads to increased
transparency.

The feature is currently disabled by default and can be enabled
with the field trial "WebRTC-Aec3UseUnboundedEchoSpectrum".

Bug: webrtc:12870
Change-Id: Icb675c6f5d42ab9286e623b5fb38424d5c9cbee4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221920
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34270}
2021-06-11 13:30:00 +00:00
Philipp Hancke
1b4807ff65 count webrtc pranswer usage
count webrtc pranswer usage for connected connections

BUG=chromium:1006079

Change-Id: I83b819f481d02ed2c71807aa10dd6fb12c8b4faf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221740
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#34269}
2021-06-11 12:59:37 +00:00
Johannes Kron
b22abbc11d Add kron as owner of api/uma_metrics.h
kron is an owner of UMA metrics for WebRTC in chromium,
see tools/metrics/histograms/histograms_xml/web_rtc/OWNERS

Bug: webrtc:12096
Change-Id: I9804d747fc4e52d2ed2a9d96cc4ed315639210da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221961
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34268}
2021-06-11 12:25:18 +00:00
Andrey Logvin
ef4edafe8f Remove DEPS that was removed from chromium
https://crrev.com/c/2950009 removed third_party/turbine/src from DEPS. We should manually remove it to unblock chromium -> webrtc roll (https://ci.chromium.org/ui/p/webrtc/builders/cron/Auto-roll%20-%20WebRTC%20DEPS/14975/overview)

Bug: None
Change-Id: I60a47275983dc46a01d7c882daf5a890bc125571
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221981
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/master@{#34267}
2021-06-11 12:04:37 +00:00
Harald Alvestrand
ec6b655ba6 Break out pc/session_description build target (part 2)
Move the files.

Bug: webrtc:11967
Change-Id: Ib8c26e32248064ce6140bef79410e5a4a595d01e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221861
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34266}
2021-06-11 06:49:57 +00:00
Åsa Persson
f5f7e8e806 Ensure that fps adaptation count can go back to zero when framerate is unrestricted.
Bug: webrtc:12867
Change-Id: I1c11d1a1154ea3d802cdc01e260f72a7e9d17e99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221373
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#34265}
2021-06-10 16:00:39 +00:00
Harald Alvestrand
c63ae48871 Prepare for breakout of session_description.{h,cc}
External dependencies require "visibility = [ "*" ]"
to depend on the target.

Bug: webrtc:11967
Change-Id: I3df76e6c80380a8ab1f2bb6850a31a0d9065304b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221901
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34264}
2021-06-10 13:20:32 +00:00
Henrik Boström
62ec0f6130 Add small cooldown to unsignalled ssrc stream creation.
This CL adds a cooldown of 0.5 seconds where if the WebRtcVideoChannel
created an unsignalled receive stream within that amount of time, if we
receive even more unknown ssrcs we simply drop those RTP packets.

This prevents getting into a state of spawning new decoders on every
single packet which could happen e.g. if PT based demuxing is enabled
and MIDs are missing from the packets.

Bug: webrtc:12815
Change-Id: Id7675fb0cbfbc72281dcfe030d1a35629df3eb9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221520
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34263}
2021-06-10 13:13:21 +00:00
Niels Möller
ba7da8b9d2 Relax expectation in OveruseFrameDetectorTest2.ConvergesSlowly
Bug: webrtc:12846
Change-Id: I9238374c18c3cdbe79265e93cb23522d0454bb6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221822
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34262}
2021-06-10 13:06:01 +00:00
Harald Alvestrand
9dea393f17 Move MID/JsepTransport mappings into a new manager object.
This is part of the work to make Bundle handling understandable,
so that we can get it to work right.

Bug: webrtc:12837
Change-Id: I77f046b4bac2d9709460b3b956a2edc3df0cdaac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221745
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34261}
2021-06-10 07:10:47 +00:00
webrtc-version-updater
64e3a36668 Update WebRTC code version (2021-06-10T04:05:52).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I59414deca69c95e6cfc0f1b58a0c36424bb500f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221880
Reviewed-by: 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/master@{#34260}
2021-06-10 05:09:17 +00:00
Christoffer Jansson
5e65dd5f25 Add MB configs for M1 bots
Bug: chromium:1155245
Change-Id: Id353dde5348a8792deb8b4040a15a69969f187f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221825
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34259}
2021-06-09 19:02:28 +00:00
Tommi
3cc68ec32e Report stats from ChannelReceive::GetAudioFrameWithInfo at 1Hz.
This is a change from the previous 100Hz frequency.
Also changing the  locks slightly in AcmReceiver so that grabbing the
neteq lock right after we've let it go, isn't necessary inside of
AcmReceiver::GetAudio and also to avoid grabbing the neteq lock while
holding the AcmReceiver lock.

Bug: webrtc:12868
Change-Id: If6ee35f3dca20eb5bdbc615123aa099ccecf57c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221371
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34258}
2021-06-09 18:41:47 +00:00
Tommi
e2e046452a Remove a couple of locks from ChannelReceive and add thread checks.
* Removes playing_lock_, sync_info_lock_ and video_sync_lock_.
* Also remove video_capture_thread_race_checker_ which was redundant.

Only video_sync_lock_ was actually needed. The other two aren't needed
anymore because of changes made to RtpStreamsSynchronizer class last
year (see webrtc:11489).

In the one case where we had a lock, we post a task to the thread
where the state is maintained. This task is for capturing histograms
which I'm not sure we should have been capturing on the audio thread
anyway.

Also making ChannelReceiveFrameTransformerDelegate compatible with more
tests by using TaskQueueBase instead of rtc::Thread. A number of tests
that instantiate ChannelReceive (and thereby CRFTD) set the worker
thread as a TQ and not actually an rtc::Thread instance. In those cases
CRFTD would previously have gotten a nullptr for the worker thread.

Bug: webrtc:11993
Change-Id: I59f4b2afbfedb06f241d9a613f8538adc19cd6d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221364
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34257}
2021-06-09 16:07:02 +00:00
Victor Boivie
b56a63e470 dcsctp: Prevent overflow of missing parameters
This was found when fuzzing. If the specified number of parameter count
was larger than std::numeric_limits<size_t>::max()/2, the comparison
would overflow and read out-of-bounds. This would only apply to 32-bit
platforms and it would lead to a crash as it would access all of the
virtual memory range, and more.

Fixed: chromium:1216758
Change-Id: I2193d3ed078120b6c3e4645c0b16b9f230055e8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221742
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34256}
2021-06-09 14:12:53 +00:00
Tommi
6eda26c550 Reland "Remove AudioReceiveStream::Reconfigure() method."
This reverts commit 8a18e5b3c9.

Reason for revert: Removing the problematic DCHECK.

Original change's description:
> Revert "Remove AudioReceiveStream::Reconfigure() method."
>
> This reverts commit e2561e17e2.
>
> Reason for revert: Speculative revert: breaks an downstream project
>
> Original change's description:
> > Remove AudioReceiveStream::Reconfigure() method.
> >
> > Instead, adding specific setters that are needed at runtime:
> > * SetDepacketizerToDecoderFrameTransformer
> > * SetDecoderMap
> > * SetUseTransportCcAndNackHistory
> >
> > The whole config struct is big and much of the state it holds, needs to
> > be considered const. For that reason the Reconfigure() method is too
> > broad of an interface since it overwrites the whole config struct
> > and doesn't actually handle all the potential config changes that might
> > occur when the config changes.
> >
> > Bug: webrtc:11993
> > Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#34252}
>
> TBR=saza@webrtc.org,nisse@webrtc.org,tommi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I15ca2d8ee5fd612e13dc1f4b3bfb9c885c21dc66
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11993
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221746
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34253}

# Not skipping CQ checks because this is a reland.

Bug: webrtc:11993
Change-Id: I0d3bf9abdcdc8d3f9259d014e6074a5e6b6cc73c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221747
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34255}
2021-06-09 13:26:15 +00:00
Harald Alvestrand
c0a95863bd Break out pc/session_description in its own build target (part 1)
As a side effect, break out pc/simulcast_description.

Step 1: Don't move the {h,cc} files; just declare the targets
so that downstream projects can add dependencies on it.

Bug: webtc:11967
Change-Id: Iad3d77513af418b664c1bef46070177ed24027fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221603
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34254}
2021-06-09 11:39:06 +00:00
Andrey Logvin
8a18e5b3c9 Revert "Remove AudioReceiveStream::Reconfigure() method."
This reverts commit e2561e17e2.

Reason for revert: Speculative revert: breaks an downstream project

Original change's description:
> Remove AudioReceiveStream::Reconfigure() method.
>
> Instead, adding specific setters that are needed at runtime:
> * SetDepacketizerToDecoderFrameTransformer
> * SetDecoderMap
> * SetUseTransportCcAndNackHistory
>
> The whole config struct is big and much of the state it holds, needs to
> be considered const. For that reason the Reconfigure() method is too
> broad of an interface since it overwrites the whole config struct
> and doesn't actually handle all the potential config changes that might
> occur when the config changes.
>
> Bug: webrtc:11993
> Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34252}

TBR=saza@webrtc.org,nisse@webrtc.org,tommi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I15ca2d8ee5fd612e13dc1f4b3bfb9c885c21dc66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11993
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221746
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34253}
2021-06-09 10:24:20 +00:00
Tommi
e2561e17e2 Remove AudioReceiveStream::Reconfigure() method.
Instead, adding specific setters that are needed at runtime:
* SetDepacketizerToDecoderFrameTransformer
* SetDecoderMap
* SetUseTransportCcAndNackHistory

The whole config struct is big and much of the state it holds, needs to
be considered const. For that reason the Reconfigure() method is too
broad of an interface since it overwrites the whole config struct
and doesn't actually handle all the potential config changes that might
occur when the config changes.

Bug: webrtc:11993
Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34252}
2021-06-09 09:39:30 +00:00
Henrik Boström
4ea80f35f1 Disable PT based demuxing if MID header extension is present.
We want to turn off PT based demux because SSRC-based endpoints that
send media prematurely (which is a popular non-standard behavior still
heavily in use) can otherwise get incorrect mappings and unsignalled
ssrc issues because of the PT demux path.

This CL disables PT based demuxing when the MID header extension is
present on all m= sections in the SDP for that kind (audio/video), not
caring if it was in the offer or answer. However if PT demuxing has been
used in the past then it is always allowed. This ensures PT is off by
default but that either offer or answer can enable PT and once it has
been on it is also possible to get early media with PT.

- Want PT-based demux? The MID header extension has to be removed in
  either the offer or the answer. Follow-up O/As allow PT demuxing if
  possible.
- Want to use MID or SSRC demuxing? Great, you don't need PT-based demux
  and won't mind that we turned it off for you.

The reason for disabling PT demux at offer time (if MID is present)
instead of waiting for the SDP answer is because by the time the SDP
answer arrives, early media could have triggered PT demux and caused
incorrect mappings. The safe thing is to assume a spec-compliant
endpoint until proven otherwise.

However if PT demux is ever enabled, then from that point on we always
allow PT-based demux in follow-up O/A exchanges. This ensures we don't
drop packets in follow-up exchanges. The fact that PT-based demux is
disabled during the initial offer should not matter because before the
initial O/A exchange we don't have fingerprints.

This change only affects Unified Plan and bundled groups. Existing test
coverage ensuring we do not break legacy endpoints:
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/pc/peer_connection_integrationtest.cc;l=1156
[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webrtc/protocol/rtp-demuxing.html;l=59

UnsignaledStreamTest is also updated to test the interesting setups.
A kill-switch is added in case we want to disable this change.

Bug: webrtc:12814
Change-Id: I807a82a543325753633aaef698e06cb4c9dfebaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221101
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34251}
2021-06-09 09:25:59 +00:00
chromium-webrtc-autoroll
33e75bb874 Roll chromium_revision 415567486a..d2f297f391 (890510:890623)
Change log: 415567486a..d2f297f391
Full diff: 415567486a..d2f297f391

Changed dependencies
* src/base: 94292e26b8..5b7059db9a
* src/build: 2367e0d9b9..921ea5898e
* src/buildtools: c793cca886..9d8449e380
* src/ios: dfc8f770ad..76fd3a66e2
* src/testing: 6f9b775a98..9ff56dc5b0
* src/third_party: a8c955adab..e7589e0105
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/3dd9864fea..7fffa4636c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/859c953d28..df0a59ab02
* src/third_party/depot_tools: b9236628c6..4bb3a7d00d
* src/third_party/googletest/src: 53495a2a7d..5bcd8e3bb9
* src/third_party/perfetto: 853a6d0426..b9f666ed45
* src/tools: 58a1b6a76b..84ce063ff6
DEPS diff: 415567486a..d2f297f391/DEPS

No update to Clang.

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

Change-Id: I51629340ddcf68155718dca7abeb7b1405c6cc89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221780
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@{#34250}
2021-06-09 06:36:14 +00:00
chromium-webrtc-autoroll
80d6669cf4 Roll chromium_revision 94153b0fd3..415567486a (890203:890510)
Change log: 94153b0fd3..415567486a
Full diff: 94153b0fd3..415567486a

Changed dependencies
* src/base: 5a68ea2e71..94292e26b8
* src/build: 867c91367b..2367e0d9b9
* src/ios: 4d744bfccd..dfc8f770ad
* src/testing: a62f8260df..6f9b775a98
* src/third_party: 9902a775a4..a8c955adab
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib: version:2@1.4.32.cr0..version:2@1.5.10.cr0
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_common: version:2@1.4.32.cr0..version:2@1.5.10.cr0
* src/third_party/androidx: edF71ADEJsA1sqDrrY8PjDKnkcq2cl0b1QIqYCYBc7sC..X9QRQdySUF6AfnqQBWGClKiBkrEs0dsHy1AorJ0Ekt8C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d598390f02..859c953d28
* src/third_party/depot_tools: b508ecd932..b9236628c6
* src/third_party/freetype/src: 2a6665a4c0..08f66322e3
* src/third_party/perfetto: 5ca51f9111..853a6d0426
* src/third_party/r8: gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC..b-pZFt8hs7xMMaJ7r94g-oiaVJSYzLOfpduSfYquzM4C
* src/tools: 09c4bddd98..58a1b6a76b
DEPS diff: 94153b0fd3..415567486a/DEPS

Clang version changed llvmorg-13-init-11999-g50c0aaed:llvmorg-13-init-11649-g4d788fb8
Details: 94153b0fd3..415567486a/tools/clang/scripts/update.py

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

Change-Id: Ia3a80a9affa2c43d48eaa12211a547cf2484cac3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221682
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@{#34249}
2021-06-09 00:32:11 +00:00
Henrik Boström
58126f92bf Update the only 3 remaining kFilterBilinear to kFilterBox.
Bilinear is faster but lesser quality, box is best quality. Our code
base has disagreed about which filter to use for quite some time,
causing aliasing bug reports. In an effort to avoid aliasing artifacts
and make our scaling filters more predictable, we're updating all uses
to kFilterBox.

WebRTC already uses kFilterBox everywhere except for these three
places. The main discrepency was between Chromium and WebRTC but that
has already been fixed. This CL fixes the last remaining bilinears.

This brings the WebRTC kFilterBox use count up from 11 to 14 and the
kFilterBilinear use count down from 3 to 0.

Bug: chromium:1212630
Change-Id: I5fe4aa92b9275d65b91ea97925533055d190d317
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221372
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34248}
2021-06-08 13:19:23 +00:00
chromium-webrtc-autoroll
d9a135b088 Roll chromium_revision a72439959b..94153b0fd3 (889958:890203)
Change log: a72439959b..94153b0fd3
Full diff: a72439959b..94153b0fd3

Changed dependencies
* src/base: 3f16b04533..5a68ea2e71
* src/build: e3a96c8e5c..867c91367b
* src/ios: e5c25cbeaf..4d744bfccd
* src/testing: 447023e6cd..a62f8260df
* src/third_party: a749529524..9902a775a4
* src/third_party/androidx: SZh6kDBh5bVJm_ADaQfC6SaHIHPyAeMCYgYd3xRQsegC..edF71ADEJsA1sqDrrY8PjDKnkcq2cl0b1QIqYCYBc7sC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c8ae7ec534..d598390f02
* src/third_party/depot_tools: 730b974ee7..b508ecd932
* src/third_party/perfetto: 0856d6eecd..5ca51f9111
* src/tools: a5750d3a3e..09c4bddd98
DEPS diff: a72439959b..94153b0fd3/DEPS

No update to Clang.

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

Change-Id: I5f7fa92ea4b02d19e133d02e99d701b5d008c022
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221680
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@{#34247}
2021-06-08 12:39:13 +00:00
Harald Alvestrand
2aa24f1942 Move group-modifying functions into BundleManager
Bug: webrtc:12837
Change-Id: I886ec89427207e1dc291c9959f1b6113c97cbca3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221616
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34246}
2021-06-08 12:19:33 +00:00
Harald Alvestrand
9f9bf38805 Start refactoring bundle behavior into BundleManager
This is step 1: Encapsulating the data.

Bug: webrtc:12837
Change-Id: I15df30dc294c90136a90b072608ed4c2e8925dcb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221602
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34245}
2021-06-08 08:52:25 +00:00
Tommi
2e1546887b Avoid generating a random id for candidate stats.
CandidateStats didn't use an initializer list which caused the
`candidate` member variable to be constructed with a random id
(calling an expensive rng method), only to be overwritten directly
thereafter.

Bug: webrtc:12840
Change-Id: I0366f674281d236896cb9539812dc2d88c1b37ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221600
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34244}
2021-06-08 08:00:01 +00:00
webrtc-version-updater
0fb949702b Update WebRTC code version (2021-06-08T04:04:02).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Idddcfd5a877bebe57ab9dfa56bddfb9c7acc31a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221583
Reviewed-by: 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/master@{#34243}
2021-06-08 05:43:09 +00:00
chromium-webrtc-autoroll
c6f2fef092 Roll chromium_revision 98040cdbe1..a72439959b (889744:889958)
Change log: 98040cdbe1..a72439959b
Full diff: 98040cdbe1..a72439959b

Changed dependencies
* src/base: 2f1ff63074..3f16b04533
* src/build: 5021a63bb8..e3a96c8e5c
* src/ios: 0f34c2d05e..e5c25cbeaf
* src/testing: a45949a818..447023e6cd
* src/third_party: 24ab3093b5..a749529524
* src/third_party/androidx: 8d-gGcc4KVhOnn2B-Od7eR421Q-sNZQ0U7dMrNz_VX4C..SZh6kDBh5bVJm_ADaQfC6SaHIHPyAeMCYgYd3xRQsegC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8bf7a0b3c8..c8ae7ec534
* src/third_party/depot_tools: a5b6b2f8b7..730b974ee7
* src/third_party/harfbuzz-ng/src: 7ab0f4eda9..4811e8f5d7
* src/third_party/perfetto: 468c71c71f..0856d6eecd
* src/tools: d92ea2e55e..a5750d3a3e
DEPS diff: 98040cdbe1..a72439959b/DEPS

No update to Clang.

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

Change-Id: I6a0cf41fba1cb69f14aee93dd4df7c34e8383449
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221620
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@{#34242}
2021-06-07 22:42:41 +00:00
Markus Handell
da8a45fdaa AllocationSequence: migrate from rtc::Message to TaskQueue.
AllocationSequence uses legacy rtc::Thread message handling. In order
to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
necessitates looping through all currently queued (unbounded) messages
in the thread. In particular, these Clear calls are common during
negotiation and the probability of having a lot of queued messages is
high due to a long-running network thread function invoked on the
network thread.

Fix this by migrating AllocationSequence to task queues.

Bug: webrtc:12840, webrtc:9702
Change-Id: I42bbdb59fb2c88b50e866326ba15134dcc6ce691
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221369
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34241}
2021-06-07 18:15:34 +00:00
Markus Handell
dedcdfeba3 AllocationSequence: switch signal to callback.
Bug: webrtc:12840
Change-Id: Ic25ceb9a487b28575ab7530c54b13781ed404f7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221367
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34240}
2021-06-07 17:33:34 +00:00
Markus Handell
fd89fc75cc BasicPortAllocatorSession: migrate to TaskQueue.
Removes dependence on rtc::Thread APIs from BPAS, which removes
the need to remove callbacks via rtc::Thread::Clear().

Bug: webrtc:12840
Change-Id: I0bcc1828c5ab38f521b583f52707174961f28e8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221366
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34239}
2021-06-07 16:40:54 +00:00