42431 Commits

Author SHA1 Message Date
Harald Alvestrand
f055f9bdea Advise to use [[deprecated]], not ABSL_DEPRECATED
in the PRESUBMIT script.

Bug: None
Change-Id: I8471d174b87fe2a558e3bbab049943829d1a3daa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365000
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43199}
2024-10-08 20:59:53 +00:00
Philipp Hancke
65ae3245f9 Spanify SRTP key export
and simplify the interface used as this is only used for exporting
SRTP keys and passing arcane OpenSSL arguments around does not make
much sense.

BUG=webrtc:357776213

Change-Id: I9e5a94fe368b77975e48b6dd5ab6a2d2575d6382
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364521
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43198}
2024-10-08 19:05:40 +00:00
Shigemasa Watanabe
bcb19c00ba Allow sending to separate payload types for each simulcast index.
This change is for mixed-codec simulcast.

By obtaining the payload type via RtpConfig::GetStreamConfig(),
the correct payload type can be retrieved regardless of whether
RtpConfig::stream_configs is initialized or not.

Bug: webrtc:362277533
Change-Id: I6b2a1ae66356b20a832565ce6729c3ce9e73a161
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364760
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43197}
2024-10-08 18:45:27 +00:00
chromium-webrtc-autoroll
c7f9426af0 Roll chromium_revision 8f3f021772..ccf648df91 (1363170:1365600)
Change log: 8f3f021772..ccf648df91
Full diff: 8f3f021772..ccf648df91

Changed dependencies
* fuchsia_version: version:24.20240927.1.1..version:24.20241004.3.1
* src/base: 3c27aa7db1..006d78d70b
* src/build: 9b11bd3a6a..f2790bfa32
* src/buildtools: 7f979120bf..0a905dcb6d
* src/ios: cfa10288a4..26dfb6e15c
* src/testing: 445152c103..3ef5641e1f
* src/third_party: 644e34bfc5..c8056c18ac
* src/third_party/android_build_tools/manifest_merger/cipd: SXrT41DFdxtTN78HQooJiwMnwvQg7mHm4fTvrJc0_7MC..p2c9mSgfF-HErc8CM-jOFuuMbaMK-POsiqbeG5plk2cC
* src/third_party/androidx/cipd: 3-zFsZXBqCk_7AGLOqS53gb2vatfs72IsA9TdrYDHpEC..yhwW_7P0l18P6ykZSqwXqx6HFyhPIcUGNcebIIppU-IC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/0eda639cb7..fa0214602c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ffa948a18e..4479191661
* src/third_party/depot_tools: e1f9cd1981..c109945e72
* src/third_party/googletest/src: a1e255a582..71815bbf7d
* src/third_party/icu: 9408c6fd4a..4239b1559d
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/3817481261..669fcf17a7
* src/third_party/libc++/src: e2d898ca22..f114473071
* src/third_party/libunwind/src: 37c7d984b0..71735e82a6
* src/third_party/perfetto: e70a476e07..5361e5909e
* src/third_party/r8/cipd: Vw4Ch7k1MIcGy2EYCmf4gIRSZr8KSEr0E5ho9L2zcPUC..3KCj5eRYCvGGYs5i90pRaeihkzsqgUGc4OkICT8AOlIC
* src/tools: 40180573f4..8c5814c8d2
* src/tools/luci-go: git_revision:825ada410ecdfd314f075a609b46ceb61dfa6442..git_revision:78b3b3ca47e64b3280a5dd5b83c23ce89f04d328
* src/tools/luci-go: git_revision:825ada410ecdfd314f075a609b46ceb61dfa6442..git_revision:78b3b3ca47e64b3280a5dd5b83c23ce89f04d328
DEPS diff: 8f3f021772..ccf648df91/DEPS

No update to Clang.

BUG=None

Change-Id: I64cd58b7ff0b27eabb2759d6c91e8aac570262f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364807
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@{#43196}
2024-10-08 17:33:03 +00:00
Fanny Linderborg
e1adfc05ac Rename FrameToRender to OnFrameToRender
This is to make the name consistent with the other methods in the
interface and additionally to in the future not have a function that has
the same name as the `FrameToRender` struct.

Bug: webrtc:358039777
Change-Id: Iac727d93ab9e020a073477bd33d0f67f9983a0aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364961
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43195}
2024-10-08 16:29:01 +00:00
Olov Brändström
b9c4c242d4 rename timestamps to show epoch
I missed one timestamp in https://webrtc-review.googlesource.com/c/src/+/363946, meaning that the config flag that was added do not yet work for all timestamps in RTCStats objects. The RTCRemoteOutboundRtpStreamStats still has UTC timestamps even if the config flag is set.

I will solve this by saving both an UTC (existing) and env (to be added) timestamp, and then let rtc_stats_collector choose timestamp based on the value of the config flag (just like RTCRemoteInboundRtpStreamStats is done in the 363946 commit).

Before adding the new env_ timestamp I want to make this change. I rename the existing timestamp to show what epoch it uses (NTP or UTC). This will later make it clear which timestamp is which.

So this CL will make no logical change, just renaming members.

I only need to rename the last_sender_report_timestamp_ms, but opted to rename the remote timestamp as well, to be consistent with the naming convention I add in this CL.

Bug: chromium:369369568
Change-Id: Icfe7cf274995b39799e1478a1bb8cdf5134f0b16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364782
Commit-Queue: Olov Brändström <brandstrom@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43194}
2024-10-08 16:27:58 +00:00
Jeremy Leconte
e3819f6ac3 Fix java errors that used to be disabled.
This is https://chromium-review.googlesource.com/c/chromium/src/+/5901711 hitting WebRTC.

Change-Id: Ifedd949965a85b29364455a244edab1352f4fcea
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364940
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43193}
2024-10-08 14:53:45 +00:00
Fanny Linderborg
a507a08904 Calculate corruption score once the frame is decoded
Bug: webrtc:358039777
Change-Id: I291e8e505f2ea7f9f95da4c83cd7679b49f2bc56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364600
Reviewed-by: Erik Språng <sprang@webrtc.org>
Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43192}
2024-10-08 13:26:00 +00:00
Emil Vardar
fb4311660b Improve SDP negotiation for mixed encrypted/unencrypted offers.
According to RFC 6904 a header extension MAY be offered both encrypted and unecrypted. In the case when encryption is enabled the encrypted version SHOULD be used and vice versa. However, this is under the assumption that both peers actually offer the same extension header both encrypted and unecrypted. With this PR we tighten the negotiation rules to the encryption option SHOULD be the same both in the sender and receiver in order to not drop the extension. Especially, see test `TestOfferAnswerPreferEncryptedRtpHeaderExtensionsWhenEncryptionEnabled` and `TestOfferAnswerPreferEncryptedRtpHeaderExtensionsWhenEncryptionDisabled`.

Bug: chromium:40623740
Change-Id: I68c65a776fcf7be97aaf60a797594c4361a06800
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363940
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43191}
2024-10-08 12:18:07 +00:00
Danil Chapovalov
fec6f8d09d Cleanup duplicated log streaming operators
Bug: None
Change-Id: I97c429135c0a11f92a5d0dd44efa207984f9a05e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364881
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43190}
2024-10-08 09:04:35 +00:00
Danil Chapovalov
ebd3732829 Remove support for logging types via ToLogString extension
To have a single way of describing how to log a custom type: AbslStringify

Bug: None
Change-Id: I6a4a6db455685be01bff1b6eeddc121b4ea51b77
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364901
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43189}
2024-10-08 08:52:23 +00:00
Fanny Linderborg
215401f651 Reland "Add a FrameToRender argument struct as input to FrameToRender"
This is a reland of commit 01f91c81f7660be842fa44e96bf804a8b2402f47

Original change's description:
> Add a FrameToRender argument struct as input to FrameToRender
>
> This is to make it easier to add new arguments to the method in the
> future. We will remove the already existing method accordingly to WebRTCs deprecation rules.
>
> Bug: webrtc:358039777
> Change-Id: Id0706de5216fbd0182cac80ebfccfc4a6a055ee8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364642
> Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43181}

Bug: webrtc:358039777
Change-Id: I404bb9660d9f4436c0658814fd3ac7d74e483f0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364900
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43188}
2024-10-08 06:22:03 +00:00
webrtc-version-updater
3d2e730ca6 Update WebRTC code version (2024-10-08T04:06:02).
Bug: None
Change-Id: Iea1e50480bf14ab6f8817c9b8ee26c1629ac09e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364866
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@{#43187}
2024-10-08 05:46:48 +00:00
Jakob Ivarsson
b507daf411 Refactor NetEq delay constraint logic.
This makes the delay manager interface significantly simpler and easier to expose.

Bug: None
Change-Id: Ie3d37c3b869eb17ca421a76e9d1af8f0a1a36ee5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364781
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43186}
2024-10-07 15:23:43 +00:00
Henrik Boström
1accaf91b5 Improve tests for reconfiguring encoder from 4:2:1 to non-power of two.
More test coverage for previously fixed bug
https://crbug.com/webrtc/369654168.

Two tests are added:
1. LibvpxVp9Encoder unit test that 4:2:1 720p can be reconfigured to
   singlecast (which is what happens for encodings[0] in the bug).
2. Integration test that 4:2:1 720p can change to 180p,360p,540p.
   This is the exact same test as was added in [1] but using
   requested_resolution instead of scale_resolution_down_by.

[1] https://webrtc-review.googlesource.com/c/src/+/363941

Bug: webrtc:369654168
Change-Id: I83456b9254c1c6f647586d340d0fe5864b5515c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364200
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43185}
2024-10-07 13:55:36 +00:00
Jeremy Leconte
5680d8199a Revert "Add a FrameToRender argument struct as input to FrameToRender"
This reverts commit 01f91c81f7660be842fa44e96bf804a8b2402f47.

Reason for revert: break downstream projects.

Original change's description:
> Add a FrameToRender argument struct as input to FrameToRender
>
> This is to make it easier to add new arguments to the method in the
> future. We will remove the already existing method accordingly to WebRTCs deprecation rules.
>
> Bug: webrtc:358039777
> Change-Id: Id0706de5216fbd0182cac80ebfccfc4a6a055ee8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364642
> Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43181}

Bug: webrtc:358039777
Change-Id: Id59633023a428fb63aadeb266421b09040e590bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364841
Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#43184}
2024-10-07 12:46:24 +00:00
Harald Alvestrand
8216668537 Add AbslStringify for SessionDescriptionInterface
Should be useful for debugging.

Bug: None
Change-Id: I0c048beb422ca9fb5e6d69bc76379acb272d94bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364820
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43183}
2024-10-07 12:43:15 +00:00
Jeremy Leconte
e466ae8184 [NotJavadoc] Avoid using /** for comments which aren't actually Javadoc.
Error surfaces when rolling https://chromium-review.googlesource.com/c/chromium/src/+/5901711 in WebRTC.

https://ci.chromium.org/ui/p/webrtc/builders/try/android_arm64_rel/78284/overview

Change-Id: Iad096c7c2cf9b1fabe9ce0abdb8f3da3fc8058d9
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364840
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43182}
2024-10-07 12:32:23 +00:00
Fanny Linderborg
01f91c81f7 Add a FrameToRender argument struct as input to FrameToRender
This is to make it easier to add new arguments to the method in the
future. We will remove the already existing method accordingly to WebRTCs deprecation rules.

Bug: webrtc:358039777
Change-Id: Id0706de5216fbd0182cac80ebfccfc4a6a055ee8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364642
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43181}
2024-10-07 11:47:17 +00:00
Sergio Garcia Murillo
6976a1e4ee Use rtc::Buffer and rtc::ByteBufferReader instead of raw data pointers in H264SpsPpsTracker
Bug: webrtc:42225170
Change-Id: I07ec0e8a1aba8eec04ed1dd5c6f7a4bbbdb7a43a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364641
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43180}
2024-10-07 11:19:29 +00:00
Sergio Garcia Murillo
e17aad2c1d Use rtc::Buffer for memory storage of EncodedImageBuffer
The goal is to be able to write the rtc::Buffer by another utility
(like rtc::ByteBufferWriter) and pass it into EncodedImageBuffer
without memcpy.

Bug: webrtc:42223344
Change-Id: Ieda55e77a36636e8cdff6ad6b7d078de0aeafec0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364243
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43179}
2024-10-07 11:06:04 +00:00
Jeremy Leconte
0bff76bb8a SuppressWarnings EnumOrdinal.
This is to fix compile failure following https://chromium-review.googlesource.com/c/chromium/src/+/5901711.

Change-Id: I817813e24c96ec542c0e030e1e2964f8bbd591fc
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364464
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43178}
2024-10-07 09:16:03 +00:00
Ilya Nikolaevskiy
bd8bd03cba Ignore WebRTC-VP9-SvcForSimulcast in fuzzers
The field trial is just a kill-switch and is enabled by default.
No need to test with and without it.

Bug: chromium:371233788
Change-Id: I1b21670761284d974319aa7adaa3af60863b23ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364780
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Auto-Submit: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43177}
2024-10-07 09:03:30 +00:00
webrtc-version-updater
49bdbca590 Update WebRTC code version (2024-10-07T04:09:44).
Bug: None
Change-Id: Ic841b4c31372db44e27588c1201670df3e97d51a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364741
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@{#43176}
2024-10-07 06:11:28 +00:00
webrtc-version-updater
5652c28f8a Update WebRTC code version (2024-10-06T04:04:42).
Bug: None
Change-Id: I6314f6c2897d07a3ff433fabf10075dc8c3c397a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364694
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@{#43175}
2024-10-06 05:07:06 +00:00
webrtc-version-updater
9d31598b6f Update WebRTC code version (2024-10-05T04:04:26).
Bug: None
Change-Id: Iea3ce2d0da69f79311cc92b0efaee37ef639fde8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364685
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@{#43174}
2024-10-05 05:26:47 +00:00
Philipp Hancke
5da0f2ef2a h264: ignore filler NALs, print NAL type on bitstream parsing errors
BUG=None

Change-Id: Idbde6c18a4dfb6ed6d62abb33f9b9178ef0c64b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364123
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43173}
2024-10-04 16:18:31 +00:00
Henrik Boström
b23b3dd9b1 Improve simulcast CPU adaptation when requested_resolution API is used.
In simulcast, BW adaptation causes layers to be disabled rather than
downscaling layers. But CPU adaptation restricts the resolution of all
layers, this means that a 540p restriction on 180p:360p:720p results in
180p:360p:540p, which is fine but a) it's inconsistent with BW
adaptation and b) it's not ideal for performance, because non power of
two scaling factors means we can't use a single encoder instance to
produce all layers (the CPU adaptation could actually result in even
more CPU usage and further adaptation as a result).

This CL disables top layers by limiting `max_num_layers` based on
`restrictions_` and the layers' `requested_resolution`, the end result
is 180p:360p:- when CPU adaptation kicks in.

Note that the problem described (and therefore the solution) is
specific to the `requested_resolution` API. If instead the
`scale_resolution_down_by` API is used, all scaling is relative and we
get 135p:270p:540p, which is problematic for other reasons (180p and
360p no longer sent, middle layer no longer HW accelerated).

Bug: webrtc:366415118
Change-Id: I2e238b1b87470413c21623b21d0ce20eadf6c8c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364660
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43172}
2024-10-04 13:53:55 +00:00
Danil Chapovalov
d9b04adbdb Cleanup static constants in modules/rtp_rtcp/
Change static const to static constexpr where applicable
In .cc files ensure static constants are in unnamed namespace
Remove obsolete declaration for class level constexpr values

Bug: None
Change-Id: I23759974b5042c8c9d9ec2816ee7df283a8872d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364483
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43171}
2024-10-04 13:05:46 +00:00
Sergio Garcia Murillo
ca3ac5fe64 Use ArrayView for byte stream parsing in VideoRtpDepacketizerH264
Bug: webrtc:42223344, webrtc:42225170
Change-Id: I4894961d31baf09880ada600516b75799cba6ac0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364640
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43170}
2024-10-04 13:01:44 +00:00
webrtc-version-updater
be34b055ee Update WebRTC code version (2024-10-04T04:04:30).
Bug: None
Change-Id: Ie5528523e68eec0521a07320f51c9bd860b0612d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364515
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@{#43169}
2024-10-04 05:50:38 +00:00
Sergio Garcia Murillo
fb803de683 Fix is_first_packet_in_frame for SEI and PPS NALUs
PacketBuffer will ignore any non-idr frame which is firs packet has not
is_first_packet_in_frame set to true if there was a packet loss in the
previous frame even if the cseqs are continous:

https://issues.webrtc.org/issues/368335257#comment14

This CL sets this flag to true to SEI and PPS nal units that would have
caused the delta frames after an idr frame to be dropped in case of loss.

Bug: webrtc:368335257
Change-Id: Ic7150297d7fb4ed274c7d99175ff367100b5cf75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364241
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43168}
2024-10-03 18:29:19 +00:00
Harald Alvestrand
62b245c64f Modify codec matching to handle RED so that test pass.
Bug: webrtc:360058654
Change-Id: I9e31a75691fe7fca51d888b898ea7d6dc047a559
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364562
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43167}
2024-10-03 14:32:13 +00:00
Shigemasa Watanabe
c42162cacb Add multiple codec settings to RtpConfig for Mixed-codec simulcast.
I have implemented that adds multiple codec settings to RtpConfig and
passes them down to the lower layers from WebRtcVideoSendChannel.

Bug: webrtc:362277533
Change-Id: I088d6583f7dcbd4de5deb1e9e08c80a6dc10494f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364440
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43166}
2024-10-03 14:05:52 +00:00
Fanny Linderborg
b63c05d1cc Remove unused misspelled function
Bug: webrtc:358039777
Change-Id: I5573a8ab40a42663cfc2d24576b90e1100972e7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363942
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43165}
2024-10-03 13:55:44 +00:00
Danil Chapovalov
f75ab82b46 Support RTC_LOG for types that implement both AbslStringify and ToLogString
To support libraries and dependencies compatible with absl way of debug printing custom types.
In particular gtest can use AbslStringify to produce nice output when unit types are compared with EXPECT macros.

Bug: None
Change-Id: Ie78293a225f61977f256f0234e07d166b1977e2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364162
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43164}
2024-10-03 13:54:40 +00:00
Fanny Linderborg
4f6f92a986 Convert CorruptionDetectionMessage to FrameInstrumentationSyncData
Bug: webrtc:358039777
Change-Id: I7504573cdee40ee3224242e19c254de815e0311b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364485
Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43163}
2024-10-03 13:27:33 +00:00
Danil Chapovalov
678607501c Revert "Comment unused variables in implemented functions"
This reverts commit 05043e1cef47f33e81bc7ba83b4cc2c407111397.

Reason for revert: breaks compilation of .c files

Original change's description:
> Comment unused variables in implemented functions
>
> Compiling webrtc with `-Werror=unused-parameters` is failling duo to
> those parameters.
> Also, it shouldn't harm us to put those in comment for code readability as
> well.
>
> Bug: webrtc:370878648
> Change-Id: I0ab2eafd26e46312e4595f302b92006c9e23d5d2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364340
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43157}

Bug: webrtc:370878648
Change-Id: I4ea50baa2c3d0d162759c8255171e95c6199ed26
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364580
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Owners-Override: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43162}
2024-10-03 11:51:29 +00:00
Dor Hen
fe6ed1364b Remove unused parameter from FixedLengthEncodingParameters::ValidParameters
Bug: webrtc:370878648
Change-Id: I0031426ebc7ea9b95d7d322a6637c57cb6344ae9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364506
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43161}
2024-10-03 10:40:56 +00:00
Dor Hen
3e99f8c877 Remove unused parameter from CopySocketInformationToPacketInfo
Bug: webrtc:370878648
Change-Id: Iae1b122ec9c4de3add8d4fb882b8b352a608e650
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364505
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43160}
2024-10-03 10:39:54 +00:00
Dor Hen
eca11ca18b Comment unused variables in implemented functions 2\n
Bug: webrtc:370878648
Change-Id: Idcead9b143b65d6f5f42187d1bd3bf75227c765f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364504
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43159}
2024-10-03 10:38:52 +00:00
Dor Hen
f653f476f0 Remove unused parameters from "WebRtcSpl_FilterAR"
Bug: webrtc:370878648
Change-Id: Ia7c9046a7c0f415e1f28df9610f818af402e055f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364503
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43158}
2024-10-03 10:37:49 +00:00
Dor Hen
05043e1cef Comment unused variables in implemented functions
Compiling webrtc with `-Werror=unused-parameters` is failling duo to
those parameters.
Also, it shouldn't harm us to put those in comment for code readability as
well.

Bug: webrtc:370878648
Change-Id: I0ab2eafd26e46312e4595f302b92006c9e23d5d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364340
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43157}
2024-10-03 10:36:46 +00:00
Olov Brändström
4baeed3b97 Use environment monotonic timestamps (i.e. not UTC) in RTCStats.
Add media config for using environment monotonic timestamps (i.e. not UTC) in RTCStats constructor, and implemented the usage of the flag.

Bug: chromium:369369568
Change-Id: Ia93d048742c28af201164fe7b2152b791bb6d0b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363946
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Olov Brändström <brandstrom@google.com>
Cr-Commit-Position: refs/heads/main@{#43156}
2024-10-03 09:07:17 +00:00
Danil Chapovalov
208491c8b9 Revert "Use ArrayView for byte stream parsing in VideoRtpDepacketizerH264"
This reverts commit 4b53e9af6126028497239b39321ec6740f8e2bc2.

Reason for revert: Bug: chromium:371054866

Original change's description:
> Use ArrayView for byte stream parsing in VideoRtpDepacketizerH264
>
>
> Bug: webrtc:42223344, webrtc:42225170
> Change-Id: Ia2025ab225499702c0abe47690742a9c0d6109b7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364380
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43147}

Bug: webrtc:42223344, webrtc:42225170, chromium:371054866
Change-Id: I5c0222add560622a6ce34622d80a4bf7f1fc3fae
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364560
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43155}
2024-10-03 08:52:33 +00:00
Jeremy Leconte
89a552a5a3 Work around an issue with clang-include-cleaner.
Problem has been reported here:
https://github.com/llvm/llvm-project/issues/110843

Change-Id: Iaa578a17a724a80ea350db1494229c5af4c454b3
Bug: b/236227627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364463
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43154}
2024-10-03 06:47:44 +00:00
Philipp Hancke
c32df1e849 Clean up unused sigslot dependency from OpenSSL stream adapter
BUG=webrtc:339300437,webrtc:42222066

Change-Id: I3efe104d7c65f516a8e6dd0034b2e0234db5748d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364540
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43153}
2024-10-03 06:05:08 +00:00
webrtc-version-updater
c59b76affb Update WebRTC code version (2024-10-03T04:02:13).
Bug: None
Change-Id: I4878dcd6d1e68e62cb28de153c8dde122ff0f206
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364526
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@{#43152}
2024-10-03 05:11:20 +00:00
Sergio Garcia Murillo
37784ef368 Add helper methods for writing from a rtc::ArrayView-like and C-arrays
Also allow retrieving the rtc::Buffer after finishing write.

Bug: webrtc:42223344
Change-Id: I44310ae0f4b4c882188ea56ef743a62affc7e3fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43151}
2024-10-03 00:23:04 +00:00
chromium-webrtc-autoroll
3489b57cdc Roll chromium_revision 88d7d488e5..8f3f021772 (1363018:1363170)
Change log: 88d7d488e5..8f3f021772
Full diff: 88d7d488e5..8f3f021772

Changed dependencies
* src/third_party/fuzztest/src: f0177b98d4..0021f30508
* src/third_party/perfetto: a27464ae70..e70a476e07
DEPS diff: 88d7d488e5..8f3f021772/DEPS

No update to Clang.

BUG=None

Change-Id: I20851e817740866a2d9743d3d19ed95ecf5e4fd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364502
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@{#43150}
2024-10-02 19:27:21 +00:00