40319 Commits

Author SHA1 Message Date
Jakob Ivarsson
0873faae00 Remove smart flushing experiment.
It did not result in big quality improvements.

Bug: webrtc:12201
Change-Id: I9728469a388ee179d6069af8521bfc5571870bd7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325533
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41087}
2023-11-06 15:38:04 +00:00
Mirko Bonadei
9272771418 Roll chromium_revision c89d7a6d7f..1204aeca4d (1216881:1220240)
Change log: c89d7a6d7f..1204aeca4d
Full diff: c89d7a6d7f..1204aeca4d

Changed dependencies
* fuchsia_version: version:15.20231022.3.1..version:16.20231030.2.1
* reclient_version: re_client_version:0.117.1.21520c6-gomaip..re_client_version:0.118.1.ae3c3be-gomaip
* src/base: 1546e3adb6..ae6082baab
* src/build: a21fc60651..65cd2ac234
* src/buildtools: 6f834e2039..e1fa8831f1
* src/buildtools/reclient: re_client_version:0.117.1.21520c6-gomaip..re_client_version:0.118.1.ae3c3be-gomaip
* src/ios: 5139a7efd4..9a13e5ba21
* src/testing: 46366a7e4d..da5a47c57c
* src/third_party: 64d9ec3158..3ff0a6225a
* src/third_party/android_build_tools/manifest_merger: V90mMwKNdDvQaZ-2eMjmdkHQdGrDn3w4DxA-fGMA8y0C..doEA4zEMMRwIiYmB3veT2pt-7z3UasxhbTo279pDV40C
* src/third_party/android_deps/libs/com_google_auto_value_auto_value_annotations: version:2@1.10.1.cr1..version:2@1.10.4.cr1
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotation: version:2@2.11.0.cr1..version:2@2.19.1.cr1
* src/third_party/android_deps/libs/com_google_guava_guava: version:2@31.1-jre.cr1..version:2@32.1.3-jre.cr1
* src/third_party/android_deps/libs/com_google_guava_guava_android: version:2@31.1-android.cr1..version:2@32.1.3-android.cr1
* src/third_party/android_deps/libs/com_google_j2objc_j2objc_annotations: version:2@1.3.cr1..version:2@2.8.cr1
* src/third_party/android_deps/libs/org_bouncycastle_bcprov_jdk18on: version:2@1.72.cr1..version:2@1.76.cr1
* src/third_party/android_deps/libs/org_checkerframework_checker_qual: version:2@3.25.0.cr1..version:2@3.37.0.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm: version:2@9.5.cr1..version:2@9.6.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_analysis: version:2@9.5.cr1..version:2@9.6.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_commons: version:2@9.5.cr1..version:2@9.6.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_tree: version:2@9.5.cr1..version:2@9.6.cr1
* src/third_party/android_deps/libs/org_ow2_asm_asm_util: version:2@9.5.cr1..version:2@9.6.cr1
* src/third_party/android_deps/libs/org_robolectric_annotations: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_junit: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_nativeruntime: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_nativeruntime_dist_compat: version:2@1.0.1.cr1..version:2@1.0.2.cr1
* src/third_party/android_deps/libs/org_robolectric_pluginapi: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_plugins_maven_dependency_resolver: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_resources: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_robolectric: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_sandbox: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_shadowapi: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_shadows_framework: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_utils: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/android_deps/libs/org_robolectric_utils_reflector: version:2@4.10.3.cr1..version:2@4.11-beta-2.cr1
* src/third_party/androidx: F-habe4EUUBiRQmzyGAB5oOUtnTNQkhvpoUe4vVZuegC..jYnZMA1q1qNqyYpVcsoN14-OPUhM_wdPIFCxcGj8zakC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/c38dc29860..a96e7377fc
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/47efdb4b14..f3e882d631
* src/third_party/depot_tools: 9f3b33a275..b4e466e610
* src/third_party/freetype/src: 55d0287cfc..6d6607b8b3
* src/third_party/kotlin_stdlib: ZwEhbBOU3zJ8iFzea34zthR0d1a1LlfSPjfsblxKbSgC..UHG1TEvmBMX93y7dRSaoalB3LBMY2O5-OOvlFUByl5wC
* src/third_party/kotlinc/current: 6Hdj5fkzcomS1cNTWnXoeTZj0wvCG4zdyLtZ23eK-U4C..qeRCtEA1uhs8D1wL8wj0UZllCoScbcA6QrEQu9g4NGoC
* src/third_party/libc++/src: a429c26ae2..d781e6e1b8
* src/third_party/libc++abi/src: 2ca9f38714..0226cb1cdf
* src/third_party/libunwind/src: 7686b5d38c..69b8c64697
* src/third_party/perfetto: cefa83de08..eaa388ea81
* src/third_party/r8: jj098_uPn3EKB7YisD1VAQXkZWNtSa6Qxz3vpMQkPR4C..LSKbogNru-rwoTlrVtJniI4WT8_ZQbcI8QyWQJfwHXoC
* src/third_party/turbine: VRQ9UNP0lvjDXJ4DhORCj66go0TLg5uuGnHWkNN_hgUC..rg7X3-H8Yd0enT9HWZY9KwEh1ciZBP0jkla5_rGW2pUC
* src/tools: d7f60c3fd2..97c493c880
* src/tools/luci-go: git_revision:924cfd2323a9192361b765f81fffc135026c1fee..git_revision:540222a3d0b11c1370539a1f698643113a0ee029
* src/tools/luci-go: git_revision:924cfd2323a9192361b765f81fffc135026c1fee..git_revision:540222a3d0b11c1370539a1f698643113a0ee029
Added dependency
* src/third_party/android_deps/libs/org_robolectric_shadows_versioning
Removed dependency
* src/third_party/android_deps/libs/com_google_guava_listenablefuture
DEPS diff: c89d7a6d7f..1204aeca4d/DEPS

No update to Clang.

BUG=None

Change-Id: I37f1fdcc2b2ecfe2d0cb655c65dd666049b039ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326072
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41086}
2023-11-06 15:12:45 +00:00
Mirko Bonadei
24f1ff77e5 Add third_party/re2/src to DEPS.
Bug: b/309389865
Change-Id: Idc565340a2f095b243bd8f7c6c1407a111443d0c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326181
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#41085}
2023-11-06 13:08:46 +00:00
Mirko Bonadei
2bb48727a0 Add third_party/fuzztest/src to DEPS.
Bug: b/309389865
Change-Id: I290d09bed28591abb645739b1e916313abf9240e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326180
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41084}
2023-11-06 11:29:31 +00:00
Harald Alvestrand
99ea7c3eaa Use pass-by-value in delayed scheduling of OnSentPacket
The change in the test failed to trigger an error on msan, but making
the change anyway out of an abundance of caution.

Bug: chromium:1496240
Change-Id: Ifa1b632f4e9ddb413f0eb23aba3f5b321b287b06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326080
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41083}
2023-11-06 09:52:43 +00:00
Philipp Hancke
7fbcc8cef7 Rename PlanB helper function in tests
which is not doing anything specific to plan-b.

BUG=None

Change-Id: Ic214b10a9c3021a8ca93601453d6eb42b84f2d84
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325529
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41082}
2023-11-06 07:08:36 +00:00
webrtc-version-updater
386873b7cc Update WebRTC code version (2023-11-05T04:02:21).
Bug: None
Change-Id: I1d00f1d24eeaabb18c27e1304acee2765a5cf8b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326051
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@{#41081}
2023-11-05 05:37:33 +00:00
webrtc-version-updater
37df1c07b2 Update WebRTC code version (2023-11-04T04:12:04).
Bug: None
Change-Id: I22d43f0d5657fdef1c8845756ba260a5affc0d6d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325985
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@{#41080}
2023-11-04 05:48:53 +00:00
henrika
4be5927dc7 Reduces rate at which TryGetNextFrame returns NULL for WGC
This CL is a follow-up of work done in
https://webrtc-review.googlesource.com/c/src/+/323882 where the goal
was to reduce the amount of FrameDropped error logs in
WebRTC.DesktopCapture.Win.WgcCaptureSessionGetFrameResult.

The previous work avoids FrameDropped logs for a minimized window
being captured with WGC but we still se a large amount of these error
(or rather warning) logs. See [1] which comes from Canary.

This CL does two different things to improve the situation:

1) It adds kFramePoolEmpty to the existing
GetFrameResult::kFrameDropped enum to point out that the warning
comes from the frame pool not being able to return a valid new frame.
It also makes it more clear that it does not cause an outer/final
error as WgcCapturerResult::kFrameDropped. We still keep the inner
GetFrameResult::kFrameDropped but it is only produced when the frame
pool returns NULL and our external queue is empty. Hence, a real
frame-drop error. Note that, it is still easy to provoke
kFramePoolEmpty simply by asking for a high resolution at a high rate.
The example in [2] comes from a 4K screen @30fps. Hence, we have not
fixed anything yet.

2) It also increases the size of the internal frame pool from 1 to 2.
This does lead to an almost zero rate of kFramePoolEmpt
warnings at the expense of a slightly reduced max capture rate. BUT,
with 1 as size, we can "see" a higher max capture rate but it is not
a true rate since it comes with a high rate of kFramePoolEmpty
errors. Hence, we "emulate" a high capture rate by simply feeding
copies of the last frame that we had stored in the external queue.
Using 2 leads to a more "true" rate of what we actually can capture
in terms of *new* frames and also a substantially lower rate of
kFramePoolEmpty.
In addition, with 1 as size, if we ask at a too high rate and provide
a copy of the last frame, our CPU adaptation will not reduce its rate
since we think that things are OK when it is actually not.

Also, the samples in [3] and [4] both use 2 as numberOfBuffers
as well.

Let me also mention that with this small change, I a have not been
able to provoke any kFramePoolEmpty error messages.

Finally, geDisplayMedia can be called called with constraints where
min and max framerate is defined. The mechanism which maintains the
min rate is implemented via the RequestRefreshFrame API and it can
be sent to the source (DesktopCaptureDevice) back to back with a
previous timer interrupt for a capture request. Without this change,
these RRFs were also a source of a large amount of
kFramePoolEmpty error logs. With 2 buffers instead; this is no
longer the case.

[1] https://screenshot.googleplex.com/7sfv6HdGXLwyxdj
[2] https://paste.googleplex.com/4795680001359872
[3] https://github.com/robmikh/Win32CaptureSample/blob/master/Win32CaptureSample/SimpleCapture.cpp
[4] https://learn.microsoft.com/en-us/windows/uwp/audio-video-camera/screen-capture#add-the-screen-capture-capability

Bug: chromium:1314868
Change-Id: I73b823b31a993fd2cd6e007b212826dfe1a80012
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325521
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#41079}
2023-11-03 18:05:17 +00:00
Harald Alvestrand
2931ddd2e9 Fire SentPacket in a PostTask when recursive
Speculative fix; test included.

Bug: chromium:1496240
Change-Id: I9cb8953653e9d45adbc8694b67b0d5399cf9fde9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326020
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41078}
2023-11-03 16:41:34 +00:00
Harald Alvestrand
97f3fb08a0 Assert some pointers that might be flaky.
Speculative fix; replaces nullpointer following with test failure.

Bug: b/307520538
Change-Id: I294d5747c852a8cde43a0acad973dca12712c69e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326000
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41077}
2023-11-03 14:47:46 +00:00
Danil Chapovalov
4fd1cc70da Add EnableMediaWithDefaultsAndTimeController
To replace CreateTimeControllerBasedCallFactory

Update webrtc tests to use this new function

Bug: webrtc:15574
Change-Id: I2b74cd930ecc4f72dd1e7aa853764ca298b66ad8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325527
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41076}
2023-11-03 13:26:32 +00:00
Danil Chapovalov
c63120a092 Migrate PeerConnection tests to EnableMedia api
Add test helper to inject fake media engine for those tests.

Bug: webrtc:15574
Change-Id: Iae4282d2d3b9804548ccadf58797f39508f07c6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325880
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41075}
2023-11-03 12:32:14 +00:00
Victor Boivie
37f5172f6e dcsctp: Use TimeDelta in RetransmissionTimeout
It's still doing the calculations in milliseconds, which will be updated
in follow-up CLs.

Bug: webrtc:15593
Change-Id: I7fb93d4687d58f409db182db40db720d82feb3dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325524
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41074}
2023-11-03 11:56:18 +00:00
Philipp Hancke
d2098933e1 Expose audio mimeType for insertable streams
Split from
  https://webrtc-review.googlesource.com/c/src/+/318283
to reduce CL size. Takes a different and (hopefully) simpler
approach.

BUG=webrtc:15579

Change-Id: I8517ffbeb0f0a76db80e3e367de727fb6976211d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325023
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#41073}
2023-11-03 09:49:12 +00:00
Harald Alvestrand
23cecc1d43 Move scoped_refptr from rtc:: to webrtc::
leaving a compatible alias.

Bug: webrtc:15622
Change-Id: Ie25d87fa372cc71eaf52882454f4dd24c7c33789
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325462
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41072}
2023-11-03 07:36:07 +00:00
Markus Handell
414ffac4b7 Add RTC_EXPORT for Voucher::ScopedSetter and Voucher::Attachment.
Bug: chromium:1498378
Change-Id: I606079411c71ac46cc5d261a86f6a11c473d1278
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325960
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41071}
2023-11-03 07:25:10 +00:00
webrtc-version-updater
c68da75d04 Update WebRTC code version (2023-11-03T04:11:45).
Bug: None
Change-Id: Ia946554696121721295015253ef742d960eed71b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325844
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@{#41070}
2023-11-03 05:33:19 +00:00
Danil Chapovalov
779c9dede9 Migrate CreatePeerConnectionFactory implementation to EnableMedia api
Bug: webrtc:15574
Change-Id: I2e109a62a9069f37a580fa64cacdd5a86a293203
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325860
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41069}
2023-11-02 23:01:31 +00:00
Danil Chapovalov
b29ff000da Migrate webrtc_link_test to include EnableMedia api
Bug: webrtc:15574
Change-Id: Ic0cbf0032587560fbb206c029d5f7692effe39a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325900
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41068}
2023-11-02 22:45:40 +00:00
Harald Alvestrand
78f905e5cc Move some users to use webrtc::RefCountInterface
Bug: webrtc:15622
Change-Id: I2d4c20c726af1a052e161b7689a73d1e5e3eb191
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325526
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41067}
2023-11-02 14:45:57 +00:00
Danil Chapovalov
9aa115358e Delete CreatePeerConnectionFactory variant that accepts unowned audio frame processor
Bug: webrtc:15111
Change-Id: I44d8262f0e0a96f3b4d9d53641ec291d35a32579
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325263
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@google.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41066}
2023-11-02 14:28:47 +00:00
Danil Chapovalov
7e21b0ca9d Migrage objc sdk and examples to EnableMedia api
Bug: webrtc:15574
Change-Id: Iba5c33511eb73bb1c1ec92b6d20c6f20e2296137
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325531
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41065}
2023-11-02 13:55:02 +00:00
Danil Chapovalov
166111da62 Migrate PeerConnectionIntegrationWrapper to EnableMedia api
Bug: webrtc:15574
Change-Id: I164916b6ba9d29519660b119ed38580c478ea7f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325528
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41064}
2023-11-02 13:33:18 +00:00
webrtc-version-updater
a6ce338a2c Update WebRTC code version (2023-11-02T04:03:05).
Bug: None
Change-Id: Ib74f6ec0f8d33c910ba67a7261ac5dda76e3cee0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325548
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@{#41063}
2023-11-02 05:51:56 +00:00
Victor Boivie
b78e6a9305 dcsctp: Use TimeDelta in TX path
This commit replaces the internal use of DurationMs, with millisecond
precision, to webrtc::TimeDelta, which uses microsecond precision.

This is just a refactoring. The only change to the public API is
convenience methods to convert between DurationMs and webrtc::TimeDelta.

Bug: webrtc:15593
Change-Id: Ida861bf585c716be5f898d0e7ef98da2c15268b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325402
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41062}
2023-11-01 16:17:13 +00:00
Markus Handell
8039cdbe48 Measure wall clock time of capture and encode processing.
(NOTE: This and dependent CLs will be reverted in a few days after
data collection from the field is complete.)

This change introduces a new task queue concept, Voucher. They
are associated with a currently running task tree. Whenever
tasks are posted, the current voucher is inherited and set as
current in the new task.

The voucher exists for as long as there are direct and indirect
tasks running that descend from the task where the voucher was
created.

Vouchers aggregate application-specific attachments, which perform
logic unrelated to Voucher progression. This particular change adds
an attachment that measures time from capture to all encode operations
complete, and places it into the WebRTC.Video.CaptureToSendTimeMs UMA.

An accompanying Chrome change crrev.com/c/4992282 ensures survival of
vouchers across certain Mojo IPC.

Bug: chromium:1498378
Change-Id: I2a27800a4e5504f219d8b9d33c56a48904cf6dde
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325400
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41061}
2023-11-01 16:10:17 +00:00
Philipp Hancke
4f4ae8a8f9 Remove templated fmtp SDP helper
and modernize surrounding code.

BUG=webrtc:15214

Change-Id: I2cc9710d4bb4be52469116d7f80ac6ef57116e69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325186
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41060}
2023-11-01 13:00:21 +00:00
Danil Chapovalov
554f7db01c Add EnableMediaWithDefaults to replace SetMediaEngineDefaults
Update most of the webrtc tests to use EnableMediaWithDefaults instead of SetMediaEngineDefaults

Bug: webrtc:15574
Change-Id: I489a09e4ea3479dc26829ee0c1235e67bcbca7c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325485
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41059}
2023-11-01 11:47:59 +00:00
Björn Terelius
efeeba0864 Try removing RTC_PUSH_IGNORING_WUNDEF() around proto includes
Bug: webrtc:15623
Change-Id: Ia184993769f74d51e68a5a536d5fdde26890bcfd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325481
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41058}
2023-11-01 08:21:05 +00:00
webrtc-version-updater
766e658665 Update WebRTC code version (2023-11-01T04:11:40).
Bug: None
Change-Id: I82a90c317b316182e18b2c78cb04f1c95ed7e49d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325621
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@{#41057}
2023-11-01 05:17:02 +00:00
Diep Bui
7d1693f1c5 Do not allow estimate to increase above the estimate when HOLD started.
To ensure padding, we increase 1 bit instead of 1kbps to avoid that 1kbps adds up over time.
Not have unit test for this, but did manual/hamrit tests many times.

Bug: webrtc:12707
Change-Id: I9b3160ab1808cb3a21ff0609446359a4ec3a4949
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325520
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41056}
2023-11-01 01:30:32 +00:00
Danil Chapovalov
93214073f1 Mark EnableMedia with RTC_EXPORT
Bug: webrtc:15574
Change-Id: I324f9694bfe41fa9831a24eb4e3c4373b43a9cbb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325523
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41055}
2023-10-31 22:15:21 +00:00
Mirko Bonadei
d7fb7e4a5f Enable H265 on Android bots.
Bug: webrtc:15620
Change-Id: Ia82d149b3d7b403d08f8c21c13f4bea3935d4581
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325482
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#41054}
2023-10-31 19:48:24 +00:00
philipel
3ee8117856 H265 build fix for Android.
Build fix for H265 on Android so that https://webrtc-review.googlesource.com/c/src/+/325482 can land.

gn args:
target_os = "android"
proprietary_codecs = true

Bug: webrtc:15620
Change-Id: I8a134afbc50137ac17ce9a4a57d68dd3f3c6d52f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325483
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41053}
2023-10-31 16:21:02 +00:00
Diep Bui
cf2fe18daa Use acked bitrate as a candidate if padding is sent.
Bug: webrtc:12707
Change-Id: Ie824bdef09e685d0a4810177cbe5af57e699ad84
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325480
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41052}
2023-10-31 16:11:43 +00:00
henrika
86f09ae3f6 Fixes the OnFrameToEncode probe
The OnFrameToEncode probe had no END in passthrough mode and it
resulted in infinitely long OnFrameToEncode TRACE events.

We now exclude the probes altogether in passthrough mode.

Bug: webrtc:15456
Change-Id: Ia96a5d2b1f5b5470527e904a3ab07de5aa712ca4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325401
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41051}
2023-10-31 15:50:38 +00:00
Harald Alvestrand
e8a2b3c834 Move all api/ files to use webrtc::RefCountInterface
instead of rtc::RefCountInterface

Bug: webrtc:15622
Change-Id: I085660a097a019c7aa58a7e3f0aceeedd9fcc8c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325460
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41050}
2023-10-31 15:45:12 +00:00
Danil Chapovalov
082cb56ee7 Introduce new way to enable media in PeerConnectionFactory
instead of requiring to pass in call_factory and media_engine
webrtc users should set media_factory member and media dependencies into PeerConnectionFactoryDependencies

Bug: webrtc:15574
Change-Id: I2dc584fe7afa41c9f170bdc51533396155cdcb06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325320
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41049}
2023-10-31 14:31:28 +00:00
Harald Alvestrand
d6bac61b64 Move RefCountInterface to api/ and webrtc: namespace
This CL just moves the definition and adds a forward.
Actually using the new definition is left for later CLs.

Bug: webrtc:15622
Change-Id: I6d97ef45b98f9eb193c59dd7f8a89c99cfe0ba9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325381
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41048}
2023-10-31 14:02:50 +00:00
Diep Bui
9682f4be7d Reset loss based BWE on route change.
The change is under field trial use_in_start_phase.

Bug: webrtc:12707
Change-Id: I2ba8245c5d126b3c8a2e54b826853d98aad6e4f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325184
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41047}
2023-10-31 11:50:07 +00:00
Diep Bui
e920073a68 Ensure that loss based BWE can switch to kIncreasing state when it wants to increase.
Increasing BWE by 1kbps should be safe/no-op in practice, and it ensures that padding in kIncreasing state will be triggered.

Bug: webrtc:12707
Change-Id: I82493d07a80abd60c93d9cff74baf0a55e77f2b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325286
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41046}
2023-10-31 11:46:43 +00:00
Victor Boivie
51b93a5417 dcsctp: Simplify interface for unchanged timeout
When a timer expires, it can optionally return a new expiration value.
Clearly, that value can't be zero, as that would make it expire
immediately again.

To simplify the interface, and make it easier to migrate to
rtc::TimeDelta, change it from an optional value to an always-present
value that - if zero - means that the expiration time should be
unchanged.

This is just an internal refactoring, and not part of any external
interface.

Bug: webrtc:15593
Change-Id: I6e7010d2dbe774ccb260e14fd6b9861c319e2411
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325281
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41045}
2023-10-31 09:44:39 +00:00
Magnus Jedvert
783f1d850e Remove excessive logging in EglRenderer
Bug: None
Change-Id: I26f842395fc36c41de0b791f93a61120f07c9ac9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325380
Reviewed-by: Fabian Bergmark <fabianbergmark@google.com>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41044}
2023-10-31 09:08:40 +00:00
webrtc-version-updater
56d45b35f1 Update WebRTC code version (2023-10-31T04:03:54).
Bug: None
Change-Id: I5b68da938019d50da14673e5e3eeed29dd0a68bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325360
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@{#41043}
2023-10-31 05:31:54 +00:00
Mirko Bonadei
507f1cc327 Ignore .binarypb files.
No-Try: True
Bug: None
Change-Id: If675b0e8e896250cefa7c593d7a684d94b1871d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325284
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41042}
2023-10-30 14:56:36 +00:00
Tommi
c3b7a50720 Use webrtc::TaskQueueBase type instead of rtc::Thread
...for signaling and worker thread members in BaseChannel classes.

Bug: webrtc:15099
Change-Id: I83611ed2564e143aca19d0f12ce060b77eb9d2a7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325260
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41041}
2023-10-30 14:43:46 +00:00
Victor Boivie
f3e9db9e17 dcsctp: Use InfiniteDuration for no max duration
Before this change, a timer could have an optional max duration. Either
that value was present, and that limited the max duration of the timer,
or it was absl::nullopt, which represented "no limit".

To simplify the interface, this CL makes that value "not optional" by
having it always present. The previous "no limit" is now represented by
DurationMs::InfiniteDuration.

This is just a refactoring of internal interfaces - public interfaces
are left untouched.

Bug: webrtc:15593
Change-Id: I80df1d9b2f4d208411ce6cb5045db0a57865e3b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325280
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41040}
2023-10-30 13:43:07 +00:00
Harald Alvestrand
e677c7937e Recommend rtc::StringBuilder rather than +
Bug: none
Change-Id: Ib6d5d582b1c1c5032ba5c388e47963784db2b6b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325282
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41039}
2023-10-30 13:38:38 +00:00
chromium-webrtc-autoroll
5ab1ab4eda Roll chromium_revision 92c06a0574..c89d7a6d7f (1212194:1216881)
Change log: 92c06a0574..c89d7a6d7f
Full diff: 92c06a0574..c89d7a6d7f

Changed dependencies
* fuchsia_version: version:15.20231015.1.1..version:15.20231022.3.1
* reclient_version: re_client_version:0.116.1.9128bc4-gomaip..re_client_version:0.117.1.21520c6-gomaip
* src/base: 70b48a4849..1546e3adb6
* src/build: d1c8d9f9cc..a21fc60651
* src/buildtools: f2b9d057fb..6f834e2039
* src/buildtools/linux64: git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53..git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b
* src/buildtools/mac: git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53..git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b
* src/buildtools/reclient: re_client_version:0.116.1.9128bc4-gomaip..re_client_version:0.117.1.21520c6-gomaip
* src/buildtools/win: git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53..git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b
* src/ios: 9c037a4653..5139a7efd4
* src/testing: 1cd69b2dbf..46366a7e4d
* src/third_party: b3eca10267..64d9ec3158
* src/third_party/android_build_tools/manifest_merger: f91o-aOAEitXaUBozBpROZfvZOxQOB9aqPJGduMwoNYC..V90mMwKNdDvQaZ-2eMjmdkHQdGrDn3w4DxA-fGMA8y0C
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotations: version:2@2.18.0.cr1..version:2@2.23.0.cr1
* src/third_party/androidx: 96u2eitVGdsNUZ0Qhe7boO2KLmjPi7R8D8gI7_o7lRAC..F-habe4EUUBiRQmzyGAB5oOUtnTNQkhvpoUe4vVZuegC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6d3db84c47..c38dc29860
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f496845cb9..47efdb4b14
* src/third_party/depot_tools: 8f761f5795..9f3b33a275
* src/third_party/freetype/src: 4e61303a3b..55d0287cfc
* src/third_party/jdk: 0yjD6s5XYtcGAQoObIys7xs2ThkudwxJwS-2ZNP0SFEC..tUJrCBvDNDE9jFvgkuOwX8tU6oCWT8CtI2_JxpGlTJIC
* src/third_party/kotlin_stdlib: QwS-YZL_N4g1SjI1Ngely1WPNxLh-kfYpFZhKaEXGawC..ZwEhbBOU3zJ8iFzea34zthR0d1a1LlfSPjfsblxKbSgC
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/11693fd86d..1dbe1c7fae
* src/third_party/libc++/src: 8d4b8a60c2..a429c26ae2
* src/third_party/libc++abi/src: cbc5f2b0cd..2ca9f38714
* src/third_party/libjpeg_turbo: 30bdb85e30..9b894306ec
* src/third_party/libunwind/src: 11d9f3e055..7686b5d38c
* src/third_party/libvpx/source/libvpx: 3fbd1dca6a..424723dc02
* src/third_party/perfetto: a4f0a922c3..cefa83de08
* src/third_party/r8: EJBvY8okEtL8rBTKcVoAbusYIpZD8wRuqoo-LWfKz_EC..jj098_uPn3EKB7YisD1VAQXkZWNtSa6Qxz3vpMQkPR4C
* src/tools: 89b4394811..d7f60c3fd2
Removed dependency
* src/third_party/android_deps/libs/org_robolectric_shadows_playservices
DEPS diff: 92c06a0574..c89d7a6d7f/DEPS

Clang version changed llvmorg-18-init-7785-geef35c28:llvmorg-18-init-9505-g10664813
Details: 92c06a0574..c89d7a6d7f/tools/clang/scripts/update.py

BUG=None

Change-Id: I54e93d836790d24609a579cb78f21bcb1adc96b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325203
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@{#41038}
2023-10-30 13:28:32 +00:00