Commit Graph

36453 Commits

Author SHA1 Message Date
a5fecb3917 dcsctp: Add proper fast retransmission support
This CL makes OutstandingData keep track of chunks that are eligible for
fast retransmission. When the socket goes into fast recovery, the
reported missing chunks can be retransmitted quickly (ignoring the
congestion window) according to
https://datatracker.ietf.org/doc/html/rfc4960#section-7.2.4.

The CL also adds the new API to OutstandingData to retrieve only the
chunks that are eligible for fast retransmission, and moves the
remaining chunks to the ordinary list of chunks to be retransmitted
later.

This solves an issue where the retransmission timer wouldn't start if
there wouldn't be any chunks to fast-retransmit.

It doesn't, however, make sure that chunks that should be fast
retransmitted can send even when the congestion window is full. That
will be solved in the follow-up CL.

Bug: webrtc:13969
Change-Id: If4012d1cb284ef4a2d815683ed60cbbbff5b3c3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259865
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36721}
2022-05-02 07:03:42 +00:00
c706220cbd Update WebRTC code version (2022-05-02T04:04:05).
Bug: None
Change-Id: Ia7ceabc10b15f378ced28b8a83ecbdd26fe31039
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260821
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36720}
2022-05-02 04:57:13 +00:00
07999d2b6b Roll chromium_revision bd9f2a5e9a..62b50a78d7 (998044:998144)
Change log: bd9f2a5e9a..62b50a78d7
Full diff: bd9f2a5e9a..62b50a78d7

Changed dependencies
* src/build: 06a6995dbf..06b5f68974
* src/ios: e56fb2bb40..405a1c108a
* src/testing: ff930f4c1a..3e4e4e96fb
* src/third_party: 2f85cdfe51..1bfb6b5d04
* src/third_party/androidx: wEqufYD7IQU8MCb7XBRr-u7GvM4wfMJ0DL456Q8D8dsC..OwLHPgr8tmPkNe60ri6S6xd1dh9XnIGAIzfg_XOAdeIC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ef89d1327c..9ba02ee5ca
* src/third_party/icu: 5fb93cb43c..85814e1af5
* src/tools: 4d9708c007..22ebf0451e
DEPS diff: bd9f2a5e9a..62b50a78d7/DEPS

Clang version changed llvmorg-15-init-8945-g3d7da810:llvmorg-15-init-9074-gc62b014d
Details: bd9f2a5e9a..62b50a78d7/tools/clang/scripts/update.py

BUG=None

Change-Id: I4284ccafb0b905201ab27738a657cc9bd73221a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260662
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36719}
2022-05-01 06:53:41 +00:00
3af79d1768 Move ownership of the Channel class to RTCRtpTransceiver
This makes the channel manager object into a factory, not a manager.

Bug: webrtc:13931
Change-Id: I59f7d818a739797a7c0a7a32e6583450834df122
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260467
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36718}
2022-04-30 19:21:11 +00:00
249382e79d Update WebRTC code version (2022-04-30T04:02:31).
Bug: None
Change-Id: I779009d5e864e6cca54f7ae060c05161870d8091
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260542
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36717}
2022-04-30 05:51:30 +00:00
64951c0f42 Roll chromium_revision 77c4ffe161..bd9f2a5e9a (997940:998044)
Change log: 77c4ffe161..bd9f2a5e9a
Full diff: 77c4ffe161..bd9f2a5e9a

Changed dependencies
* src/base: 0963de918a..86eacc9ca2
* src/build: 53c76d1464..06a6995dbf
* src/ios: 0d43d42517..e56fb2bb40
* src/testing: b047aae9aa..ff930f4c1a
* src/third_party: 9ecf61e269..2f85cdfe51
* src/third_party/androidx: W49waog_dod6ZGkIni6NUwsPyX_eRgTIRv3f0sszUcQC..wEqufYD7IQU8MCb7XBRr-u7GvM4wfMJ0DL456Q8D8dsC
* src/third_party/depot_tools: 8a87603683..fccf35cb8e
* src/tools: d833206dc8..4d9708c007
DEPS diff: 77c4ffe161..bd9f2a5e9a/DEPS

No update to Clang.

BUG=None

Change-Id: I981770e57c7f19ead1b3aff99c99fa92c499d7cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260543
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36716}
2022-04-30 04:52:10 +00:00
a156b90ea0 Roll chromium_revision 2c71305f8d..77c4ffe161 (997792:997940)
Change log: 2c71305f8d..77c4ffe161
Full diff: 2c71305f8d..77c4ffe161

Changed dependencies
* src/base: 1936293b59..0963de918a
* src/build: c393df7e73..53c76d1464
* src/buildtools/third_party/libc++abi/trunk: c055932162..c7888dd707
* src/ios: 78c796fee8..0d43d42517
* src/testing: 4a2f544bfa..b047aae9aa
* src/third_party: 98d31af5e3..9ecf61e269
* src/third_party/perfetto: b384c7aa6b..02f7958f65
* src/tools: fc36b66b31..d833206dc8
DEPS diff: 2c71305f8d..77c4ffe161/DEPS

No update to Clang.

BUG=None

Change-Id: Ibda21d944f945fae8837088fb63bd40e20a7f742
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260501
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36715}
2022-04-29 22:59:30 +00:00
d7de6e5ea4 Fix rendering tests of RTCMTLVideoViewTests to work as expected
In https://webrtc-review.googlesource.com/c/src/+/244420,
I added sanity check of RTCVideoFrame in RTCMTLVideoView, but I forgot
to modify the related tests.

Fix this by adding the appropriate property stubs to RTCVideoFrame stubs
created in RTCMTLVideoViewTests.

Bug: webrtc:13990, webrtc:13490
Change-Id: I21f0f75cd052e4255e1eee5f39ffdd50c2f8e61b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260420
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#36714}
2022-04-29 19:27:22 +00:00
e8aa4155a3 Roll chromium_revision 6d7878cb33..2c71305f8d (997007:997792)
Change log: 6d7878cb33..2c71305f8d
Full diff: 6d7878cb33..2c71305f8d

Changed dependencies
* src/base: 8261266302..1936293b59
* src/build: 87b04ad665..c393df7e73
* src/buildtools: f0d740e4e2..113378f9b3
* src/buildtools/linux64: git_revision:ecec350e71ea4600f7bde967854e083fbc53a37f..git_revision:48b013c9d9debc0f5fc1dd71a257b3c38c5acb43
* src/buildtools/mac: git_revision:ecec350e71ea4600f7bde967854e083fbc53a37f..git_revision:48b013c9d9debc0f5fc1dd71a257b3c38c5acb43
* src/buildtools/third_party/libc++abi/trunk: a53022fa7e..c055932162
* src/buildtools/third_party/libunwind/trunk: 43a7a256a0..d8a47466e3
* src/buildtools/win: git_revision:ecec350e71ea4600f7bde967854e083fbc53a37f..git_revision:48b013c9d9debc0f5fc1dd71a257b3c38c5acb43
* src/ios: ac2b722342..78c796fee8
* src/testing: b926234b2f..4a2f544bfa
* src/third_party: 9bef587db2..98d31af5e3
* src/third_party/android_deps/libs/com_google_android_gms_play_services_auth: version:2@17.0.0.cr1..version:2@20.1.0.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_auth_api_phone: version:2@17.5.0.cr1..version:2@18.0.1.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_auth_base: version:2@17.0.0.cr1..version:2@18.0.2.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_base: version:2@17.5.0.cr1..version:2@18.0.1.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_basement: version:2@17.5.0.cr1..version:2@18.0.1.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_instantapps: version:2@17.0.0.cr1..version:2@18.0.1.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_location: version:2@17.0.0.cr1..version:2@19.0.1.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_tasks: version:2@17.2.0.cr1..version:2@18.0.1.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_vision: version:2@18.0.0.cr1..version:2@20.1.3.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_vision_common: version:2@18.0.0.cr1..version:2@19.1.3.cr1
* src/third_party/androidx: k4t_4yTm03LpWgvtVabkki_hjYZ0-R6vK2R68XEEKFwC..W49waog_dod6ZGkIni6NUwsPyX_eRgTIRv3f0sszUcQC
* src/third_party/depot_tools: 381db68adc..8a87603683
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/e24a83a72b..7977bb492a
* src/third_party/perfetto: 2f647cd610..b384c7aa6b
* src/tools: 8ca1cca79e..fc36b66b31
DEPS diff: 6d7878cb33..2c71305f8d/DEPS

Clang version changed llvmorg-15-init-8609-g3254f468:llvmorg-15-init-8945-g3d7da810
Details: 6d7878cb33..2c71305f8d/tools/clang/scripts/update.py

BUG=None

Change-Id: I2f626127c5b057f752f8a67cbb4b5b6fb137ed50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260500
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36713}
2022-04-29 18:56:52 +00:00
0bb7cbc278 Lower av1 test psnr threshold
AV1 Realtime encoder stats changed

Bug: None
Change-Id: I50a8d36c45a775b3c0127476fb32c3d68d288508
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260480
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Marco Paniconi <marpan@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/main@{#36712}
2022-04-29 16:12:32 +00:00
13f9c62ec8 Fix comparator bugs which are not compliant to strict weak ordering.
See a full explanation of the problem on this blog [1] post about changing
std::sort in LLVM and relative issues uncovered.

The CompareNetwork function was violating the 4th rule of "strict weak
ordering" (Transitivity of incomparability: x == y and y == z imply x == z, where x == y means x < y and y < x are both false).

[1] - https://danlark.org/2022/04/20/changing-stdsort-at-googles-scale-and-beyond/

Bug: None
Change-Id: I7e893f0a30da31403766284823f75c45c4db91c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251681
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36711}
2022-04-29 16:00:53 +00:00
d3890781be Adopt absl::string_view in some fakes under rtc_base/
Bug: webrtc:13579
Change-Id: I52462a0edb4fb309cea3bc27f60dc81c5ea50522
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260464
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36710}
2022-04-29 15:33:12 +00:00
daee870a35 Remove ability to do SetChannel() without ClearChannel()
This calls out the fact that SetChannel() is only used on M-section activation; ClearChannel is called on deactivation, and we never change the channel while a transceiver is active.

Bug: webrtc:13931
Change-Id: I3a3bfeec7c1d27d98c3f94a9401bee2130754ed7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260461
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36709}
2022-04-29 14:28:02 +00:00
d4fce5a361 Use playout sample rate for audio unit.
Fixing a race condition where session.sampleRate changes before AudioDeviceIOS::HandleValidRouteChange() finishes.

session.sampleRate is read into session_sample_rate at 576 and used at 623 to initialize the audio unit. However, in the call to SetupAudioBuffersForActiveAudioSession() the session.sampleRate is read again and may have changed, resulting in different sample rates used for the buffers and the audio unit. The consequence is a sample rate mismatch with either high pitched or low pitched audio.

The fix is to always use the buffer sample rate for the audio unit.

The DCHECK at 622 would save us in debug, but not in production, hence removed.

Change-Id: I562f1bf7f94d7447139ada2636b02ade7fcd6371
Bug: webrtc:14011
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260329
Reviewed-by: Henrik Andreasson <henrika@google.com>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36708}
2022-04-29 14:07:02 +00:00
8ec4a2eca3 dcsctp: Refactor chunk lifecycle state flag
This CL replaces two booleans, that could never be active at the same
time (there is no such thing as an abandoned chunk that is scheduled
for retransmission), with a single enum.

Just for increased readability, and to understand that there is no such
thing as an abandoned chunk that will be retransmitted.

Bug: None
Change-Id: I1682c383aed692db07fd4ae1f84c0166db86c062
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259864
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36707}
2022-04-29 13:38:41 +00:00
79d566b0cf New enum ScalabilityMode.
Used instead of string representation in lower-levels of encoder configuration, to avoid string comparisons (with risk of misspelling) in lots of places.

Bug: webrtc:11607
Change-Id: I4d51c2265aac297c29976d2aa601d8ffb33b7326
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259870
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36706}
2022-04-29 12:16:42 +00:00
cbf07f70e2 Revert "Fork //base/test/google_test_runner"
This reverts commit 166650ada7ce6aa503bfab77dcbd7f0835b238b2.

Reason for revert: Seems to break downstream on-device ios tests.

Original change's description:
> Fork //base/test/google_test_runner
>
> (Used to run gtests on iOS, but we don't want to depend on //base.)
>
> Optimistically try to use the existing partial fork
>
> Bug: webrtc:13402
> Change-Id: I10528670862f2db67e77adb73b8a71b19642666d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260328
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36703}

Bug: webrtc:13402
Change-Id: I5bef679e95693b7a6942375801daf9273d260e1d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260462
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36705}
2022-04-29 11:52:22 +00:00
6228d870dc Reland "Delete deprecated versions of MergeNetworkList"
This is a reland of commit 7679e9bf071250e8e98ef6ef58962ddcc73cd498

Breakage in chrome/services/sharing/ (not built as part of webrtc
presubmit) should be fixed with
https://chromium-review.googlesource.com/c/chromium/src/+/3604642

Original change's description:
> Delete deprecated versions of MergeNetworkList
>
> Bug: webrtc:13869
> Change-Id: I6b888ba14ca664a1f28de2fb59b7d1343cb18bd8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259300
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36611}

Bug: webrtc:13869
Change-Id: I4cf0fe0f2310eabb2d0b32c6dec5f8aef64c7712
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259869
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36704}
2022-04-29 11:19:02 +00:00
166650ada7 Fork //base/test/google_test_runner
(Used to run gtests on iOS, but we don't want to depend on //base.)

Optimistically try to use the existing partial fork

Bug: webrtc:13402
Change-Id: I10528670862f2db67e77adb73b8a71b19642666d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260328
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36703}
2022-04-29 10:21:42 +00:00
b45d4deb3b Rename MacOS perf bot to 11 to reflect OS version
Bug: b/227442116
Change-Id: I80cf745a3a38d08c833864d2f8e4533776be2585
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260460
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36702}
2022-04-29 09:24:13 +00:00
8b8d0b5eac Check for BMI2 support before enabling AVX2 code paths
With MSVC, compiling with AVX2 support will also result in the
generation of BMI2 instructions. Some early Haswell CPUs reportedly support AVX2 but not BMI2. We have seen crashes (illegal instruction)
on these CPUs in our AVX2 code paths on MULX instructions (part of BMI2).

Including a check for BMI2 when checking for AVX2 support is
expected to solve the issue.

Please see the bug referenced below for more background on this issue.

Bug: chromium:1315519
Change-Id: I3a0a9838f1f632704ba505ecbb81a6f8b1889319
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260323
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Andreasson <henrika@google.com>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36701}
2022-04-29 08:41:52 +00:00
9c83d9d99e DTLS: fail the connection if DTLSv1_handle_timeout returns an error
which signals a permanent connection failure to the application

BUG=webrtc:13999

Change-Id: I7ba25db4aa9035583558a613db97561c48796c76
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260100
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#36700}
2022-04-29 05:44:42 +00:00
2dad0a1668 Re-enable XCTests sdk_unittests on simulators.
Bug: webrtc:12244
Change-Id: Id5cd44e93cd0221e09380d05da510b05c22e143f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259773
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36699}
2022-04-28 19:58:31 +00:00
49ad2d787a Disable tests with 'method was not invoked' error on simulator
https://chromium-swarm.appspot.com/task?id=5a663a0bbd1e4210

Bug: webrtc:13990
Change-Id: I8f6cc03e4ef4de389fa44f580be22649660c0524
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259770
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36698}
2022-04-28 18:57:01 +00:00
db0d586172 Enable variable_start_scale_factor_ by default.
Bug: webrtc:14007
Change-Id: I1c803b4a530209ae9b47a9bd91379621f17fe685
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260186
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36697}
2022-04-28 18:46:41 +00:00
832657f162 Recommend using [[deprecated]] over ABSL_DEPRECATED
Bug: none
Change-Id: I6018fc75d347d610d078077e7b34131efaaef0db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260160
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36696}
2022-04-28 15:27:18 +00:00
19ebabc904 Separate setting a cricket::Channel from clearing the channel.
This makes it clearer which modules set the channel.
Also remove GetChannel() from PeerConnection public API

This was only used once, internally, and can better be inlined.
Part of reducing the exposure of Channel.

Bug: webrtc:13931
Change-Id: I5f44865230a0d8314d269c85afb91d4b503e8de0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260187
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36695}
2022-04-28 14:19:16 +00:00
90623e1a91 Check if packet in PacketBuffer was cleared before the frame was fully received.
Bug: none
Change-Id: Iaa5702a8da93462ba80f72821f075a6673eeb0e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260324
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36694}
2022-04-28 13:48:54 +00:00
9432768024 Prepare for deletion of implicit conversion from rtc::scoped_refptr<T> to T*
Bug: webrtc:13464
Change-Id: I4c7095d3a1c7c1a9ab609f5f1595545f6cad18db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249087
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36693}
2022-04-28 12:58:56 +00:00
3801604bc7 Delete unused video_stream_decoder
video_stream_decoder2 is the only one used.

Change-Id: Iabee3521b2946f097296cf2b02025aa6e41e87a4
Bug: webrtc:11489
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260282
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36692}
2022-04-28 12:57:54 +00:00
14ee8037b0 Combine VideoReceiveStream2TestWithFakeDecoder into the main test suite
This is achieved by wrapping a fake decoder inside the mock decoder, in
a sort of spy pattern.

This is preperation for moving the FrameBufferProxy tests into the main
VideoReceiveStream2 suite.

Bug: webrtc:14003
Change-Id: I7b9691cc5a1a8a3fadfb7aa6981752b647d5c73f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260113
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36691}
2022-04-28 12:43:14 +00:00
1c18477070 Merge VideoReceiveStream2TestWithLazyDecoderCreation into main suite.
Bug: webrtc:13997
Change-Id: I74078c07ac4a5def231a0b3339715466ea4fe542
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260112
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Johannes Kron <kron@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36690}
2022-04-28 12:28:24 +00:00
b44a794bd3 Remove sigslot inheritance from Connection
...and add to TCPConnection as it's still needed there.

Bug: webrtc:11943
Change-Id: Id66b890677d7e0b03a4a700414f574abd6e3af58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260320
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36689}
2022-04-28 11:40:44 +00:00
69edcaf47b relax dimensions for mac perf bot to allow MacOS 11 upgrade
Bug: b/227442116
Change-Id: I30d8002997519f348988e2867c9a5f4935a265de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260281
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36688}
2022-04-28 10:17:34 +00:00
87b6e7beff An rtc_library with no source file should be an rtc_source_set
Bug: webrtc:9838
Change-Id: I9b8db581e3e180aff11ffc38b1c9155b2bd3671c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260060
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36687}
2022-04-28 10:03:23 +00:00
e890e36c99 PCLF: Reserve vector before pushing.
Bug: None
Change-Id: I961f555085032330028b426e46a2c4ac576a2b03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260283
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36686}
2022-04-28 09:49:34 +00:00
d425f506ad Switch VideoReceiveStream2 internals to Time units
Change-Id: Ifcee6372120e968499acbdf3bf2c0d002d1c4724
Bug: webrtc:13756
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259777
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Johannes Kron <kron@google.com>
Cr-Commit-Position: refs/heads/main@{#36685}
2022-04-28 09:38:54 +00:00
72efd91d1f Re-enable XCTests apprtcmobile_tests on simulators.
Bug: webrtc:12244
Change-Id: Idca6bcc1505b0b9ceadfafbe128d64d53800f34a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260280
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36684}
2022-04-28 08:31:03 +00:00
01a0db2e74 dcsctp: Don't re-nack a fragment until sent again
This is mainly an issue when sending items with partial reliability,
with high bandwidth on a link with packet loss.

In SCTP, when a fragment isn't included in the SACK a number of times,
it's scheduled to be retransmitted or abandoned, if it has been
retransmitted too many times already (depending configuration). Before
this CL, if a fragment was NACKed and scheduled for retransmission, but
couldn't be retransmitted immediately (due to congestion window not
allowing it), future received SACKs - that would still indicate that the
fragment hasn't been received yet - would still increment the
retransmission counter. Which wasn't fair, because this fragment hasn't
had a chance to be retransmitted yet.

With this CL, the fragment will only have its retransmission counter
increased when it is not already scheduled to be retransmitted, but
actually sent on the wire and considered in-flight again.

Bug: webrtc:12943
Change-Id: I2af08255650221c044cc14591a5835c885e94c58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259825
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36683}
2022-04-28 08:28:33 +00:00
03486fc197 Update sdk/ to not use implicit conversion from scoped_refptr<T> to T*.
Bug: webrtc:13464
Change-Id: I6944106ddc99c043825fad077bfcedc051c67d8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259772
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36682}
2022-04-28 08:10:15 +00:00
3ba35c3fe2 Disable ARDAppClientTest testSession on simulator.
https://chromium-swarm.appspot.com/task?id=5a6639e482cef910

Bug: webrtc:13991
Change-Id: I82a7cc0f6b37a199731b1bc87500e7daf48ac1fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259824
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36681}
2022-04-28 07:39:23 +00:00
c61c9783f5 Update WebRTC code version (2022-04-28T04:04:23).
Bug: None
Change-Id: Iffe5715813f546971b26f8fe95f384a7134c7b29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260206
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36680}
2022-04-28 05:53:03 +00:00
d2cd1effb8 Roll chromium_revision 54022bd20c..6d7878cb33 (996901:997007)
Change log: 54022bd20c..6d7878cb33
Full diff: 54022bd20c..6d7878cb33

Changed dependencies
* src/base: 1dfa35a61e..8261266302
* src/ios: 30b255ab27..ac2b722342
* src/testing: 5441c96431..b926234b2f
* src/third_party: 60ab194b65..9bef587db2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/46b602cdaf..ef89d1327c
* src/third_party/depot_tools: 41c57603f9..381db68adc
* src/tools: e3eb6453c8..8ca1cca79e
DEPS diff: 54022bd20c..6d7878cb33/DEPS

No update to Clang.

BUG=None

Change-Id: Iaca47727de4c05e22015f390f02ae320ad9133c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260261
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36679}
2022-04-28 02:43:41 +00:00
f175a06e0a Roll chromium_revision d99fb1b634..54022bd20c (996791:996901)
Change log: d99fb1b634..54022bd20c
Full diff: d99fb1b634..54022bd20c

Changed dependencies
* src/base: e195c45eee..1dfa35a61e
* src/build: db4af2b106..87b04ad665
* src/buildtools/linux64: git_revision:d18426e45644d2024370c389725b8334d43b85c7..git_revision:ecec350e71ea4600f7bde967854e083fbc53a37f
* src/buildtools/mac: git_revision:d18426e45644d2024370c389725b8334d43b85c7..git_revision:ecec350e71ea4600f7bde967854e083fbc53a37f
* src/buildtools/win: git_revision:d18426e45644d2024370c389725b8334d43b85c7..git_revision:ecec350e71ea4600f7bde967854e083fbc53a37f
* src/ios: 00a62f142a..30b255ab27
* src/testing: 3e2b87734e..5441c96431
* src/third_party: 5961ddc264..60ab194b65
* src/third_party/depot_tools: ff14b61068..41c57603f9
* src/third_party/freetype/src: ed4d0710f1..6fb7b7a09d
* src/tools: 80693fbb67..e3eb6453c8
DEPS diff: d99fb1b634..54022bd20c/DEPS

No update to Clang.

BUG=None

Change-Id: Ie1a0d862782330ed0c6d22c66ddc3022a091c730
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260240
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36678}
2022-04-27 23:06:41 +00:00
76d9c18c3a Minor tweaks to the stdlib TQ implementation.
Remove the `started_` member variable and some other minor updates to
follow conventions elsewhere in the code.

Bug: none
Change-Id: I4cbb914b39cb2e2787719b906ca937931dc3dad7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258360
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36677}
2022-04-27 22:42:16 +00:00
942cac2e9e Make deletion of Connection objects more deterministic.
This changes most deletion paths of Connection objects to go through
the owner class of the Connection instances, Port.

In situations where Connection objects still need to be deleted
asynchronously, `async = true` can be passed to
`Port::DestroyConnection` and get the same behavior as
`Connection::Destroy` formerly gave.

The `Destroy()` method still exists for downstream compatibility, but
instead of deleting connection objects asynchronously, the deletion
now happens synchronously via the Port class.

Bug: webrtc:13892, webrtc:13865
Change-Id: I07edb7bb5e5d93b33542581b4b09def548de9e12
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259826
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36676}
2022-04-27 21:52:31 +00:00
720aa9d5c7 Roll chromium_revision 22462f9b4d..d99fb1b634 (996643:996791)
Change log: 22462f9b4d..d99fb1b634
Full diff: 22462f9b4d..d99fb1b634

Changed dependencies
* src/base: 460afaf51f..e195c45eee
* src/build: c15c075ba6..db4af2b106
* src/ios: 2622210e0e..00a62f142a
* src/testing: 960cc298af..3e2b87734e
* src/third_party: c0d8105792..5961ddc264
* src/third_party/depot_tools: 564f1eee96..ff14b61068
* src/tools: 8c1b825845..80693fbb67
DEPS diff: 22462f9b4d..d99fb1b634/DEPS

No update to Clang.

BUG=None

Change-Id: I9637b5be68a7cbe3e76876b1068e1ab66cb32039
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260203
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36675}
2022-04-27 18:52:41 +00:00
65685a65f2 Move pc/channel.h to only be used in .cc files
This is an implementation API, user classes should in principle
only use the channel_interface.h

Bug: webrtc:13931
Change-Id: I85c285217858dc087c90a50792e980f731f4439f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260185
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36674}
2022-04-27 17:13:11 +00:00
df209e797b Avoid more usage of implicit conversion from scoped_refptr<T> to T*
Update api/, call/, examples/ and rtc_tools/.

Bug: webrtc:13464
Change-Id: I7b0008cca68c579e89b45527a45300d1e67c3483
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260000
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36673}
2022-04-27 13:18:30 +00:00
e7d998cb64 Roll chromium_revision d72fd4a488..22462f9b4d (996483:996643)
Change log: d72fd4a488..22462f9b4d
Full diff: d72fd4a488..22462f9b4d

Changed dependencies
* src/base: 5e69a10028..460afaf51f
* src/build: 50e14eb904..c15c075ba6
* src/buildtools/linux64: git_revision:ced9fbfe6943854e65ada4ac1849d1fa4cb19348..git_revision:d18426e45644d2024370c389725b8334d43b85c7
* src/buildtools/mac: git_revision:ced9fbfe6943854e65ada4ac1849d1fa4cb19348..git_revision:d18426e45644d2024370c389725b8334d43b85c7
* src/buildtools/third_party/libc++abi/trunk: 7d9bbeb389..a53022fa7e
* src/buildtools/third_party/libunwind/trunk: fe26c4b100..43a7a256a0
* src/buildtools/win: git_revision:ced9fbfe6943854e65ada4ac1849d1fa4cb19348..git_revision:d18426e45644d2024370c389725b8334d43b85c7
* src/ios: 3788a5cbc7..2622210e0e
* src/testing: 6c9a6f9eea..960cc298af
* src/third_party: 4c5c0dca47..c0d8105792
* src/third_party/depot_tools: 87172073a6..564f1eee96
* src/third_party/perfetto: 0b75597e27..2f647cd610
* src/tools: 831b397d17..8c1b825845
DEPS diff: d72fd4a488..22462f9b4d/DEPS

No update to Clang.

BUG=None

Change-Id: I5e0abc6f9bb3790835bd231f822f92bfec2e21d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260123
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#36672}
2022-04-27 13:13:52 +00:00