40329 Commits

Author SHA1 Message Date
Markus Handell
03bc3a0fa6 VideoStreamEncoder: exclude screencast from capture time measurement.
This CL avoids measurement for screencast encoding work. The reason is
screencast can cling on to and re-encode old video frames for which
webrtc::VideoFrame::reference_time() is unchanged.

Bug: chromium:1498378
Change-Id: I5bf79d29ef7f57ddff2622cbb6c3436480bd16ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326103
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41097}
2023-11-07 14:14:56 +00:00
Per K
03457f6891 Remove unused Connection::SignalReadPacket
Bug: webrtc:11943
Change-Id: I44bbc023a52c9a7499a4d66db14037180f075b30
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326102
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41096}
2023-11-07 11:25:12 +00:00
Jakob Ivarsson
e925db88c1 Make stats member of packet buffer.
Bug: none
Change-Id: Ide88e895ea27fdfe5c68aa45295df45bf72bc292
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325532
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41095}
2023-11-07 10:19:25 +00:00
Linus Nilsson
bd523afd3a Add unit test to RenderSynchronizer
Bug: b/307672498
Change-Id: Ia50f514ff9ecbd273953fc1eab55340b75728a4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325185
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Zoé Lepaul <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41094}
2023-11-07 09:58:37 +00:00
Philipp Hancke
7946be7429 Refactor audio/video offer/answer creation helpers
BUG=webrtc:15214

Change-Id: I35dcac465221760e54b09bc6c5e4126df4193289
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326141
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41093}
2023-11-07 06:23:26 +00:00
webrtc-version-updater
5dbfe9621a Update WebRTC code version (2023-11-07T04:11:54).
Bug: None
Change-Id: Icd9a8ca5b6cf9c419e73bb839bd9a0e15675a13e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326221
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@{#41092}
2023-11-07 05:59:57 +00:00
chromium-webrtc-autoroll
eba274a63b Roll chromium_revision d51ff9503d..15aec93e66 (1220376:1220619)
Change log: d51ff9503d..15aec93e66
Full diff: d51ff9503d..15aec93e66

Changed dependencies
* src/base: 54337a07a5..44f4ed53b3
* src/build: f4f9306736..d1c7080c73
* src/ios: 70a0dc5735..4909d73b1a
* src/testing: 9d709bef7e..05d2066c10
* src/third_party: e73ff98615..a8c098943d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/448b931d9a..c6db8519c0
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/1dbe1c7fae..7b5f665231
* src/third_party/perfetto: 79b45f60df..33063c9403
* src/tools: 2e673c45f4..fdfc133180
DEPS diff: d51ff9503d..15aec93e66/DEPS

No update to Clang.

BUG=None

Change-Id: I1b91b5475ebda61e158cf82d1a9f1e5ba21147c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326075
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@{#41091}
2023-11-07 01:29:29 +00:00
Victor Boivie
be04c98d64 dcsctp: Migrate non-Timer related to rtc::TimeDelta
This does the bulk of the remaining refactoring, except timers since
they are an even bigger part - but more isolated.

Bug: webrtc:15593
Change-Id: I7afa349e2119be7592797ee6b3b198e6de4f697a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326160
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41090}
2023-11-06 19:55:22 +00:00
chromium-webrtc-autoroll
0a33589db1 Roll chromium_revision 1204aeca4d..d51ff9503d (1220240:1220376)
Change log: 1204aeca4d..d51ff9503d
Full diff: 1204aeca4d..d51ff9503d

Changed dependencies
* src/base: ae6082baab..54337a07a5
* src/build: 65cd2ac234..f4f9306736
* src/ios: 9a13e5ba21..70a0dc5735
* src/testing: da5a47c57c..9d709bef7e
* src/third_party: 3ff0a6225a..e73ff98615
* src/third_party/androidx: jYnZMA1q1qNqyYpVcsoN14-OPUhM_wdPIFCxcGj8zakC..7gw0P2lS-ut2s5t50FOrENILfpO4Z8dgj0tIwzxV448C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f3e882d631..448b931d9a
* src/third_party/depot_tools: b4e466e610..0c5e8652fe
* src/third_party/freetype/src: 6d6607b8b3..e920273774
* src/third_party/harfbuzz-ng/src: f26fd69d85..920c40cd43
* src/third_party/perfetto: eaa388ea81..79b45f60df
* src/tools: 97c493c880..2e673c45f4
DEPS diff: 1204aeca4d..d51ff9503d/DEPS

No update to Clang.

BUG=None

Change-Id: I653ccfe98f1c42cf6316e29db221a935f6ef6a7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326123
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@{#41089}
2023-11-06 18:34:15 +00:00
Danil Chapovalov
2b58ec2938 Deprecate call_factory and media_engine in PeerConnectionFactoryDependencies
Bug: webrtc:15574
Change-Id: Ia97ad0853196fea5c20fc0c0d58a9305b72c515b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/326001
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41088}
2023-11-06 15:53:39 +00:00
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