Commit Graph

35726 Commits

Author SHA1 Message Date
2a83a9c5cd Roll chromium_revision 40e4f0e7e5..66ebc2db72 (985374:985511)
Change log: 40e4f0e7e5..66ebc2db72
Full diff: 40e4f0e7e5..66ebc2db72

Changed dependencies
* src/base: cf3ca9b2b1..657974b7c5
* src/build: ad30d198c5..4f3fab4144
* src/ios: 2bafd31d79..121de3a870
* src/testing: 6a0c330262..19ffb8b393
* src/third_party: 9db98d4ff4..dadd5c0377
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b2ed43640f..7b41c53e65
* src/tools: ccc6e29626..61e889d3a7
DEPS diff: 40e4f0e7e5..66ebc2db72/DEPS

No update to Clang.

BUG=None

Change-Id: Ia116eba59c71bd439c28b18804dbc7fd19432e87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256880
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@{#36344}
2022-03-25 22:41:34 +00:00
b767ebe842 Roll chromium_revision dd578a7ab8..40e4f0e7e5 (985234:985374)
Change log: dd578a7ab8..40e4f0e7e5
Full diff: dd578a7ab8..40e4f0e7e5

Changed dependencies
* src/base: 1a793c6bd1..cf3ca9b2b1
* src/build: ad14fa3a81..ad30d198c5
* src/ios: 30c7186a2d..2bafd31d79
* src/testing: 6964920213..6a0c330262
* src/third_party: edf9c995f2..9db98d4ff4
* src/third_party/freetype/src: 127c1e8331..a8e4563c34
* src/third_party/perfetto: d89b25832b..3a5b2ad60d
* src/tools: 35cc36c912..ccc6e29626
DEPS diff: dd578a7ab8..40e4f0e7e5/DEPS

No update to Clang.

BUG=None

Change-Id: I7b36efc0c28e1fa33af4fb4e9a9b61fd72c1f452
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256840
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@{#36343}
2022-03-25 18:55:05 +00:00
ac2dd12d84 Don't override resolution bitrate limits in singlecast mode if they're already set.
Bug: webrtc:13872
Change-Id: I966c744a13cf74336d62d96c72eb37ebf96de71f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256803
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36342}
2022-03-25 15:05:16 +00:00
56a04c3430 Implement recieving FIR in RtcpTranceiver
Bug: webrtc:8239
Change-Id: I2075af1598faf62b4eb3ab85e80590ff41cd2f49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256811
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36341}
2022-03-25 15:04:14 +00:00
3d6c6556b4 Adopt absl::string_view in rtc_base/string_to_number.*
Bug: webrtc:13579
Change-Id: I7e1a8ad6c493c9c0ac20c493d2467f0a2eda26d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256720
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36340}
2022-03-25 14:32:05 +00:00
3cdd653d66 Minor cleanups in testsupport/file_utils
Bug: webrtc:13579
Change-Id: Ic7915a3520a0f16d0e57cb5e9ffa290524f6bf39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256810
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36339}
2022-03-25 14:26:34 +00:00
a8bc137835 Avoid touching port_ in Connection::ToString() after starting delete.
Bug: webrtc:13865
Change-Id: Ia469c46642d7e305a50e57d9ea6ad873e633db4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256808
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36338}
2022-03-25 13:39:44 +00:00
b63536f5d3 add h264 422 decoding
Bug: webrtc:13826
Change-Id: Ic7296be69157a9aaf5f139a18fdb011b90f4caa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255380
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36337}
2022-03-25 13:15:34 +00:00
d8654cf636 Prepare the code to inherit from chromium's mb.py.
Type 'additional_compile_target' are not meant to be tests.
Type 'raw' has no usage for xctests.
Explicitly set dcheck_always_on=false.

Bug: webrtc:13867
Change-Id: Ie47c300609ff5054d36110e8ee6c7a059ec452da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256805
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36336}
2022-03-25 13:01:24 +00:00
e02f9eedb3 WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 10/inf
This patch takes a stab at modules/video_coding,
but reaches only about half.

Bug: webrtc:10335
Change-Id: I0d47d0468b818145470c51ae4e8e75ff58d499ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256112
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36335}
2022-03-25 12:35:36 +00:00
2ff465f506 Roll chromium_revision 5ee26aceaa..dd578a7ab8 (985134:985234)
Change log: 5ee26aceaa..dd578a7ab8
Full diff: 5ee26aceaa..dd578a7ab8

Changed dependencies
* src/base: c23fa53817..1a793c6bd1
* src/build: d0898bf221..ad14fa3a81
* src/ios: b43bd07eaf..30c7186a2d
* src/testing: c0c8f3b983..6964920213
* src/third_party: e61995ef2d..edf9c995f2
* src/tools: 5c3bfba376..35cc36c912
DEPS diff: 5ee26aceaa..dd578a7ab8/DEPS

No update to Clang.

BUG=None

Change-Id: Ib0c06c652379a3e890d70cc7f0dce1da0cd329a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256782
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@{#36334}
2022-03-25 10:54:14 +00:00
7ab3ecd4c2 Use TimeDelta to convert to to/from compact ntp time
Bug: webrtc:13757
Change-Id: I1c5f0a666da8e6b30291763d110ff049df573490
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256103
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36333}
2022-03-25 10:41:39 +00:00
1d6de1499c Adopt absl::string_view in testsupport/file_utils*
Bug: webrtc:13579
Change-Id: I5b710cfd218c44be01a7a42c2b281739081881e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36332}
2022-03-25 10:34:54 +00:00
e39daf4146 Revert "wayland: Add a common interface for screencast and remote desktop portal"
This reverts commit e1223747c27e22c4c4c3006af10d58aec9718b28.

Reason for revert: Breaks WebRTC roll into Chromium. E.g:
https://ci.chromium.org/ui/p/chromium/builders/try/cast_shell_linux/1166014/overview

Original change's description:
> wayland: Add a common interface for screencast and remote desktop portal
>
> Change adapts the `base_capturer_pipewire` so that a portal can be
> injected in the capturer. This allows the remoting to inject its
> own portal for the purpose of capturing desktop stream as long
> as the injected portal provides implementation of the new interface
> that is added as part of this change.
>
> Additionally, a method has been exposed on the capturer to get
> details about the portal session so that the remoting
> implementation can use the same underlying session for controlling
> inputs on the remote host.
>
> Finally, desktop capturer interface is extended with a generic
> method `GetMetadata` that is used to retrieve session related
> information by CRD and relay it over to its input injector. Clients
> provide override for the method and it eventually invokes the
> underlying `GetSessionDetails` method on the portal instance.
>
> Bug: chromium:1291247
> Change-Id: I81b7ce3b949d8be2e24e2d303d5fbc76a849209c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256400
> Reviewed-by: Alexander Cooper <alcooper@chromium.org>
> Commit-Queue: Salman Malik <salmanmalik@google.com>
> Cr-Commit-Position: refs/heads/main@{#36323}

Bug: chromium:1291247
Change-Id: I73fbb1b9a103d61fd8d7f04bb8452b3e29da9025
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256801
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36331}
2022-03-25 09:26:14 +00:00
887754af75 Implement recieving PLI in RtcpTranceiver
Bug: webrtc:8239
Change-Id: I99f818991f4a0edd8afa90044bcb1db7e4a478d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256105
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36330}
2022-03-25 09:01:55 +00:00
e5b2220650 Adopt absl::string_view in rtc_base/string_utils*
Bug: webrtc:13579
Change-Id: I2def83ae546156ff0ec8ef000b7ed0c48d15777c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256721
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36329}
2022-03-25 08:12:36 +00:00
58d861c47f Update missing absl::string_view adoption in openssl files under rtc_base/
Bug: webrtc:13579 webrtc:13870
Change-Id: Ia549285f1a60f41397c04f7bc2acdee684544ec3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256722
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36328}
2022-03-25 08:11:17 +00:00
48aeb965fa Update WebRTC code version (2022-03-25T04:07:38).
Bug: None
Change-Id: I8c3fd97767bc8ea70881350982b702918e8596a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256761
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@{#36327}
2022-03-25 05:23:25 +00:00
1dbd5bcd73 Roll chromium_revision cea635fff1..5ee26aceaa (985030:985134)
Change log: cea635fff1..5ee26aceaa
Full diff: cea635fff1..5ee26aceaa

Changed dependencies
* src/base: b9fdb3d1d2..c23fa53817
* src/build: e609be7b22..d0898bf221
* src/ios: bdaa6d7dd0..b43bd07eaf
* src/testing: 89b05e0f7c..c0c8f3b983
* src/third_party: 7fe133c50a..e61995ef2d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/72a759f779..b2ed43640f
* src/third_party/perfetto: 8c8fafb6ff..d89b25832b
* src/tools: b96e1ef633..5c3bfba376
DEPS diff: cea635fff1..5ee26aceaa/DEPS

No update to Clang.

BUG=None

Change-Id: If7a4c4d4e2957df2f0cac2472842930126c6f81d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256741
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@{#36326}
2022-03-25 02:42:34 +00:00
fe429630b2 Roll chromium_revision aca33aaa4b..cea635fff1 (984925:985030)
Change log: aca33aaa4b..cea635fff1
Full diff: aca33aaa4b..cea635fff1

Changed dependencies
* src/base: 768002909f..b9fdb3d1d2
* src/build: 026712e072..e609be7b22
* src/ios: d3aeee1560..bdaa6d7dd0
* src/testing: 573801650f..89b05e0f7c
* src/third_party: 19b49d43f7..7fe133c50a
* src/third_party/depot_tools: 62396c5a83..01a4536ff8
* src/third_party/perfetto: 8eb58df9cb..8c8fafb6ff
* src/tools: 6ec07af821..b96e1ef633
DEPS diff: aca33aaa4b..cea635fff1/DEPS

No update to Clang.

BUG=None

Change-Id: Ia7a65ada8a4770e51c00079709515b6878d9a0a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256740
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@{#36325}
2022-03-24 22:30:24 +00:00
bf69bfa4fb Roll chromium_revision 2bacc42b75..aca33aaa4b (984803:984925)
Change log: 2bacc42b75..aca33aaa4b
Full diff: 2bacc42b75..aca33aaa4b

Changed dependencies
* src/base: 0f8f0209a3..768002909f
* src/build: e8430f658c..026712e072
* src/ios: 905cc78523..d3aeee1560
* src/testing: c5694d8fc1..573801650f
* src/third_party: 6fed3b9b4f..19b49d43f7
* src/third_party/freetype/src: fc15ebe0a6..127c1e8331
* src/third_party/perfetto: a8f0cd2c06..8eb58df9cb
* src/tools: 201492c4b5..6ec07af821
DEPS diff: 2bacc42b75..aca33aaa4b/DEPS

No update to Clang.

BUG=None

Change-Id: I18c35d16297a5ebaca1a280176db0c4041a267c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256703
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@{#36324}
2022-03-24 18:32:28 +00:00
e1223747c2 wayland: Add a common interface for screencast and remote desktop portal
Change adapts the `base_capturer_pipewire` so that a portal can be
injected in the capturer. This allows the remoting to inject its
own portal for the purpose of capturing desktop stream as long
as the injected portal provides implementation of the new interface
that is added as part of this change.

Additionally, a method has been exposed on the capturer to get
details about the portal session so that the remoting
implementation can use the same underlying session for controlling
inputs on the remote host.

Finally, desktop capturer interface is extended with a generic
method `GetMetadata` that is used to retrieve session related
information by CRD and relay it over to its input injector. Clients
provide override for the method and it eventually invokes the
underlying `GetSessionDetails` method on the portal instance.

Bug: chromium:1291247
Change-Id: I81b7ce3b949d8be2e24e2d303d5fbc76a849209c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256400
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36323}
2022-03-24 17:53:53 +00:00
ed4a5763f8 Migrate parameterized tests to the standard parameterized runner
The only caveat is that a name attribute for the `@Parameters`
annotation is required, as otherwise the test infrastructure
doesn’t find test results.

Bug: webrtc:13662
Change-Id: Ib3e2a6671d1045b0e19746ce78dd434fbee78b87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256462
Reviewed-by: Linus Nilsson <lnilsson@webrtc.org>
Auto-Submit: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36322}
2022-03-24 15:38:53 +00:00
75e19ed421 Roll chromium_revision 464bf1c171..2bacc42b75 (984608:984803)
Change log: 464bf1c171..2bacc42b75
Full diff: 464bf1c171..2bacc42b75

Changed dependencies
* src/base: 757ea78481..0f8f0209a3
* src/build: 57b3452d26..e8430f658c
* src/ios: d11e422ea6..905cc78523
* src/testing: 03bf7a8890..c5694d8fc1
* src/third_party: c9246c6fc4..6fed3b9b4f
* src/third_party/depot_tools: 4de5deacd4..62396c5a83
* src/third_party/googletest/src: 0affd45b62..af29db7ec2
* src/third_party/perfetto: ae44ad76bd..a8f0cd2c06
* src/tools: 772716903d..201492c4b5
* src/tools/luci-go: git_revision:cb424e70e75136736a86359ef070aa96425fe7a3..git_revision:6da0608e4fa8a3c6d1fa4f855485c0038b05bf72
* src/tools/luci-go: git_revision:cb424e70e75136736a86359ef070aa96425fe7a3..git_revision:6da0608e4fa8a3c6d1fa4f855485c0038b05bf72
DEPS diff: 464bf1c171..2bacc42b75/DEPS

No update to Clang.

BUG=None

Change-Id: I1e16f0bba8f18e7ceb90689818821b67a06efd78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256700
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36321}
2022-03-24 14:53:33 +00:00
824d8b0263 Don't Prune a to-be-deleted connection object
Bug: webrtc:13865
Change-Id: I87c18c8a1dfc0284bef1e721a56ad61ab89dc1c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256680
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36320}
2022-03-24 14:29:03 +00:00
5ab4102233 Exclude partition_allocator header check
This will unblock the roll

Bug: b/226557854
Change-Id: I7f5c5b6385e91bf55c5c39fa63ebb8b55c639734
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256681
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36319}
2022-03-24 14:05:23 +00:00
a6fcbb1830 Use a standard Androidx test runner instead of the org.chromium one
Bug: webrtc:13662
Change-Id: I7ae28a61ea8f7e578d8aef8e3104f8564f3dd7b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256621
Auto-Submit: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Linus Nilsson <lnilsson@webrtc.org>
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36318}
2022-03-24 10:49:44 +00:00
dacd31f5e8 Use the default Junit runner and Android’s UI thread rule
Bug: webrtc:13662
Change-Id: Ifc8a81905345093c096066b7a659b943464d38b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256464
Auto-Submit: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Linus Nilsson <lnilsson@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36317}
2022-03-24 10:44:23 +00:00
568bc23208 dcsctp: Don't reassemble already received chunks
This is a solution to some problems that have been found locally when
running the fuzzer for a long time. The fuzzer keeps on fuzzing, and has
found a way to trigger a consistency check to fail when a client
intentionally sends different messages - unordered and ordered - using
the same TSNs. As the reassembly queue has different handling of ordered
and unordered chunks due to how they are reassembled, it will not notice
if it receives two different chunks with the same TSN. They will both go
to their respective reassembly streams, as those are separate by design.

The data tracker - which keeps track of all received DATA chunks as it
needs to generate SACKs, has a global understanding of all received
chunks. By having it indicate if this is a duplicate received chunk, the
socket can avoid forwarding both chunks to the reassembly queue; only
one chunk will get there.

Bug: None
Change-Id: I602a8552a9a4c853684fcf105309ec3d8073f2c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256110
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36316}
2022-03-24 10:39:03 +00:00
0c28820dcd Fix FRAME delimiter is not handled properly in yuv/y4m reader
Note that sdk/android/api/org/webrtc/FileVideoCapturer.java is handling
correctly.

Bug: None
Change-Id: I3a9783d75bd0a4b3a454b87a01039154200c4d29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256581
Auto-Submit: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36315}
2022-03-24 10:14:17 +00:00
6a15e3ba5c Remove deprecated heavy_metrics_computation_enabled
Bug: None
Change-Id: Ieaccca83559d0f17b394c2c9bbc8d52acbaebcdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256601
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36314}
2022-03-24 09:39:13 +00:00
195b0a9849 Modernize TimestampExtrapolator to use correct units
* Add unit tests
* Use TimestampUnwrapper
* Follow style guide

Change-Id: I057b05faba0aeafb2830a45007474be0eca1c6e0
Bug: webrtc:13756
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256261
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36313}
2022-03-24 09:36:43 +00:00
ccc9d979a5 Add checks for a null msg_queue_ to VirtualSocketServer.
The Thread class internally (`Thread::DoDestroy`) makes this call:
  ss_->SetMessageQueue(nullptr);

Which sets the `msg_queue_` member variable of VirtualSocketServer
to nullptr. VSS checks for this in several places, but not all. In
particular `CancelConnects()` does handle it, but Disconnect(), which
is called from the same place (VirtualSocket::Close()), is missing
this check.

This CL adds some DCHECKs to catch when a pointer might be nullptr
and also avoids dereferencing a potential nullptr deref during teardown
if `Disconnect` is called, e.g. from within `VirtualSocket::Close()`
which is called from the dtor of `VirtualSocket`.

Bug: webrtc:13864
Change-Id: I717a0f033ebf70b1f59338680957723a77ccf4ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256600
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36312}
2022-03-24 08:18:43 +00:00
b6b34fc213 Add weighted PSNR-YUV from Ohm2012 to PC test framework.
This metric weights the PSNRs of luma and chroma planes in
a slightly smarter way than our current PSNR metric.

> J. Ohm, G. J. Sullivan, H. Schwarz, T. K. Tan and T. Wiegand,
> "Comparison of the Coding Efficiency of Video Coding Standards—Including
> High Efficiency Video Coding (HEVC)," in IEEE Transactions on Circuits and
> Systems for Video Technology, vol. 22, no. 12, pp. 1669-1684, Dec. 2012
> doi: 10.1109/TCSVT.2012.2221192.

Bug: None
Change-Id: Iec105e0b491628fc0ad4be9155b991203846ad1b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256463
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36311}
2022-03-24 07:12:33 +00:00
6c61b90458 Update WebRTC code version (2022-03-24T04:09:55).
Bug: None
Change-Id: Ie69631a4fe14b83c62971ecd7a2b1f4da27f7d10
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256544
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@{#36310}
2022-03-24 05:24:42 +00:00
5f1fd1b137 Roll chromium_revision 351d363e43..464bf1c171 (984486:984608)
Change log: 351d363e43..464bf1c171
Full diff: 351d363e43..464bf1c171

Changed dependencies
* src/build: 06d68454b6..57b3452d26
* src/ios: 96749f818a..d11e422ea6
* src/testing: 84761dcaa0..03bf7a8890
* src/third_party: ff3b8cfc75..c9246c6fc4
* src/third_party/depot_tools: e7eb3eb81a..4de5deacd4
* src/third_party/perfetto: ab32c07962..ae44ad76bd
* src/tools: eea907b99a..772716903d
DEPS diff: 351d363e43..464bf1c171/DEPS

No update to Clang.

BUG=None

Change-Id: I20cb3b5e635b7615f439f3bc9d1707d931885562
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256541
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@{#36309}
2022-03-24 00:31:53 +00:00
b9c636506b Roll chromium_revision e391064aa9..351d363e43 (984363:984486)
Change log: e391064aa9..351d363e43
Full diff: e391064aa9..351d363e43

Changed dependencies
* src/base: 2cb3acd739..757ea78481
* src/build: 5aa939d269..06d68454b6
* src/buildtools/third_party/libunwind/trunk: d1c7f92b8b..0662c09a82
* src/ios: 0ce3fc7530..96749f818a
* src/testing: 5f4d7cb097..84761dcaa0
* src/third_party: 0f4367b186..ff3b8cfc75
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/96e1fe8c33..72a759f779
* src/third_party/perfetto: 30a70afa95..ab32c07962
* src/tools: 0c850287ed..eea907b99a
DEPS diff: e391064aa9..351d363e43/DEPS

No update to Clang.

BUG=None

Change-Id: Iaa70dc01b8bc18b26bb07f5d0f585f4039b4bb67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256520
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@{#36308}
2022-03-23 20:43:22 +00:00
96544b72eb PipeWire capturer: split some PipeWire code that can be reused
This is code that will be used to write tests and that makes sense to be
moved out and used somewhere else.

Bug: webrtc:13429
Change-Id: I2dd8f3111fdc9e6fa121c1e18644cbcf340b584e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256009
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36307}
2022-03-23 16:48:02 +00:00
1bcdafca0e Reland of remove NV12 to I420 conversion in webrtc AV1 Encoder.
libaom supports for NV12 inputs for encoding av1 stream. It will reduce
unnecessary conversion from NV12 to I420 format.
(https://bugs.chromium.org/p/aomedia/issues/detail?id=3232&q=3232&can=2)

Original CL reviewed at https://webrtc-review.googlesource.com/c/src/+/251920

Bug: webrtc:13746
Change-Id: I96cc99674f315518d98355cb90566e78bead3e55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/254340
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36306}
2022-03-23 16:33:32 +00:00
e7985a491d Roll chromium_revision a697245f3d..e391064aa9 (984227:984363)
Change log: a697245f3d..e391064aa9
Full diff: a697245f3d..e391064aa9

Changed dependencies
* src/base: d07854bae7..2cb3acd739
* src/build: 8ae687514c..5aa939d269
* src/ios: af28cc6c8b..0ce3fc7530
* src/testing: 46f39ff7fc..5f4d7cb097
* src/third_party: 5ad0921fc7..0f4367b186
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/180b8d540d..96e1fe8c33
* src/third_party/perfetto: 5731615c4b..30a70afa95
* src/tools: b5911e5f6e..0c850287ed
DEPS diff: a697245f3d..e391064aa9/DEPS

No update to Clang.

BUG=None

Change-Id: I1176cbe2357a815c657eae8165dc2f685ab7cb7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256502
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@{#36305}
2022-03-23 16:30:22 +00:00
50f4ae1522 Pace at max of BWE and lower link capacity only when loss based estimate is not less than delay based estimate.
It is hard to add an unit test for this change, because OnTransportPacketsFeedback is the way to change the loss based estimate, and it also changes the lower link capacity.

Thus we cannot track the two values without making changes in goog_cc, which seem to be unecessary.

Bug: none
Change-Id: I689ef52c4440c9bc2ff30f88b9cda96a90b0b64e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256368
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36304}
2022-03-23 13:48:42 +00:00
a2219e22d2 Use acked bitrate only when network is overusing.
Bug: webrtc:12707
Change-Id: I9a263ec60f07cfd03eed0374c730c87e20014d65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256113
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36303}
2022-03-23 13:35:32 +00:00
c62dcc951d Reland "Avoid using lld when compiling iin iOS with bitcode"
This is a reland of commit b7ba6027659913883af3d64ec0fdfcba96176816

Original change's description:
> Avoid using lld when compiling iin iOS with bitcode
>
> The resulting framework's LLVM __bundle segment is empty otherwise.
>
> Bug: webrtc:13774
> Change-Id: I235a3005f8e0d68168f29108be0f7c5b7914182b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/253140
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36178}

Bug: webrtc:13774
Change-Id: Ia88b26d91bf1cf7323d04f024155ecf394498c41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256481
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36302}
2022-03-23 13:21:02 +00:00
0e5e647efb Upgrade xcode version to 13c100.
This is a minor change to see if the config from the 'main' branch is used.

Bug: chromium:1159728
Change-Id: Id9d1959b9c581712488e822e971f3c3667e0e06e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256480
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36301}
2022-03-23 10:53:34 +00:00
d7fdb95346 Remove typing detection
Motivation: never used.
Follow-up CL of https://webrtc-review.googlesource.com/c/src/+/250680.

Tested on a custom chromium build by making a video call and with
keyboard activity. The expected logs from the APM transient suppressor
sub-module were shown.

Bug: webrtc:11226
Change-Id: I4186994412dd8ba2e71ed8f9dcc9cf8f8e40fbd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250667
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36300}
2022-03-23 10:23:54 +00:00
2756ace4ce Roll chromium_revision cd60f7c147..a697245f3d (983336:984227)
Change log: cd60f7c147..a697245f3d
Full diff: cd60f7c147..a697245f3d

Changed dependencies
* src/base: 62ab5ed470..d07854bae7
* src/build: 0a7d5e2362..8ae687514c
* src/buildtools: d8c375426d..e1471b21ee
* src/buildtools/third_party/libc++abi/trunk: 93b8dcd57b..edde7bbc40
* src/ios: f05ae3297c..af28cc6c8b
* src/testing: e6c44c92f4..46f39ff7fc
* src/third_party: 9581bbe809..5ad0921fc7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/54219055fc..180b8d540d
* src/third_party/depot_tools: f0bc2d2404..e7eb3eb81a
* src/third_party/googletest/src: b007c54f29..0affd45b62
* src/third_party/libvpx/source/libvpx: df0d06de6d..bf672f23a5
* src/third_party/perfetto: 723b273d39..5731615c4b
* src/third_party/turbine: Go9J3Mz5ankZAgxmn5GxeXKdEDV73zaZp2ojNfGC1RQC..yMO-x5RrhSksWmdTW_uQczi0PrHWCEfIyOkqwdFLExoC
* src/tools: a49530481c..b5911e5f6e
DEPS diff: cd60f7c147..a697245f3d/DEPS

No update to Clang.

BUG=None

Change-Id: If1b2148ca4fa04e96316b62f6921e2773352f3a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256440
Reviewed-by: Christoffer Jansson <jansson@google.com>
Owners-Override: Christoffer Jansson <jansson@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36299}
2022-03-23 10:05:24 +00:00
a76ae851ad Run instrumentation tests with the default runner
This migrates all tests that work by just changing their runner.

This excludes tests using `@RunWith(ParameterizedRunner.class)`, and a
few other non-parameterized tests that fail with the default runner.

Bug: webrtc:13662
Change-Id: Ia0b7c80e04a6a6b7a51348b3a7f587d10061b58e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256367
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36298}
2022-03-23 10:01:04 +00:00
e7d7497e34 Split Mac clang format + use py3 for all clang-format OS's
No-Try: True
Bug: b/226298805
Change-Id: Iebd074aac1b15feb740a6fdcab122fe66053b2e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256460
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36297}
2022-03-23 09:02:26 +00:00
445a750d38 Update WebRTC code version (2022-03-23T04:05:31).
Bug: None
Change-Id: I0bdb52494a01c82bcdc682807f37a4be1e69559b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256425
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@{#36296}
2022-03-23 06:25:33 +00:00
56b836d958 Ensure there is a unique FrameQueue for each DxgiOutputDuplicator
DxgiOutputDuplicator objects hold a reference to the last frame that
they succesfully captured by maintaining a reference to the
SharedDesktopFrame that was passed as their target. This is done because
the DirectX capture APIs may fail to provide an update if there has been
no (or no substantial) change since the last capture call was made.
However, the higher levels of this capture stack
(DxgiDuplicatorController and ScreenCapturerWinDirectX), were unaware of
this, and assumed that the caller of CaptureFrame is the only one who
may have held a reference to the frame. Thus, when CaptureFrame is
called, the DirectX screen capturer assumes that the oldest frame in its
queue can be safely reused.

In the steady state, where capture is not being switched between
monitors, this is fine as there are no competing DxgiOutputDuplicators
being run and this assumption mostly holds true (or the frame is being
overwritten only when the DxgiOutputDuplicator is also done holding it).
However, when capture is being rapidly switched between multiple targets
(e.g. to show a preview of each of the available monitors), this can
result in a frame being held by one DxgiOutputDuplicator being passed to
another as a valid target and overwritten. In the common case of only a
single monitor this is essentially the same as steady state capture,
where there are no competing DxgiOutputDuplicator. In the other common
case of two monitors being captured, the fact that the
ScreenCaptureFrameQueue has two frames ends up masking this issue. Since
each monitor is captured in the same order, the same frame ends up
getting passed to each DxgiOutputDuplicator, so no data actually ends
up getting overwritten. In the case of 3 monitors, the 1st and 3rd
monitor end up sharing a frame, which when capture fails on one of them
surfaces as the other monitor being duplicately shown.

This change addresses the issue by ensuring that each screen that the
ScreenCapturerWinDirectX *actually attempts* to capture, gets it's own
FrameQueue, and thus essentially brings us back to the "steady state"
case for each monitor. Note that this does increase memory usage of
capturers that are switched between multiple targets by 2 frames/target
used (and actually attempted to be captured).

Alternatives considered:
DxgiOutputDuplicator makes a copy of the frame, rather than holding
a reference
  This was rejected because adding an additional copy for every
  capture upon getting a new frame, would expensive and could degrade
  performance.

Allow the DxgiOutputDuplicators to "fail" when there has been no update
  This would result in either a breaking change to the API for consumers
  or would require the ScreenCapturerWinDirectX to track these last
  captured frames; which would result in essentially the same approach,
  but with less abstraction for re-using the frames.

Bug: chromium:1296228
Change-Id: I5442ec40e9f234046010b562b258db63693ccc6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256043
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36295}
2022-03-22 16:53:53 +00:00