39085 Commits

Author SHA1 Message Date
Björn Terelius
31a10d321a Ensure correct destruction order in RtcEventLogImplTest
Bug: b/269744492
Change-Id: I0b7b92ec31baf3515562adde7617de0873cfd537
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298882
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39653}
2023-03-23 11:50:41 +00:00
Magnus Jedvert
342bbe1ad4 Allow const pointer in NativeToJavaPointer
Bug: webrtc:15032
Change-Id: I3355e3e5d6fdc15652ffb0d6d0ff0328f49fcadb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298900
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Fabian Bergmark <fabianbergmark@google.com>
Cr-Commit-Position: refs/heads/main@{#39652}
2023-03-23 11:11:05 +00:00
Henrik Boström
80850ca477 Fix crash happening when changing from legacy to standard VP9.
Attempting to ship "WebRTC-AllowDisablingLegacyScalability" revealed a
DCHECK that happens when negotiating 3 VP9 streams prior to the
setParameters() call:
1. By default, `scalability_mode` is missing, so those 3 streams
   defaulted to legacy SVC, meaning only a single stream is used.
2. Then, setParameters() was called to make
   `encodings[0].scalability_mode = "L2T2_KEY"` and
   `encodings[1-2].active = false`. The inactive streams were just
   dummies and never expected to exist.

Without simulcast support this is OK, because both 1) and 2) are
interpreted to have a single stream. But with simulcast support, 1) is
interpreted as single stream and 2) as three streams (1 active, 2
inactive). This should be roughly the same setup, but our code treats
them differently.

The DCHECK crash was a mismatch in number of streams in one of the
layers.

The fix is to re-create the streams when the number of streams change
for this reason. The new test revealed other issues and fixes too:
- Support for multiple spatial layers (e.g. "L2T2_KEY") when multiple
  encodings exist but only one encoding is active.
- Allow inactive layers not to have a scalability mode set.

A laundry list (https://crbug.com/webrtc/15028) has been created to
update known places doing "if streams == 1" that need to do "if
active streams == 1" instead.

Credit:
  The RecreateWebRtcStream() fix is based on eshr@'s POC from
  https://webrtc-review.googlesource.com/c/src/+/298565.

Bug: webrtc:15016
Change-Id: I909a3f83a4ef53562894549ade0a870b208cec7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298443
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#39651}
2023-03-23 10:46:17 +00:00
Tommi
9a2938b24c Remove HasSctpDataChannels() and just use HasDataChannels()
Bug: none
Change-Id: I372cd386ad8ec057237889860802865836baaa0c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298821
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39650}
2023-03-23 08:38:33 +00:00
Jan Grulich
4bfc4ac4b0 PipeWire capturer: drop old DmaBuf support
Drop support for old compositors that don't use DmaBufs the way they are
supposed to be used now. There is now a whole negotiation process that
includes DmaBuf modifiers and there is also support for renegotiation in
case we fail to import DmaBufs with certain modifier. This is something
that didn't exist before and in such case, failing to import DmaBufs we
would just end up with broken screen sharing. For that reason it would
be better to use MemFD instead to make sure old compositors will work
just fine

Bug: webrtc:15029
Change-Id: Icc303504e510adc829c12feff7178ae01578a6da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298700
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Cr-Commit-Position: refs/heads/main@{#39649}
2023-03-23 07:01:20 +00:00
chromium-webrtc-autoroll
74145adab5 Roll chromium_revision d52d3a0728..aef9d0f92f (1120811:1120947)
Change log: d52d3a0728..aef9d0f92f
Full diff: d52d3a0728..aef9d0f92f

Changed dependencies
* fuchsia_vesion: version:12.20230322.1.1..version:12.20230322.3.1
* src/base: 550e63568f..45871c1984
* src/build: ae6492528c..9e9a4341dd
* src/ios: d7d777c6d0..3ae5ec2b8d
* src/testing: 757ba21a0b..53737bc7dd
* src/third_party: 64341a33d8..4fc9c8d17e
* src/third_party/androidx: ryrhsKJY8msYy8KMkwB25bMAu68qC6b3CKrKger0aywC..nQSF-N2rXShu96xnqkaU5hIWFHc1wK4GXaYJSPYczsYC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f6395b16b4..018d397758
* src/tools: eb669fff65..92fbb1449c
DEPS diff: d52d3a0728..aef9d0f92f/DEPS

No update to Clang.

BUG=None

Change-Id: Iedff945260f6e71e8e9615381caca75a2de75458
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298862
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@{#39648}
2023-03-23 02:31:58 +00:00
chromium-webrtc-autoroll
f8d03d4ca2 Roll chromium_revision 254e97f424..d52d3a0728 (1120661:1120811)
Change log: 254e97f424..d52d3a0728
Full diff: 254e97f424..d52d3a0728

Changed dependencies
* src/base: 2a1b2eec25..550e63568f
* src/build: c499da7bb0..ae6492528c
* src/buildtools: fb59b3f632..0a6c69640f
* src/buildtools/third_party/libc++/trunk: af83f5d2fa..e44019bfac
* src/ios: 8d3d6b44be..d7d777c6d0
* src/testing: ac0cf0af86..757ba21a0b
* src/third_party: 3394794299..64341a33d8
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c82a855930..f6395b16b4
* src/third_party/perfetto: a0ad54d66f..b4b873ba9c
* src/tools: 9f58dbf1e9..eb669fff65
DEPS diff: 254e97f424..d52d3a0728/DEPS

No update to Clang.

BUG=None

Change-Id: Ic7313ef83306aa37c37a28c64df88e517098581a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298860
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@{#39647}
2023-03-22 22:57:26 +00:00
Per K
7effd7657b Change visibility on target mock_network_control
This is to allow external tests to depend on it.

Bug: none
Change-Id: Ic8e2f864041d959f673e7f2c18eb563a13274dcc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298745
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39646}
2023-03-22 19:53:04 +00:00
chromium-webrtc-autoroll
f2a92f9f64 Roll chromium_revision 97b144adc4..254e97f424 (1120470:1120661)
Change log: 97b144adc4..254e97f424
Full diff: 97b144adc4..254e97f424

Changed dependencies
* fuchsia_vesion: version:12.20230321.3.1..version:12.20230322.1.1
* src/base: 22039bb79d..2a1b2eec25
* src/build: 70c1390779..c499da7bb0
* src/ios: ef842ef5d0..8d3d6b44be
* src/testing: a69814e2be..ac0cf0af86
* src/third_party: b78e410bad..3394794299
* src/third_party/androidx: 1b2_7gRLY5WVxj5lXGSEkTkPYO_QZTAIkqSyFCKt_yYC..ryrhsKJY8msYy8KMkwB25bMAu68qC6b3CKrKger0aywC
* src/third_party/perfetto: 1bb22965b0..a0ad54d66f
* src/tools: 456ed3095f..9f58dbf1e9
DEPS diff: 97b144adc4..254e97f424/DEPS

No update to Clang.

BUG=None

Change-Id: I1682e6f33ca62c0dc2d7fafc273b7a3dc24f4942
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298801
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@{#39645}
2023-03-22 18:35:16 +00:00
henrika
6bdb285e21 Adds WebRTC.DesktopCapture.Win.DirectXCursorEmbedded UMA
Logs if the mouse cursor has moved and if so if it is embedded in the
captured DXGI frame or not.

Bug: chromium:1421656
Change-Id: Ic8fa8a5a3c020ec28b04064c765b1c204accec1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298564
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39644}
2023-03-22 17:19:06 +00:00
Jeremy Leconte
b17957ac52 Use an audio file when AudioConfig::input_file_name is specified.
Change-Id: Ib4d400c8fbefc13556f9b47c62505cbb7f7c6dbc
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298741
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39643}
2023-03-22 17:08:26 +00:00
Tommi
c61eee28f3 Split up GetSctpSslRole to include an _n variant.
This allows the SslRole to be queried from the network thread which
will simplify some code paths and avoid thread hopping.

The next steps will be to remove GetSctpSslRole and only query the
DTLS role on the network thread and start combining other operations.

Bug: webrtc:11547
Change-Id: I222dc838fc5ee274a294c8d81d38b5a4ea8fea1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298302
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39642}
2023-03-22 16:47:28 +00:00
Per K
452d94047b Add mock for NetworkControllerInterface
Bug: none
Change-Id: Ibdd72011932a36348a4382caa5d0bf0ab2c02dd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298742
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39641}
2023-03-22 15:49:32 +00:00
Evan Shrubsole
a7b691499b Always post RemovePacketsForSsrc
If during shutdown the pacer has packets enqueued during pause these
packets will be posted to the pacer after the worker thread is free -
after the ssrcs should have been cleared. This fixes flakes in
picutre_id_tests.

Bug: webrtc:14985
Change-Id: Ib5547a501670fc145543df32fdc43bbc6596375f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297401
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39640}
2023-03-22 14:24:50 +00:00
chromium-webrtc-autoroll
48aa2b29db Roll chromium_revision f35f0851b0..97b144adc4 (1120331:1120470)
Change log: f35f0851b0..97b144adc4
Full diff: f35f0851b0..97b144adc4

Changed dependencies
* fuchsia_vesion: version:12.20230321.2.1..version:12.20230321.3.1
* src/base: 6d18d88e5c..22039bb79d
* src/build: 28768018cb..70c1390779
* src/ios: edf173d4d2..ef842ef5d0
* src/testing: ae19919a31..a69814e2be
* src/third_party: 9a89a2ee8c..b78e410bad
* src/third_party/androidx: Xk3zPqbvCVuTuwcSd2b97hb0LA_Jo197S1RZiE_VIAsC..1b2_7gRLY5WVxj5lXGSEkTkPYO_QZTAIkqSyFCKt_yYC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4fe34296da..c82a855930
* src/tools: eea0e24300..456ed3095f
DEPS diff: f35f0851b0..97b144adc4/DEPS

No update to Clang.

BUG=None

Change-Id: I0ecc1083d7aacd2fdd14f7bf20a1f0c71eafa259
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298760
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@{#39639}
2023-03-22 12:52:52 +00:00
Tommi
72b12a935e Add thread guard for DcSctpTransport::ready_to_send_data_
Bug: none
Change-Id: Ib141122bf449ac4e2b9f3adfb7fb6af38d18d785
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298621
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39638}
2023-03-22 12:23:27 +00:00
Danil Chapovalov
bbc926d62c Cleanup construction parameters for remote bitrate estimator helpers
Values of these parameters are always the same and thus can be hardcoded

Bug: None
Change-Id: Ie19a1c6305d503ad2c92af503006a72b7981e178
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298622
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39637}
2023-03-22 11:42:19 +00:00
Artem Titov
0ef84620b7 [DVQA] Increase default storage duration from 3 to 9 seconds
Bug: b/271542055, webrtc:14995, b/274620516
Change-Id: I2ef635db93d11e82e8221e2465f9f7c41449e4ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298720
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39636}
2023-03-22 10:46:58 +00:00
Harald Alvestrand
041ecb87f5 New PeerConnectionFactory::CreateVideoTrack with refcounted source
Bug: webrtc:15017
Change-Id: I04c794d8959583bb4cc5c3898f4175783ec49f16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249363
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39635}
2023-03-22 09:10:27 +00:00
Philipp Hancke
3e224c7fe1 Clean up TURN server limit killswitch
after the limitation to 32 TURN servers shipped in M110

BUG=webrtc:13195

Change-Id: I247e5b164188751d94eb9f4fb93aadf1dd645d2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298308
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39634}
2023-03-22 08:21:22 +00:00
Philipp Hancke
f0f435e983 Remove deprecated RTCStatsReport(int64) and timestamp_us
BUG=webrtc:14813

Change-Id: I80c2ba8f57354ef63cf2cc7b767d1f64dd0dd766
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298444
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39633}
2023-03-22 08:00:53 +00:00
webrtc-version-updater
59330974c1 Update WebRTC code version (2023-03-22T04:02:52).
Bug: None
Change-Id: I46a963194b53e85508379b9391e0c777970f2ca3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298683
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@{#39632}
2023-03-22 05:36:24 +00:00
chromium-webrtc-autoroll
f59d8ad78e Roll chromium_revision 9fa5a7fb6a..f35f0851b0 (1120027:1120331)
Change log: 9fa5a7fb6a..f35f0851b0
Full diff: 9fa5a7fb6a..f35f0851b0

Changed dependencies
* fuchsia_vesion: version:12.20230321.0.1..version:12.20230321.2.1
* src/base: e1c670e6c5..6d18d88e5c
* src/build: af6080beca..28768018cb
* src/buildtools: 88cc35b39e..fb59b3f632
* src/buildtools/third_party/libc++/trunk: 6f04403d62..af83f5d2fa
* src/ios: 54aa38ef52..edf173d4d2
* src/testing: 13ec1a129e..ae19919a31
* src/third_party: 09f0f4a9fc..9a89a2ee8c
* src/third_party/android_build_tools/manifest_merger: lC0-JZAP05FMcCXlQn9Oej4oD6ytlLkFQEnExeLuAWkC.._aoHU11YhUwqKZXVXsn5otnhI-ZVGFT7h1Z9eCcAZM0C
* src/third_party/androidx: bATXuW4Sk-cpcatZpGFRBg_j771irSGgkdiTHZLeDj4C..Xk3zPqbvCVuTuwcSd2b97hb0LA_Jo197S1RZiE_VIAsC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1eea754058..4fe34296da
* src/third_party/depot_tools: 7a8daa2f9f..479e1e9055
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/35410dede1..16e2483139
* src/third_party/perfetto: c667001f69..1bb22965b0
* src/tools: a6b7d5e7a1..eea0e24300
Removed dependency
* src/third_party/android_deps/libs/net_sf_kxml_kxml2
DEPS diff: 9fa5a7fb6a..f35f0851b0/DEPS

No update to Clang.

BUG=None

Change-Id: Ib00d7301e70e313d2421dca43e5154b7afd8fd99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298681
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@{#39631}
2023-03-22 03:03:20 +00:00
Tommi
8efaec62b1 Add thread checker to SctpSidAllocator
Also changing AllocateSid to return StreamId instead of bool.

Bug: webrtc:11547
Change-Id: I776e917300ddfdbb79e78c01ef880209ec2c5917
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298301
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39630}
2023-03-22 00:28:02 +00:00
Jianhui Dai
0a025345fe RtcEventLog: Separate LogToMemory from TaskQueue to current thread
Original implementation uses TaskQueue to async execute both `LogToMemory` and `WriteToOutput`. `LogToMemory` is invoked in high frequency, but the execution takes a very short time. It would be a bit more expensive to post on TaskQueue than execution on current thread with locking. It is because that the TaskQueue switches the thread context for execution.

This CL separates `LogToMemory` from TaskQueue to current thread, in
order to avoid frequent context switching; And periodically schedule
`WriteToOutput` to TaskQueue, not block current thread.

Link: https://webrtc-review.googlesource.com/c/src/+/283641
Bug: chromium:1288710
Change-Id: Ic78216aff16d1883b109e360a0892da3ca8f5ecb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295640
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Markus Handell <handellm@google.com>
Cr-Commit-Position: refs/heads/main@{#39629}
2023-03-21 23:07:40 +00:00
Jeremy Leconte
e798ea6371 Roll chromium_revision 598cedadf7..c3980d4b97 (1118297:1119913)
Change log: 598cedadf7..c3980d4b97
Full diff: 598cedadf7..c3980d4b97

Changed dependencies
* fuchsia_vesion: version:12.20230316.2.1..version:12.20230321.0.1
* reclient_vesion: re_client_version:0.96.2.d36a87c-gomaip..re_client_version:0.99.0.3f95625-gomaip
* src/base: a4c8f3e2ee..93e261c6e0
* src/build: f15fee7b17..af6080beca
* src/buildtools: 6f568a60b0..88cc35b39e
* src/buildtools/linux64: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4
* src/buildtools/mac: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4
* src/buildtools/reclient: re_client_version:0.96.2.d36a87c-gomaip..re_client_version:0.99.0.3f95625-gomaip
* src/buildtools/third_party/libc++/trunk: 124c7ee3fc..6f04403d62
* src/buildtools/third_party/libc++abi/trunk: de45956e5c..9643f2cf13
* src/buildtools/third_party/libunwind/trunk: 6289a2147a..29a6dda8c6
* src/buildtools/win: git_revision:fe330c0ae1ec29db30b6f830e50771a335e071fb..git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4
* src/ios: 011b39d77c..54aa38ef52
* src/testing: e3592da2ee..13ec1a129e
* src/third_party: 6776b74896..09f0f4a9fc
* src/third_party/androidx: TuQlJp14gzeobGXBJmyAM_s27lN3YwmFAiy9vOTImtcC..bATXuW4Sk-cpcatZpGFRBg_j771irSGgkdiTHZLeDj4C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d788f62f13..1eea754058
* src/third_party/depot_tools: c5b38329e6..7a8daa2f9f
* src/third_party/espresso: y8fIfH8Leo2cPm7iGCYnBxZpwOlgLv8rm2mlcmJlvGsC..5LoBT0j383h_4dXbnap7gnNQMtMjpbMJD1JaGIYNj-IC
* src/third_party/freetype/src: 7be364c6a2..4d8db130ea
* src/third_party/libvpx/source/libvpx: f7ca33c46c..394de691a0
* src/third_party/perfetto: 47c1e7fe0e..c667001f69
* src/third_party/r8: wqg46lewrSzPeyEPseXIDUvMdMjmf74eLWhGvChH6VEC..EGf7RQo3stt-vPTw69TaMGuNtnOx0Dbk1O-MBquwswYC
* src/tools: 59b278a7f6..a6b7d5e7a1
DEPS diff: 598cedadf7..c3980d4b97/DEPS

Clang version changed llvmorg-17-init-3874-g93a2fecc:llvmorg-17-init-4759-g547e3456
Details: 598cedadf7..c3980d4b97/tools/clang/scripts/update.py

BUG=None

Change-Id: I318057cc10929fdea52f2222e659867934bd8df6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298580
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Björn Terelius <terelius@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39628}
2023-03-21 19:37:45 +00:00
Tommi
9296a16f9d Remove SctpDataChannel::Init()
This is a small tweak to explicitly remove this second construction
step from SctpDataChannel (async call to OnTransportReady) and move
it over to DataChannelController, which is where OnTransportReady()
is called from otherwise.

Bug: webrtc:11547
Change-Id: Ie86fa85cbb79b405248f88b47d5920c7f163dba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297921
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39627}
2023-03-21 17:20:38 +00:00
Sergey Silkin
ebb5383fd8 Dump codec input
Add functionality for dumping encoder and decoder input to file in video codec test.

Bug: b/261160916, webrtc:14852
Change-Id: I49a84a886d87903c601cf5c35bd723b6393c2a75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298051
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39626}
2023-03-21 16:54:19 +00:00
Henrik Boström
62dc65b537 Add test that attempting HW is still possible after SW fallback.
Based on previous discussions I would have thought that this test would
fail, but it turns out that it passes. See referenced bug for context.

Bug: webrtc:15021
Change-Id: I845b48f688fb25942e3b770d50cafbf8a0bafe94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298562
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39625}
2023-03-21 15:02:34 +00:00
Per K
7efd372f02 Per default endable reading incoming packet timestamp from socket
This cl per default enable the experiment WebRTC-SCM-Timestamp but
leaves the wiring in place for now to explictly allow disabling it.

Bug: webrtc:5773, webrtc:14066
Change-Id: I6118eef73384791ab4d1377e35d36435dc4fa0e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298442
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39624}
2023-03-21 14:41:37 +00:00
Philipp Hancke
016bd7514d Make GetNegotiatedHeaderExtensions return all header extensions
so the size and order corresponds to the local capabilities.
The direction may differ.

BUG=chromium:1051821

Change-Id: Icf5312237b8ed137f822c9f7dd35f70a01d2df99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298043
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39623}
2023-03-21 14:33:41 +00:00
Danil Chapovalov
198d0d7fd5 Remove mutexes from remote bitrate estimators
They are called only by ReceivedSideCongestionController that already
ensures all access is synchronized.

Bug: None
Change-Id: I0f87e24e3fbb0bd8f6ff679fb949d2373c554fba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269300
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39622}
2023-03-21 14:17:37 +00:00
Artem Titov
6a78e93346 [PCLF] Introduce test video source and make it more controllable
Bug: b/272350185
Change-Id: I15572b7e4d0cb0ce41da676a4eedbc1e138510fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298047
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39621}
2023-03-21 14:15:24 +00:00
Jeremy Leconte
2148f8ed71 [DVQA] Change API to pause and resume all streams from a sender.
Also make it possible to pause an already paused stream by making it a no-op.

Change-Id: Id10f74a4c6464067ae63208162194f020c6470eb
Bug: b/271542055
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298202
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39620}
2023-03-21 14:05:03 +00:00
Tommi
1fabbac6b6 Update SctpTransportInternal to use RTCError.
This avoids a couple of layers of error code conversion, reduces
dependency on cricket error types and allows us to preserve error
information from dcsctp. Along the way remove SendDataResult.

Bug: none
Change-Id: I1ad18a8f0b2fb181745b19c49f36f270708720c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298305
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39619}
2023-03-21 13:57:47 +00:00
Tommi
4c842224e1 Adopt StreamId in SctpDataChannelControllerInterface
Bug: webrtc:11547
Change-Id: Iea2d706228b5a533eb7fae84613462165d7c9b54
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298300
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39618}
2023-03-21 13:45:51 +00:00
Jonas Oreland
122d777943 Add new stun attribute GOOG_DELTA_SYNC_REQ
Assigned by IANA: https://www.iana.org/assignments/stun-parameters/stun-parameters.xhtml

Bug: webrtc:0
Change-Id: Ie910e112afe33f3dbf7f2a221edc96af5ac7b139
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298560
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39617}
2023-03-21 13:28:43 +00:00
Tommi
3da04a93cd Allow SequenceChecker to be initialized detached.
The motivation for this is to not have to implement this pattern:

foo.h:

class Foo {
 public:
  Foo();
 private:
  SequenceChecker checker_;
};

foo.cc:

Foo::Foo() {
  checker_.Detach();
}

And instead be able to do this inline in the .h file:

class Foo {
 public:
  Foo();
 private:
  SequenceChecker checker_{SequenceChecker::kDetached};
};

Bug: none
Change-Id: Idd7ca82d15c2f77f3aaccf26f1943a49f4b40661
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298445
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39616}
2023-03-21 12:34:15 +00:00
Henrik Boström
00029fe97e Reduce flakiness of PeerConnectionSimulcastWithMediaFlowTests.
Prior to this CL we would EXPECT_TRUE_WAIT until
HasOutboundRtpExpectedResolutions() confirmed that we achieved the
maximum expected resolution on all simulcast layers. This was meant to
catch bugs in case the wrong layers were configured with the wrong
layer resolutions.

The problem is that if CPU or BW adaptation kicks in, all layers get
downscaled by some factor and the test may not always recover in time,
e.g. if running on slow slow bots.

This CL relaxes the expectation only to fail if the resolution
exceeds what we expect, not if they are smaller. This is not as air
tight but it should still catch most bugs of interest and reduce
flakiness.

This was reported in comment https://crbug.com/webrtc/15018#c14 but
note that this CL does not attempt to fix the other ASAN issue.

Bug: webrtc:15018
Change-Id: I3305bdade5d1626b09aa5c67217bdedb22cdd876
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298563
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39615}
2023-03-21 12:18:02 +00:00
Åsa Persson
014b244fa0 Keep SVC max bitrate if number of spatial layers are reduced.
Bug: chromium:1423361
Change-Id: I02bcb11f2ac456db79ed835dd38d4d7621a49608
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298446
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39614}
2023-03-21 12:00:17 +00:00
Sergey Silkin
aa17f2f0a9 Add Initialize() to Encoder/Decoder API in video codec tester
Initialization of Android HW codecs takes hundreds milliseconds. Exclude this time from frame processing time of first frame by initializing codecs before starting encoding/decoding.

Bug: b/261160916, webrtc:14852
Change-Id: I9ec84c6b12c1d9821b59965cf521170224066563
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298304
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39613}
2023-03-21 08:04:48 +00:00
webrtc-version-updater
1a5ff94b05 Update WebRTC code version (2023-03-21T04:02:25).
Bug: None
Change-Id: Ie0ab3bbe2e1c6e26afb2591134e2b62b0701e840
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298520
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@{#39612}
2023-03-21 05:33:55 +00:00
Artem Titov
649c8186c7 [DVQA] Make harmonic fps precomputed
Also add assertion on it for some DVQA tests

Bug: webrtc:14995, b/271542055
Change-Id: Ie35a85832b6d860885366fb613700bdef3db38f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297820
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39611}
2023-03-20 20:00:19 +00:00
Danil Chapovalov
a2d85e4565 Use absl::string_view type as parameter for RTCError message
Bug: webrtc:13579
Change-Id: Ia9f90e6c3b008fc614d378cae4c407becfc597c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298447
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39610}
2023-03-20 18:16:10 +00:00
Artem Titov
5afb0146b5 [DVQA] Introduce FramesStorage to centralize frames management
Bug: b/271542055, webrtc:14995
Change-Id: I881801b6f79e940404ab80ac28db8df2a04dcaef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298048
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39609}
2023-03-20 15:02:37 +00:00
Tommi
e9aa8675d7 Remove SctpDataChannelControllerInterface::ConnectDataChannel
Bug: webrtc:11547
Change-Id: I389cb641746ef892106c22fd46b8d70218b99f58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297421
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39608}
2023-03-20 14:57:44 +00:00
philipel
d20b1cf215 Encoder/Decoder for dependecy descriptor in RTC event log.
Bug: webrtc:14801
Change-Id: I3eb1884f4f7e52cc66fab12251b5a8efae5a1ace
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296300
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39607}
2023-03-20 14:10:53 +00:00
Danil Chapovalov
6bfc3df834 Rewrite fuzzer for the ReceiveSideConstestionController
Rename fuzzer to match name of the object under test
Test is through more modern api
Rewrite fuzzing to better match real input traffic

Bug: webrtc:14859
Change-Id: I217658b64dd2211b06540155f201a9af3d04dedb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297400
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39606}
2023-03-20 13:16:49 +00:00
Henrik Boström
75ea06f0fa Revert "Ship ability to opt-in to VP9/AV1 simulcast."
This reverts commit 75990b9a8f98ea2d597a31472fb778ec4d55f698.

Reason for revert: Breaks downstream, a use case of having three VP9
encodings, scalability mode only specified on the first layer
(L2T2_KEY) and the other two layers not having a scalability mode but
also being active=false appears to trigger a DCHECK in
call/rtp_video_sender.cc:501. More investigation needed

Original change's description:
> Ship ability to opt-in to VP9/AV1 simulcast.
>
> With this unflagging, an app can opt-in to simulcast when using multiple
> encodings by specifying RTCRtpEncodingParameters.scalabilityMode. This
> ensures backwards-compat with apps relying on 3 encodings to mean SVC
> who traditionally have not specified scalabilityMode.
>
> It fixes the spec/API bug of asking for simulcast and not getting
> simulcast. The field trial exists only as a kill-switch with a TODO to
> remove it.
>
> This ships initial support, however note that the VP9/AV1 simulcast uses
> SimulcastRateAllocator (just like VP8/H264 simulcast). This rate
> allocator uses more kbps than SvcRateAllocator. This should be revisited
> to avoid significant higher bitrates, for example when comparing VP9
> simulcast to VP9 SVC.
>
> Shipping the ability for apps to opt-in makes it easier to exercise
> these new code paths and allows initial feedback from developers, but
> due to the high bitrate (= same bitrate as VP8/H264 simulcast today)
> many apps may find that VP9 SVC is still more beneficial for BW reasons.
>
> Bug: webrtc:14884, webrtc:15005
> Change-Id: I748aae1adb47acc8a6b79b5852cff6aa47a46f5d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298046
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Evan Shrubsole <eshr@google.com>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39601}

Bug: webrtc:14884, webrtc:15005
Change-Id: Ic8f77e6a2971f493d6cd8c23faecd435058a8847
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298440
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39605}
2023-03-20 12:47:21 +00:00
Tommi
934a88a460 Make verbose log statements in sctp_data_channel DLOGs
These log statements may have been useful when the initial code was
being written but now it's essentially dead code except for when
debugging while working on the code (and then, enabling the log
statements is simple).

Low-Coverage-Reason: CL modifies VERBOSE log lines that aren't currently covered.
Bug: none
Change-Id: Id9a45fe53574d39ff3feba08c596e0ac4ce294fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297760
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39604}
2023-03-20 11:24:42 +00:00