41782 Commits

Author SHA1 Message Date
Johannes Kron
7235dd0e2b Add is_steady_state_refresh_frame_ to EncodedImage
The field is_steady_state_refresh_frame_ can be used to determine
if the encoded video frame is a repeated frame that should be considered
for QP convergence detection.

Bug: chromium:328598314
Change-Id: Iffba0f9f70af8b41b9bde25cf40b08b77dad8021
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355702
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42550}
2024-06-27 11:57:11 +00:00
Zhaoliang Ma
769ef20309 [rct_tools/video_encoder] Support yuv input and PSNR/Bitrate validation.
As mentioned, this CL adds the yuv input file support, also checks the
PSNR and bitrate validation in video encoder tool.

the output example is like:
(video_encoder.cc:487): VideoBitrateAllocation [ [272000] ]
(ivf_file_writer.cc:165): Created IVF file for codec data of type AV1 at resolution 640 x 360, using 90kHz clock resolution.
(video_encoder.cc:266): PSNRPassed Average PSNR: 35.6536 Average bitrate: 273960 Bitrate deviation: 0.720588 %

Bug: None
Change-Id: Idaf2545fc272ec636165104784eae79aaee731f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355360
Commit-Queue: Zhaoliang Ma <zhaoliang.ma@intel.com>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42549}
2024-06-27 10:50:16 +00:00
Jan Grulich
e6ad337d63 PipeWire capture: hide cursor when it goes off screen or is not visible
Set cursor position to (-1,-1) to indicate it's not valid when it goes
off the screen or it gets hidden by the compositor. Compositors indicate
invalid or hidden cursor by unsetting the cursor id in cursor metadata
and using spa_meta_cursor_is_valid() will tell us the needed information
for this.

Bug: chromium:346608851
Change-Id: I71b3222ca161b7fd8e964f4f4e12b9983179beba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355080
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Cr-Commit-Position: refs/heads/main@{#42548}
2024-06-27 08:57:19 +00:00
webrtc-version-updater
2d6c397795 Update WebRTC code version (2024-06-27T04:06:16).
Bug: None
Change-Id: I8ed8fdbd4b53facc52566d9ea501c588aa84598b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355820
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@{#42547}
2024-06-27 05:57:30 +00:00
Olov Brändström
c2c6442ad5 Add RTC_EXPORT to TimeUTCMicros (2nd try)
In https://webrtc-review.googlesource.com/c/src/+/355181 I supposed to add RTC_EXPORT to the TimeUTCMicros function. However in the code I added it to TimeUTCMillis(). I hadn't realized there where two similar functions, so I did a poor error check.

I think it make sense to have RTC_EXPORT on both of them, since they are similar. So I opted to not revert the change in the previous faulty CL.

Bug: chromium:333359951
Change-Id: Icb3d3adeebd4fbf56244986a9e801bee84ff04df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355760
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42546}
2024-06-26 16:53:17 +00:00
Danil Chapovalov
20b8e33a3f Add AudioEncoderOpus constructors that use field trials from Environment
Deprecate or remove other constructor

Bug: webrtc:343086059
Change-Id: I863a1df1b313f871a0b03763be1588e68ceb84a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355182
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42545}
2024-06-26 15:25:23 +00:00
Tommi
81a3d95332 Add checks and explicit buffer inititalization for FrameCombiner
Bug: chromium:335805780
Change-Id: I26825941076e78573de268f6e2da7215ee1ea762
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355740
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42544}
2024-06-26 14:01:30 +00:00
Sergey Silkin
0bbc8ce12b Enable flexible mode by default
Added a dedicated kill-switch WebRTC-Video-Vp9FlexibleMode.

Bug: webrtc:329396373
Change-Id: I1acb28032898379eecf7dd81a770c73708286d74
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355700
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42543}
2024-06-26 13:46:07 +00:00
Danil Chapovalov
1030eaaffe Provide Environment to create an audio encoder in tests
Bug: webrtc:343086059
Change-Id: I73a48770ae67e529eb5065e957ea6420dea44975
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354881
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42542}
2024-06-26 12:54:36 +00:00
Artem Titov
eb3da2b1ec Extract video writing into separate target
Bug: None
Change-Id: I3af192606eb623e21a4d648fb69bb62c14ab8b0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355560
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42541}
2024-06-26 12:47:15 +00:00
Björn Terelius
0592d2b3c4 Revert "Roll chromium_revision 536609c347..ba1ae79f58 (1316213:1319128)"
This reverts commit 3be745a20a6a54dadfc7d9369465f1236fd87b56.

Reason for revert: Investigating jni_zero issues

Original change's description:
> Roll chromium_revision 536609c347..ba1ae79f58 (1316213:1319128)
>
>
> Manually changed ninja package to 'infra/3pp/build_support/ninja-1_11_1/${{platform}}'
>
> Change log: 536609c347..ba1ae79f58
> Full diff: 536609c347..ba1ae79f58
>
> Changed dependencies
> * fuchsia_version: version:21.20240613.1.1..version:21.20240620.2.1
> * ninja_version: version:2@1.11.1.chromium.6..version:2@1.11.1.chromium.2
> * reclient_version: re_client_version:0.143.0.518e369-gomaip..re_client_version:0.148.0.41b09b51-gomaip
> * src/base: 21aa1c623a..aa6dbe6d6a
> * src/build: 574613cf34..5bce81deee
> * src/buildtools: 8acbed5185..94d7b86a83
> * src/buildtools/reclient: re_client_version:0.143.0.518e369-gomaip..re_client_version:0.148.0.41b09b51-gomaip
> * src/ios: c5094fae2f..9e33110a5d
> * src/testing: ca3cf42d0a..a1b47952f3
> * src/third_party: 361b05ad7c..91945cadc2
> * src/third_party/androidx: Z-16gFTbhA-coeMbJVUhkfglE569L1q8iVWgtwIs9oMC..-zomVY2T8V3NRjAUbZNAZpFp8dAPuNdu3oQsnmhhIHEC
> * src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/9cac8a6b38..f01108e476
> * src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1a0040059f..022cd349fe
> * src/third_party/depot_tools: 66df2a3ec7..f1c7c96958
> * src/third_party/ffmpeg: bc1ee906ce..d941d9677b
> * src/third_party/freetype/src: d41a855aab..73720c7c99
> * src/third_party/icu: 43953f57b0..163e29159e
> * src/third_party/kotlinc/current: 0jpbSygC1gCOFyv-hsyNVfvxPLhDSXnTCSnxHY_mjKoC..9KgLQsrBWX4kePu9T7eDB1JknSYIPKmmumTEE70lyHYC
> * src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/49c02efb61..afedaf9da5
> * src/third_party/libc++/src: 6caebae1eb..09b99fd8ab
> * src/third_party/libc++abi/src: 472d9aad97..bac941ca44
> * src/third_party/libunwind/src: c8f1d81998..dcc1ffafb5
> * src/third_party/libvpx/source/libvpx: a2508b5711..253d6365e3
> * src/third_party/ninja: version:2@1.11.1.chromium.6..version:2@1.11.1.chromium.2
> * src/third_party/perfetto: 1990573f6d..f9098afffa
> * src/third_party/r8: BbsWCeVMT641FkMRNj4fbXc-wfImc7dl45HwKXWk0hsC..M8rc1oybTkWXWpoImSQ8gAwv6mdEyvAPnQNs6Dus_28C
> * src/third_party/re2/src: 4a8cee3dd3..6144b62bec
> * src/third_party/turbine: s6-zuFNzLDZOl_FmPkk2_LENOqUKjkYmpqR9l0SDo94C..xWEBZuFKl1Dvw_zOpabeMkGVYlEllIxK06D-RoC6wUsC
> * src/tools: 4d74770ca4..a8fe86b922
> DEPS diff: 536609c347..ba1ae79f58/DEPS
>
> Clang version changed llvmorg-19-init-10646-g084e2b53:llvmorg-19-init-14561-gecea8371
> Details: 536609c347..ba1ae79f58/tools/clang/scripts/update.py
>
> BUG=None
>
> Change-Id: Id887574c285eb12c82ed71e3434bd380646560ef
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355520
> Reviewed-by: Jeremy Leconte <jleconte@google.com>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42535}

Bug: None
Change-Id: Ic31468e3b114329aef9646f5196128fbd3ca6403
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355703
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42540}
2024-06-26 11:20:34 +00:00
Artem Titov
a6c34d10cb Introduce an empty target for video_frame_writer
This target then will be filled with writer related part from "video_test_support"
This allows downstream to migrate on the new target keeping dependency on the old one.

Bug: None
Change-Id: Ie0b2f0ff9c7896c70b9a204ffedf15afac43c143
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355580
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42539}
2024-06-26 10:02:37 +00:00
Mirko Bonadei
f86c247185 Remove api/wrapping_async_dns_resolver.cc.
Its header and its compilation configs have been removed by
https://webrtc-review.googlesource.com/c/src/+/323004.

Bug: webrtc:12598
Change-Id: I5ecf0c5ab273d09b90e663c1f70d10e4cc593aec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355260
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42538}
2024-06-26 08:26:24 +00:00
philipel
accef6ad5d Allow for reordering around IRAPs.
Bug: webrtc:41480904
Change-Id: I16fb4466bff8a0c192467332413205cb9958674e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355482
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42537}
2024-06-26 07:02:22 +00:00
webrtc-version-updater
889402ee1f Update WebRTC code version (2024-06-26T04:04:55).
Bug: None
Change-Id: I5ded0625cb69d826860b569fb0e789d16526bb37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355680
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@{#42536}
2024-06-26 05:57:15 +00:00
Björn Terelius
3be745a20a Roll chromium_revision 536609c347..ba1ae79f58 (1316213:1319128)
Manually changed ninja package to 'infra/3pp/build_support/ninja-1_11_1/${{platform}}'

Change log: 536609c347..ba1ae79f58
Full diff: 536609c347..ba1ae79f58

Changed dependencies
* fuchsia_version: version:21.20240613.1.1..version:21.20240620.2.1
* ninja_version: version:2@1.11.1.chromium.6..version:2@1.11.1.chromium.2
* reclient_version: re_client_version:0.143.0.518e369-gomaip..re_client_version:0.148.0.41b09b51-gomaip
* src/base: 21aa1c623a..aa6dbe6d6a
* src/build: 574613cf34..5bce81deee
* src/buildtools: 8acbed5185..94d7b86a83
* src/buildtools/reclient: re_client_version:0.143.0.518e369-gomaip..re_client_version:0.148.0.41b09b51-gomaip
* src/ios: c5094fae2f..9e33110a5d
* src/testing: ca3cf42d0a..a1b47952f3
* src/third_party: 361b05ad7c..91945cadc2
* src/third_party/androidx: Z-16gFTbhA-coeMbJVUhkfglE569L1q8iVWgtwIs9oMC..-zomVY2T8V3NRjAUbZNAZpFp8dAPuNdu3oQsnmhhIHEC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/9cac8a6b38..f01108e476
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1a0040059f..022cd349fe
* src/third_party/depot_tools: 66df2a3ec7..f1c7c96958
* src/third_party/ffmpeg: bc1ee906ce..d941d9677b
* src/third_party/freetype/src: d41a855aab..73720c7c99
* src/third_party/icu: 43953f57b0..163e29159e
* src/third_party/kotlinc/current: 0jpbSygC1gCOFyv-hsyNVfvxPLhDSXnTCSnxHY_mjKoC..9KgLQsrBWX4kePu9T7eDB1JknSYIPKmmumTEE70lyHYC
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/49c02efb61..afedaf9da5
* src/third_party/libc++/src: 6caebae1eb..09b99fd8ab
* src/third_party/libc++abi/src: 472d9aad97..bac941ca44
* src/third_party/libunwind/src: c8f1d81998..dcc1ffafb5
* src/third_party/libvpx/source/libvpx: a2508b5711..253d6365e3
* src/third_party/ninja: version:2@1.11.1.chromium.6..version:2@1.11.1.chromium.2
* src/third_party/perfetto: 1990573f6d..f9098afffa
* src/third_party/r8: BbsWCeVMT641FkMRNj4fbXc-wfImc7dl45HwKXWk0hsC..M8rc1oybTkWXWpoImSQ8gAwv6mdEyvAPnQNs6Dus_28C
* src/third_party/re2/src: 4a8cee3dd3..6144b62bec
* src/third_party/turbine: s6-zuFNzLDZOl_FmPkk2_LENOqUKjkYmpqR9l0SDo94C..xWEBZuFKl1Dvw_zOpabeMkGVYlEllIxK06D-RoC6wUsC
* src/tools: 4d74770ca4..a8fe86b922
DEPS diff: 536609c347..ba1ae79f58/DEPS

Clang version changed llvmorg-19-init-10646-g084e2b53:llvmorg-19-init-14561-gecea8371
Details: 536609c347..ba1ae79f58/tools/clang/scripts/update.py

BUG=None

Change-Id: Id887574c285eb12c82ed71e3434bd380646560ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355520
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42535}
2024-06-25 21:51:14 +00:00
Lambros Lambrou
2086ff5d33 Mac SCK capturer: Set per-frame capture_time_ms and DPI values.
This sets the correct frame DPI according to the pixels/DIPs ratio.
It also sets the capture_time_ms for consistency with ScreenCapturerMac.

Bug: chromium:327458809
Change-Id: Ibb0074756e262dd1ce6f2897f60f0d939ddb7fd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355442
Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Auto-Submit: Lambros Lambrou <lambroslambrou@chromium.org>
Cr-Commit-Position: refs/heads/main@{#42534}
2024-06-25 18:12:27 +00:00
Philipp Hancke
3fede875fe Remove rtc_base/helpers.h and crypto_random include in port allocator
after fixing Chromium (and possibly other downstream projects)

BUG=webrtc:339300437

Change-Id: I1637b379ce778e78b4fb73cb44b291c2f66c3606
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353766
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42533}
2024-06-25 16:10:15 +00:00
Olov Brändström
27abd690cc Add RTC_EXPORT to TimeUTCMicros
A requirement for https://chromium-review.git.corp.google.com/c/chromium/src/+/5314759.

Bug: chromium:333359951
Change-Id: I010ecbc0966a5d9d17b0869ed8eb2c2f48e6cd86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355181
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42532}
2024-06-25 14:55:14 +00:00
Danil Chapovalov
eaea3e26d7 Extend AudioEncoderFactoryTemplate to pass Environment to AudioEncoder factory traits
Bug: webrtc:343086059
Change-Id: I1b8f066708ad630b9911bbcaacdc34542dd247ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355480
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42531}
2024-06-25 13:34:54 +00:00
Sergio Garcia Murillo
d03ce76147 Add support for pred_weight_table
Bug: webrtc:42229950
Change-Id: Iea2702f23b4f2ae42b2c12175ff9dd64e9c71e8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355004
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42530}
2024-06-25 10:09:34 +00:00
Björn Terelius
e71fa4e8b9 Revert "Clean up SRTP helper functions"
This reverts commit c47f649e67cdcd27842aa370c693154b67e66116.

Reason for revert: Breaks downstream build

Original change's description:
> Clean up SRTP helper functions
>
> BUG=None
>
> Change-Id: If1df1828a09aef2e335c028cf4425c9507906aac
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354649
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@meta.com>
> Cr-Commit-Position: refs/heads/main@{#42525}

Bug: None
Change-Id: Iff893decb2be00545b623b72383240926cb0d553
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355481
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42529}
2024-06-25 09:58:52 +00:00
Sergio Garcia Murillo
46b43e0072 Update support for missing HIGH profiles and 1080p
The High and ConstrainedHigh profiles are missing from the decoder capabilities. Also level 3.1 doesn't allow 1080p

Bug: webrtc:347724928
Change-Id: I3f33468327d2aaf352fc80f69d2ee31481bafcb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355001
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42528}
2024-06-25 09:40:15 +00:00
Danil Chapovalov
12b861ef29 Delete FieldTrialsView parameter for AudioEncoderFactoryTemplate as unused
The template never pass that parameter to create an audio encoder, and thus is de-facto always unused.
Plan is to propagate field trials differently, during construction of the encoder rather than during construction of the encoder factory.

Bug: webrtc:343086059
Change-Id: I96d49ef7f7ff37524a1eb64f7a2d73881c07e00a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354360
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42527}
2024-06-25 07:54:32 +00:00
webrtc-version-updater
0adf97372b Update WebRTC code version (2024-06-25T04:06:01).
Bug: None
Change-Id: Iabf17837cc530bd4182137431d395f94fc03b37c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355460
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@{#42526}
2024-06-25 05:43:01 +00:00
Philipp Hancke
c47f649e67 Clean up SRTP helper functions
BUG=None

Change-Id: If1df1828a09aef2e335c028cf4425c9507906aac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354649
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#42525}
2024-06-24 15:34:11 +00:00
Sergey Silkin
26d3e569be Add AV1 screencast perf test
Bug: b/348784414
Change-Id: If1b3bf2439280eba65cf66cc3699e11a0ef412f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355300
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42524}
2024-06-24 11:55:59 +00:00
Sergey Silkin
c8b857f1c5 Always use SEA in video quality tests
This makes testing closer to production. Chromium always uses SEA: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/peerconnection/video_codec_factory.cc;l=124

Bug: b/348784414
Change-Id: I95ae2056bf05ff32192a6f49af5fa97c104131a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355280
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42523}
2024-06-24 10:59:39 +00:00
webrtc-version-updater
9603aa1f7e Update WebRTC code version (2024-06-23T04:02:54).
Bug: None
Change-Id: Ia766c6e455d101505e24c82473017d489dbdbb45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355242
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@{#42522}
2024-06-23 05:56:31 +00:00
webrtc-version-updater
af1f3a86da Update WebRTC code version (2024-06-22T04:02:50).
Bug: None
Change-Id: I011c30422568e477730498faec1abd1a6881d57b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355241
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@{#42521}
2024-06-22 06:12:14 +00:00
Danil Chapovalov
3a45801d34 Make Unit types factories from float numbers be constexpr
std::isnan is not constexpr until c++23 and thus prevents constexpr construction from float numbers of unit types like DataRate
That check is not needed because is redundant with later check that value is convertable to int64_t

Bug: None
Change-Id: Ie8a06287492eb2122edf23fed63f1cd1bcd9df3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355220
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42520}
2024-06-21 13:40:17 +00:00
webrtc-version-updater
e226676a16 Update WebRTC code version (2024-06-21T04:02:45).
Bug: None
Change-Id: Ie24bbf249fc779850ebf9ac9d247c996b0ff43da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355240
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@{#42519}
2024-06-21 05:45:42 +00:00
Lambros Lambrou
3069c60ada Add desktop-capture option for ScreenCaptureKit on macOS.
This option will allow clients to control which ScreenCapturer is used,
for versions of macOS that support ScreenCaptureKit. The default is to
use the previous code, to avoid breaking current users of the module.

Bug: chromium:327458809
Change-Id: Ib0f9390c85d726016a39eea4fda9b8bd14a094c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355020
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org>
Cr-Commit-Position: refs/heads/main@{#42518}
2024-06-20 22:31:41 +00:00
Anton Barkov
dedb03e782 Fix RTCMTLNSVideoView undefined symbol error
Bug: webrtc:15861
Change-Id: I43ab06b0935e3894b3c14ea44d77d287169013c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/341920
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42517}
2024-06-20 13:46:39 +00:00
Jakob Ivarsson
0fd67312ea Reset the speech encoder when creating a comfort noise encoder.
This is to make sure that the two encoders are "in sync" (the CNG
encoder can be created from an existing speech encoder).

This is a speculative fix for a crash in the CNG encoder where a packet
is unexpectedly emitted from the speech encoder.

Bug: webrtc:42225071
Change-Id: I42571e56e032897f7f083f04d785f6a08ebfb813
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355160
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Cr-Commit-Position: refs/heads/main@{#42516}
2024-06-20 11:02:26 +00:00
webrtc-version-updater
85c1db046f Update WebRTC code version (2024-06-20T04:02:53).
Bug: None
Change-Id: Ibbc1f48748dab35e5c8dabb7d182c5443cae068c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355140
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@{#42515}
2024-06-20 06:11:58 +00:00
Jeremy Leconte
defafcb86e Pass random seed to SchedulableNetworkBehavior.
Change-Id: Icd2b2e638773243df26de3e163b18c9bd42c9245
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354721
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42514}
2024-06-19 08:40:36 +00:00
Björn Terelius
d5238b0998 Support running gn_check_autofix.py on a local build dir (e.g. out/Default)
Bug: webrtc:42226242
Change-Id: I8afedb8c316ab86a7219b07774f93da782f80a4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355000
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42513}
2024-06-19 08:05:24 +00:00
Dor Hen
aefed55c25 [iwyu][1\n] Applying to api/[a-s]*
First batch of applying iwyu to the repo.
Done with:
> ./tools_webrtc/iwyu/apply-iwyu api
> git add api/[a-s]*
> python3 gn_autodeps.py ~/local/webrtc/src out/Default

Last step is a custom script I wrote to automatically apply new required
dependencies for target in gn, which saved tons of time manually going
over the files and fixing.
If this is something that interest others, I can submit it as well.

Bug: webrtc:42226242
Change-Id: Id109e77f50835827495bc4512880c4ec9ae175f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343680
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#42512}
2024-06-19 06:19:20 +00:00
webrtc-version-updater
e7a305d3c7 Update WebRTC code version (2024-06-19T04:02:52).
Bug: None
Change-Id: If66c0eb4275dfcd55c389591f2d735239f6adeec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355021
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@{#42511}
2024-06-19 05:34:19 +00:00
Lambros Lambrou
d4a6c3f76f New macOS screen-capturer which uses ScreenCaptureKit.
This supports:
* Full-screen capture from any display, via SelectSource().
* Changing the display, via SelectSource(), while capture is running.
* Handling screen-resolution changes while capture is running.
* Capturing from high-DPI displays at their native resolution.
* Basic damage-tracking: the frame's updated-region is either set to
  empty, or the full frame area.

It currently does not support:
* Window capture.
* Excluded windows.
* Full-desktop capture across all displays.
* More detailed damage-tracking.

The capturer is not yet enabled. Followup CLs will add a
DesktopCaptureOption to enable this capturer on supported versions of
macOS.

Bug: chromium:327458809
Change-Id: Ie619f6c6c1d6edf0fb9320d4fece578754a732dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352544
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Lambros Lambrou <lambroslambrou@chromium.org>
Cr-Commit-Position: refs/heads/main@{#42510}
2024-06-18 21:12:12 +00:00
Jan Grulich
0f862520dc Video encoding: allow to use system OpenH264
OpenH264 cannot be usually used everywhere as it's proprietary and for
that reason it's usually disabled or apps using it are not allowed to be
available in default installations. Using system OpenH264  option allows
us to use e.g. noopenH264, that can be present in default installations
and later replaced by OpenH264 installed from 3rd party repository.

Bug: webrtc:14717
Change-Id: I015aacdb48c0636935f611459f0c9a6aa74a8f94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349301
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Cr-Commit-Position: refs/heads/main@{#42509}
2024-06-18 13:39:21 +00:00
Danil Chapovalov
578905e7ca Provide Environment to create audio encoders in both prod code paths
Bug: webrtc:343086059
Change-Id: I4a3e48dcafe99c47f7c9847c5c3994c9c49807c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355002
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42508}
2024-06-18 12:31:27 +00:00
Jesús de Vicente Peña
fc6df056b6 Computing and propagating the audio stats totalprocessingdelay.
Bug: webrtc:344347965
Change-Id: Id7dd74ef085338d14582dcc0db98508d365301e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352680
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42507}
2024-06-18 08:05:28 +00:00
Tony Herre
418bcf2acb Expose a PeerConnection's NetworkControllerInterface instance
Allow API users to access the NetworkControllerInterface instance that a
given PC ended up with, to allow integrators who have provided a
PeerConnectionFactoryDependencies.network_controller_factory to
associate a created instance of their custom network controller with the
PC using it.

Eg for the RTCRtpTransport Chromium implementation as in crrev.com/c/5607744.

Bug: chromium:345101934
Change-Id: Ia712ca4f45b90d5078f4e8e5977622d3e9f9aa6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353980
Commit-Queue: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42506}
2024-06-18 08:04:03 +00:00
webrtc-version-updater
799c8e6422 Update WebRTC code version (2024-06-18T04:02:44).
Bug: None
Change-Id: I91002613d9e579991756df9c113c4c58d7a5ac3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354980
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@{#42505}
2024-06-18 05:51:25 +00:00
chromium-webrtc-autoroll
a93d5a00b1 Roll chromium_revision 5a273f36b5..536609c347 (1316042:1316213)
Change log: 5a273f36b5..536609c347
Full diff: 5a273f36b5..536609c347

Changed dependencies
* src/base: 01cabbd0a2..21aa1c623a
* src/build: 3fa729187d..574613cf34
* src/ios: 1bb3320f36..c5094fae2f
* src/testing: 60d950d84e..ca3cf42d0a
* src/third_party: 6dca4b38b0..361b05ad7c
* src/third_party/androidx: aqX5QiolLSZVjb86a0t8LaQVzy8B0yl06RDs1gmMjOYC..Z-16gFTbhA-coeMbJVUhkfglE569L1q8iVWgtwIs9oMC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8c184bf50d..1a0040059f
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/817973695d..49c02efb61
* src/third_party/libc++abi/src: 43dd5b4bf6..472d9aad97
* src/tools: 927447300e..4d74770ca4
DEPS diff: 5a273f36b5..536609c347/DEPS

No update to Clang.

BUG=None

Change-Id: I05f0c066f86681ee06f44d5d89ad6c2930f2a000
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354960
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@{#42504}
2024-06-18 02:50:25 +00:00
Brian Clymer
eed94222ea Reset VTCompressionSession when underlying CVPixelBufferPoolRef isn't valid
Change-Id: If9bf4a5d0db50de36f0d14f08ec83e85dd1c69b8
Bug: webrtc:347647405
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354705
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#42503}
2024-06-18 01:10:17 +00:00
chromium-webrtc-autoroll
7115de6c5c Roll chromium_revision c72aa689a7..5a273f36b5 (1315734:1316042)
Change log: c72aa689a7..5a273f36b5
Full diff: c72aa689a7..5a273f36b5

Changed dependencies
* src/base: 1bf4471e74..01cabbd0a2
* src/build: 587ff397de..3fa729187d
* src/ios: a6299c80ca..1bb3320f36
* src/testing: 8989759c45..60d950d84e
* src/third_party: 48fc5973e1..6dca4b38b0
* src/third_party/androidx: DiayCMM-ne_KuNc7Q7jV2K9ZeN_Bu8dn_A6iUgRnfC8C..aqX5QiolLSZVjb86a0t8LaQVzy8B0yl06RDs1gmMjOYC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/68fe632a00..8c184bf50d
* src/third_party/depot_tools: 1d1f17af89..66df2a3ec7
* src/third_party/perfetto: 6f8d4eba87..1990573f6d
* src/third_party/r8: dhoEB5vFXAD1JsD0RjBHaB3DLb1UbuHu0kptrpbcQA8C..BbsWCeVMT641FkMRNj4fbXc-wfImc7dl45HwKXWk0hsC
* src/third_party/turbine: 1kLxPxWBXSIEOzQ1Zzi1M9XXu6pwfDbKCzQrNyGcCCEC..s6-zuFNzLDZOl_FmPkk2_LENOqUKjkYmpqR9l0SDo94C
* src/tools: 198098cee1..927447300e
DEPS diff: c72aa689a7..5a273f36b5/DEPS

No update to Clang.

BUG=None

Change-Id: I536fd0c917913cb06e5c739034531184a41ce4d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354920
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@{#42502}
2024-06-17 20:48:23 +00:00
Per K
feea82fad5 Fix issue with SchedulableNetworkBehavior::UpdateConfigAndReschedule returning negative delay
If the task queue is blocked, there is a risk that delay becomes negative. Therefore, use max of calculated time to next schedule and 0.

Bug: webrtc:42224804
Change-Id: Ibae9000192d5042cf62b46d93e8364b58dae0d82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354880
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42501}
2024-06-17 15:39:20 +00:00