42043 Commits

Author SHA1 Message Date
Patrick Reynolds
f654998b80 Add opus_audio_decoder_factory to the static library.
Bug: None
Change-Id: Ia8aa6594ec1d2bca6649ec7da284c931a0f68ce6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360000
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42811}
2024-08-20 08:39:10 +00:00
Philipp Hancke
2cfedb277a Remove vestiges of GTURN
and update some usage to use the "correct" stun attribute names

BUG=webrtc:42229250

Change-Id: If0c34d1d9b399766d7073661ea2a5515100256a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359440
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#42810}
2024-08-19 16:05:37 +00:00
Philipp Hancke
37c406a1fd Clean up 32 byte mid support from the demuxer
the SDP parser is restricting this to 16 bytes already

BUG=webrtc:42222663

Change-Id: I26f8f15a3f15cb5a5c8eab64f9dc3e26c0ea1bbb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359780
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42809}
2024-08-19 15:23:03 +00:00
Harald Alvestrand
b1ffa9bd4e Export SdpTypeFromString
Needed to get rid of a form of CreateSessionDescription that is due
for deprecation.

Bug: None
Change-Id: I9717b7ded1e28cf803de4bebc852c2f255851918
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359941
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42808}
2024-08-19 13:34:49 +00:00
Fanny Linderborg
a6186b2485 Add helper that generate filter data given a captured and an encoded frame
R=sprang@webrtc.org

Bug: b/358039777
Change-Id: I48400db23b836d45f03cfa151aa1a9f1b8f00b2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359940
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42807}
2024-08-19 13:04:30 +00:00
Dor Hen
52e46247bf Apply include-cleaner to api/voip
Bug: webrtc:42226242
Change-Id: I54f58eca55bed5db08020129514fb187b9a05d58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359882
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42806}
2024-08-19 12:45:52 +00:00
Harald Alvestrand
f4dd393917 Initial implementation of PayloadTypePicker
Bug: webrtc:360058654
Change-Id: I3183939a32744e9389ae2431cc04f8aa517d7efa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359761
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42805}
2024-08-19 11:39:16 +00:00
Mirko Bonadei
ecbba45770 Roll chromium_revision af7f3f9345..f031fbef87 (1339036:1343352)
Change log: af7f3f9345..f031fbef87
Full diff: af7f3f9345..f031fbef87

Changed dependencies
* fuchsia_version: version:22.20240801.2.1..version:23.20240815.4.1
* reclient_version: re_client_version:0.155.0.f89f6fe3-gomaip..re_client_version:0.157.0.d2566cec-gomaip
* src/base: b8c2232900..c79f2cf1aa
* src/build: f513056e19..4a4042e134
* src/buildtools: 1926812554..d6d7cf19f0
* src/buildtools/linux64: git_revision:05eed8f6252e2dd6b555e0b65192ef03e2c4a276..git_revision:32f63e70484f43dd671abd15e5804bd0ef72ea79
* src/buildtools/mac: git_revision:05eed8f6252e2dd6b555e0b65192ef03e2c4a276..git_revision:32f63e70484f43dd671abd15e5804bd0ef72ea79
* src/buildtools/reclient: re_client_version:0.155.0.f89f6fe3-gomaip..re_client_version:0.157.0.d2566cec-gomaip
* src/buildtools/win: git_revision:05eed8f6252e2dd6b555e0b65192ef03e2c4a276..git_revision:32f63e70484f43dd671abd15e5804bd0ef72ea79
* src/ios: cd805e94ec..0d282e9aae
* src/testing: f8da9e037e..9a7b9f09db
* src/third_party: 8759cb0df3..24ddd89921
* src/third_party/androidx/cipd: CC-HiuDii7JswuvWjXQur3fE6jiFKEHspEJlVlnvmd0C..C-tBCqEcdq5_2GSuLyCm3O1N2fDEtO0PzD3S5CJOUWEC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/f01108e476..11f334121f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2feeb46c60..799e21b232
* src/third_party/dav1d/libdav1d: 2355eeb8f2..5ef6b241f0
* src/third_party/depot_tools: 75932421da..caa77da956
* src/third_party/ffmpeg: 67060f141b..14d16cd143
* src/third_party/freetype/src: ec378cecaf..f92c96550a
* src/third_party/jdk/current: BXZwbslDFpYhPRuG8hBh2z7ApP36ZG-ZfkBWrkpnPl4C..sewpT0JmZAgFX_ZzmWhbYPmcPGeDa9os_4Q74ZFbo5sC
* src/third_party/kotlin_stdlib: qtDQdcYfgSh4FeSY3TnkSjnZ5FqCbP1kjk1Zj1m6Jd4C..LPDM6HLFsJuO_Crq0eaKCdr056AgYZ7Jz_D8NYTxragC
* src/third_party/kotlinc/current: dsxRhKDTq0fkLEZLBAcBOaGkoSlvPe_gpTl3o680x7MC..WZnvRnrRxAH_l-qK9RKczWmyPdblSiz87bSG3naRB9QC
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/d8ef6563e0..f6b976de02
* src/third_party/libc++/src: 7993b2fda2..627bf9cce8
* src/third_party/libyuv: a6a2ec654b..679e851f65
* src/third_party/perfetto: 8c29d5e1fe..8cd7489ada
* src/third_party/r8: QtuJZ4FItKaGzvgYY4l_aNZxhg-fSMmRkva2D9sK7KcC..GfHHDCcOQaFctqz13NnLVKOtNvvl6ojpI734A9GhuUQC
* src/tools: 2dc218958f..79b0e0e577
* src/tools/luci-go: git_revision:be41b8d978e22d396ecb4aa9f50ddc3f25977359..git_revision:ad7b787aa0ee53a81bc88fb4f7fee7a3ff1e8c29
* src/tools/luci-go: git_revision:be41b8d978e22d396ecb4aa9f50ddc3f25977359..git_revision:ad7b787aa0ee53a81bc88fb4f7fee7a3ff1e8c29
Removed dependencies
* src/third_party/android_deps/cipd/libs/com_github_ben_manes_caffeine_caffeine
* src/third_party/android_deps/cipd/libs/com_github_kevinstern_software_and_algorithms
* src/third_party/android_deps/cipd/libs/com_google_errorprone_error_prone_annotation
* src/third_party/android_deps/cipd/libs/com_google_errorprone_error_prone_check_api
* src/third_party/android_deps/cipd/libs/com_google_errorprone_error_prone_core
* src/third_party/android_deps/cipd/libs/com_google_errorprone_error_prone_type_annotations
* src/third_party/android_deps/cipd/libs/com_google_errorprone_javac
* src/third_party/android_deps/cipd/libs/com_google_protobuf_protobuf_java
* src/third_party/android_deps/cipd/libs/io_github_java_diff_utils_java_diff_utils
* src/third_party/android_deps/cipd/libs/org_checkerframework_dataflow_errorprone
* src/third_party/android_deps/cipd/libs/org_eclipse_jgit_org_eclipse_jgit
* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk7
* src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk8
* src/third_party/android_deps/cipd/libs/org_pcollections_pcollections
DEPS diff: af7f3f9345..f031fbef87/DEPS

No update to Clang.

BUG=None

Change-Id: Ia618cbadf50c244eb58c2f3f2825b9e537f06630
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359900
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
Commit-Queue: Christoffer Dewerin <jansson@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42804}
2024-08-19 11:27:17 +00:00
Ilya Nikolaevskiy
06391decf8 Revert "Include fuzzers to build by default"
This reverts commit e777c656db6c20329529ff301805d77dba78e7c8.

Reason for revert: Breaks bot: https://ci.chromium.org/ui/p/chromium/builders/try/linux-libfuzzer-asan-rel/1941368/overview
Original change's description:
> Include fuzzers to build by default
>
> Compilation errors in fuzzers are often overlooked when building locally
> adding fuzzers (when configured) to build automatically helps to detect errors earlier.
>
> list of all fuzzers was generated with a command
> gn ls out/Default "//test/fuzzers:*" | grep "fuzzer$" | sed 's/\/\/test\/fuzzers\(.*\)/"\1",/'
>
> Bug: webrtc:42223576
> Change-Id: I6988e96f521a198657833e666428377d0851e1d4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359762
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42794}

Bug: webrtc:42223576
Change-Id: I273b96b1b48053a4895209710a8cabd652d9c61e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359881
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42803}
2024-08-19 11:25:39 +00:00
Dor Hen
d7d940ea59 Apply include-cleaner to api/video_codecs
Bug: webrtc:42226242
Change-Id: I7292811f782ec9a6710c84b1fc36e42ae7ea2c17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359840
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#42802}
2024-08-19 11:23:44 +00:00
Dor Hen
9fb83a18e3 Apply include-cleaner to api/video
Bug: webrtc:42226242
Change-Id: I023f058f3b5e2747bd02f01a191a91636c85f12d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359820
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#42801}
2024-08-19 11:22:41 +00:00
Fanny Linderborg
668e905513 Add support for determining which pixels to sample
Bug: b/358039777
Change-Id: If08f9fa46df4071674605a9feb95b73e71e9a291
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359245
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42800}
2024-08-19 09:43:31 +00:00
webrtc-version-updater
c14658730d Update WebRTC code version (2024-08-19T04:06:43).
Bug: None
Change-Id: I53d31ef4c6f6f9c325a5ffc1730b125084a30a47
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359860
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@{#42799}
2024-08-19 05:59:17 +00:00
Philipp Hancke
13b327b05f srtp: demonstrate wraparound with loss decryption failure
by encryption a packet with sequence number 65535 followed
by a packet with sequence number 1. The second packet is encrypted
with a SRTP ROC of 1 as described in
  https://datatracker.ietf.org/doc/html/rfc3711#section-3.3.1

The packets are (received and) decrypted in a different order,
the packet with sequence number 1 (and ROC=1) is decrypted first.
Since the ROC is maintained locally the decrypting session assumes
it to be 0.

Why is that a problem? The RFC recommends estimating the ROC with +-1 which, as demonstrated by the test, libSRTP does not.
But this is a rare problem that requires a random in a high range combined with packet loss/reordering which turns into no-a-problem if you choose carefully as done by packet_sequencer.cc which restricts the initial sequence number in the range 0..32767 which means you do not run into this issue in production.

See also Q6 in libsrtp's historical documentation at
  https://srtp.sourceforge.net/historical/faq.html

BUG=webrtc:353565743

Change-Id: I9bd72b198c946937aeb25c229005a0c682447f53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358360
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#42798}
2024-08-19 05:17:18 +00:00
Victor Boivie
adb224b3e9 dcsctp: Simplify congestion control algorithm
There was a feature in the retransmission queue to avoid fragmenting
large messages when the congestion window was large. This was a feature
that intended to improve data channel performance under Chrome, where
communication with the network process (over MOJO) was lossy and losing
messages with small fragments could result in unnecessary
retransmissions. But back then, the implementation for fast retransmit
wasn't implemented correctly, so the benchmarking result don't
reproduce any longer.

So just improve the algorithm by removing this code. This aligns it with
the RFC and makes it easier to implement pluggable congestion control
algorithms (that wouldn't want this feature).

Bug: webrtc:42223116
Change-Id: Ifaaa82dac4b8fe2f55418158ae8b3da97199212f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359681
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42797}
2024-08-18 15:20:35 +00:00
Dor Hen
de972c1126 Apply include-cleaner to api/units
Bug: webrtc:42226242
Change-Id: Ic646947aee054f597d1fb069c7a6d0bbaadeb1dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359562
Commit-Queue: Dor Hen <dorhen@meta.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42796}
2024-08-18 06:55:23 +00:00
webrtc-version-updater
a09878cdc7 Update WebRTC code version (2024-08-17T04:08:01).
Bug: None
Change-Id: I2a45f28ce5cf5ad3083bb42ac7c5c6de706c41e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359781
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@{#42795}
2024-08-17 06:15:04 +00:00
Danil Chapovalov
e777c656db Include fuzzers to build by default
Compilation errors in fuzzers are often overlooked when building locally
adding fuzzers (when configured) to build automatically helps to detect errors earlier.

list of all fuzzers was generated with a command
gn ls out/Default "//test/fuzzers:*" | grep "fuzzer$" | sed 's/\/\/test\/fuzzers\(.*\)/"\1",/'

Bug: webrtc:42223576
Change-Id: I6988e96f521a198657833e666428377d0851e1d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359762
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42794}
2024-08-16 17:25:35 +00:00
Danil Chapovalov
24823c502b Add AudioDecoderOpus::MakeAudioDecoder overload taking Environment
Mark old overload deprecated.
This allows to migrate both calls through AudioDecoderFactory and direct calls to AudioDecpderOpus trait.

Bug: webrtc:356878416
Change-Id: I1502aee5b18aac43a8258e77b770c8e73a056f92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359741
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42793}
2024-08-16 15:10:30 +00:00
Danil Chapovalov
e0fe4200eb Provide Environment to consturct AudioDecoder in tests
Bug: webrtc:356878416
Change-Id: Id2803736d06445b536f2ced02509eaaaf8fd804c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359361
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42792}
2024-08-16 14:34:37 +00:00
Fanny Linderborg
aa9e557c81 Add header extension reader/writer for automatic corruption detection
R=sprang@webrtc.org

Bug: b/358039777
Change-Id: I84f447edf0524d4ac6c55cfd96cffe6abb77aaa9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359760
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42791}
2024-08-16 14:14:58 +00:00
Emil Vardar
97ba6afb37 Propagate the base QP value from frame header to Decoded callback in dav1d decoder.
Current version of the dav1d decoder does not propagate any QP value to the Decoded callback. This CL updates this such that the base QP gets propagated from the frame header.

Bug: None
Change-Id: Ib7624b7e27d2c973f1821df5688cbb444e4847a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359740
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Cr-Commit-Position: refs/heads/main@{#42790}
2024-08-16 12:02:20 +00:00
Byoungchan Lee
e630a3d7ad [iOS] Make RTCRtpTransceiver.setCodecPreferences failable and accept nil
Web Spec and C++ version of setCodecPreferences are failable, as they return
an RTCError (in C++) or throw an InvalidModificationError (in Web Spec).
However, current Objective-C version of setCodecPreferences is not failable,
so callers cannot know if the operation succeeded or not.
Also, the current Objective-C version does not accept nil, which is not
spec-compliant. (Web Spec says if codecs is an empty list, set
transceiver.PreferredCodecs to codecs and abort these steps.)

Bug: webrtc:42226103, webrtc:42226230
Change-Id: Ib90f3e5b45fc959eeb92f623cf50efcb458a7478
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352400
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42789}
2024-08-16 08:45:39 +00:00
Johannes Kron
b47cd6fbe3 Ensure calls to QP convergence controller are on the same sequence
The original CL overlooked the possibility that the encoder may be
reconfigured in the middle of a stream.

Restructure the code so that all calls to QP convergence controller
happen on the encoder queue.

A side effect of this CL is that `EncodedImage::SetAtTargetQuality()`
is never called. The information is supplied to the frame cadence
adapter directly without this intermediate step.

`EncodedImage::SetAtTargetQuality()` and
`EncodedImage::IsAtTargetQuality()` are being marked as deprecated
in https://webrtc-review.googlesource.com/c/src/+/359660.

Bug: chromium:359410061
Change-Id: I941b5f60b1a9fd7694dbedf2f3e4ff5253ccf357
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359640
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42788}
2024-08-16 06:54:05 +00:00
webrtc-version-updater
e50b7305e0 Update WebRTC code version (2024-08-16T04:04:57).
Bug: None
Change-Id: I2bf3f5171127d5276ab6c6666220ae5aeb2d03f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359628
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@{#42787}
2024-08-16 06:11:10 +00:00
Philipp Hancke
952c19511f Document when the dependency descriptor can be negotiated but not sent
This can happen when VP8 simulcast is negotiated while two-byte header
extensions are not negotiated via extmap-allow-mixed. For VP8 the
DD extension would be 23 bytes long which exceeds the maximum size
of 15 bytes for a one-byte header extension.

To test, revert
  f04b52b4a7
and test using VP8.

Note that this works for VP9, AV1, H264 out of the box.

BUG=webrtc:40191093

Change-Id: I2f5d04d8b58b71d32547b06fab6b9a9006df9f1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359623
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42786}
2024-08-15 16:38:54 +00:00
Jan Grulich
b4aba7834e PipeWire camera: filter out devices with no capabilities
Filter out devices that do not support any format supported by WebRTC.
This will for example be IR cameras that show as duplicated in the list
of cameras, but support only GRAY8 format and for that reason do not
work at all.

Bug: webrtc:42225999
Change-Id: Ic2905bc66b55c3f48b49ff4097167f10d17ad656
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358864
Commit-Queue: Jan Grulich <grulja@gmail.com>
Reviewed-by: Andreas Pehrson <apehrson@mozilla.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42785}
2024-08-15 09:45:35 +00:00
webrtc-version-updater
db561d4174 Update WebRTC code version (2024-08-15T04:07:06).
Bug: None
Change-Id: I8e632c946e8151870c0a5498d8ef3734d89dc559
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359504
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@{#42784}
2024-08-15 06:19:39 +00:00
Danil Chapovalov
759f8d80f0 Delete expired and unused field trial WebRTC-Audio-OpusPlcUsePrevDecodedSamples
Bug: b/143582588, webrtc:42221607
Change-Id: I49f477ab785801c8ef7143ab8b8654dd7379dfbd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359560
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42783}
2024-08-14 17:21:39 +00:00
Danil Chapovalov
eb26634e6a Cleanup NetEqControllerFactory interface
Finalize change started in https://webrtc-review.googlesource.com/c/src/+/359243
Remove fallback to old interface and unneeded clock member in the config struct.

Bug: None
Change-Id: I4c2b65a09dd1c8a0d44ee76320b095516e2c61fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359561
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42782}
2024-08-14 16:43:57 +00:00
Danil Chapovalov
ce807810be Change AudioDecoderFactory api to provide Environment to construct AudioDecoders
Bug: webrtc:356878416
Change-Id: Id910bef48138b1b659938b1c1a6d23b5634967f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359540
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42781}
2024-08-14 16:02:30 +00:00
Fanny Linderborg
2590d1a7d7 Add message container for the corruption detection extension
Bug: b/358039777
Change-Id: I8f0fbf4b6188293efe621a509e06763bccb800b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359520
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42780}
2024-08-14 12:48:49 +00:00
Danil Chapovalov
2bc77cebf2 Propagate field trials into NetEq DelayManager
Bug: webrtc:42220378
Change-Id: Idf261b0966fb76a68ec610544c705f0aa0f026bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359243
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42779}
2024-08-14 11:03:29 +00:00
Andy Tamilo
b8841f8ebe Fix race condition on ObjCNetworkMonitor::network_monitor_
There is a race condition on reading
`ObjCNetworkMonitor::_network_monitor` field.
The `ObjCNetworkMonitor::OnPathUpdate()` checks its nullability
on the org.webrtc.RTCDispatcherNetworkMonitor thread BEFORE the
`ObjCNetworkMonitor::Start()` assigns it on the network_monitor thread.
In addition, this field is neither atomic nor protected by mutex so its
last assigned value is not guaranteed to be visible to
another [reading] thread.

Bug: webrtc:355238623
Change-Id: I1a05215111cc873b7d4931824e18f281aebfb91f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357880
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42778}
2024-08-14 09:29:55 +00:00
Fanny Linderborg
4fffeabba3 Add generic mapping functions for automatic corruption detection
The functions will be used to map a frame's QP to its optimal standard
deviation for the Gaussian kernel for the filter applied in the
automatic corruption detection algorithm.

Bug: b/358039777
Change-Id: Idb3b8cfdbd4a405151c660df87205e3949f9b085
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359380
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42777}
2024-08-14 07:31:02 +00:00
Philipp Hancke
cfd83744d9 Misc OpenSSL fixes
improving the error message from PEM parsing and adding a few DCHECKs
Tested locally with OpenSSL 3.x

BUG=webrtc:42225468

Change-Id: Ia2ff1e5826f486060db73bee979e2703fc6c5823
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358441
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: David Benjamin <davidben@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42776}
2024-08-14 07:11:57 +00:00
webrtc-version-updater
3ee2161cc9 Update WebRTC code version (2024-08-14T04:04:39).
Bug: None
Change-Id: I1f78fdb78474358081185cdab4efffaa02122d78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359501
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@{#42775}
2024-08-14 06:54:26 +00:00
Dor Hen
9c1ad5f8c0 [iwyu] Add postprocessing to handle gtest/gmock include paths
Unfortunately, clangd's include-cleaner has a smaller set of
customization features and does not allow us to set custom mappings for
certain include paths. Instead, add some postprocessing to our internal
wrapper on top of it (`apply-include-cleaner`) to handle gtest/gmock
include paths

Bug: webrtc:42226242
Change-Id: I65e4f73bb1b762bf2da1fb0f9a520bdd980b64bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359161
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#42774}
2024-08-13 15:33:26 +00:00
Dor Hen
1921fa5ea1 Apply include-cleaner to api/test/[^/]*
e.g all files in the api/test folder not including subdirectories

Bug: webrtc:42226242
Change-Id: I18d74a18f8feec41eb252faa9acfffd1d6f45ce4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359420
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#42773}
2024-08-13 15:28:34 +00:00
Per K
0478d3e15c Ensure loss spikes are ignored
If all packets are dropped for a period of time, an observation window will have the same length as the period when packets are dropped.
If later, no packets are lost, there is no point in loss based bwe backing down.
Therefore, ignore the observation with most loss and least loss when calculating an instant upper bound.


Bug: webrtc:42222865
Change-Id: I1d0125d6c76e68018b2aec1ecaa9b65729963136
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356380
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Diep Bui <diepbp@google.com>
Cr-Commit-Position: refs/heads/main@{#42772}
2024-08-13 14:47:45 +00:00
Danil Chapovalov
9b1c0c8245 Propagate Environment to DecoderDatabase::DecoderInfo
to make it available for creating AudioDecoders

Bug: webrtc:356878416
Change-Id: Ibd24a55df70985dfe02d924da037618f13661032
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359241
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42771}
2024-08-13 13:05:27 +00:00
Dor Hen
8aa4e7c453 Apply include-cleaner to api/test/(video|pclf|network_emulation)/.*
Bug: webrtc:42226242
Change-Id: I28dde76246f9c10e61cd6f294278edd364513267
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359220
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42770}
2024-08-13 10:25:20 +00:00
Danil Chapovalov
96370309a0 Propagate field trials into audio NackTracker
Bug: webrtc:42220378
Change-Id: Ibf831e15b5931925a9efa9099178f71b1a23c147
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359280
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42769}
2024-08-13 10:04:05 +00:00
Mirko Bonadei
1ceff3d442 Reland "Remove jni_zero type aliases in jni_generator_helper.h."
This is a reland of commit 6cb7b3a424455f82ad5df78a7295a3e5253b1445

Original change's description:
> Reland "Remove jni_zero type aliases in jni_generator_helper.h."
>
> This is a reland of commit 9fcaa034bc032da9de5d6fcdd45528169f44d343
>
> Original change's description:
> > Remove jni_zero type aliases in jni_generator_helper.h.
> >
> > This CL removes some type alias from
> > sdk/android/src/jni/jni_generator_helper.h and make sure all the
> > jni_zero types are referred to using the jni_zero:: namespace.
> >
> > The goal is to remove sdk/android/src/jni/jni_generator_helper.h
> > in future CLs.
> >
> > Bug: b/319078685, b/351773023
> > Change-Id: Ief60fce3e8f301f09ac5392d143aa5a82a445bcb
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356882
> > Reviewed-by: Zoé Lepaul <xalep@webrtc.org>
> > Reviewed-by: Jeremy Leconte <jleconte@google.com>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#42618}
>
> No-Presubmit: True
> Bug: b/319078685, b/351773023
> Change-Id: I605a726788ee84efdbdc9e75098b404cbd7c1f30
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358922
> Reviewed-by: Zoé Lepaul <xalep@webrtc.org>
> Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#42751}

No-Presubmit: True
Bug: b/319078685, b/351773023
Change-Id: I8294d8c5c49bc330d8158684a60fd4e6c88627d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359320
Reviewed-by: Zoé Lepaul <xalep@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mohamed Heikal <mheikal@google.com>
Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42768}
2024-08-13 10:01:01 +00:00
webrtc-version-updater
d224ff2c08 Update WebRTC code version (2024-08-13T04:01:32).
Bug: None
Change-Id: I1a5eedcf413389f7d294fac319f4dd78f8d1e2e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359205
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@{#42767}
2024-08-13 06:00:27 +00:00
Mirko Bonadei
4396c2f341 Add MB config for testing with rtc_build_ssl=false.
Bug: webrtc:359141588
Change-Id: Ic8d56fa16effe07bb2863a601a5c19e0713e74fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359300
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42766}
2024-08-12 19:43:09 +00:00
Philipp Hancke
b16d828895 TLS: update SSLStreamAdapter and SSLIdentity tests to various hashes for certificates
since OpenSSL 3.x deprecated SHA1 there and SHA256 has been the default
in Chrome for a decade. Test all variants with a reduced test suite.

BUG=webrtc:42225468

Change-Id: I728bfd953c3248d6a7804c55ab71009fcc701a45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358820
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@{#42765}
2024-08-12 17:05:49 +00:00
Fanny Linderborg
c2a82417e9 Add support for the Halton sequence
Bug: b/358039777
Change-Id: Id191d584e22cf82384a5d16ed355f41c0bb32b7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358981
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42764}
2024-08-12 15:13:34 +00:00
Florent Castelli
06163404a5 openssl: Do not require the rtc_ssl_root variable
If the includes are in /usr/include, adding this path to the include path
may break resolution of internal compiler headers.
If the variable is required, I would expect users to already have it set
properly.

Bug: None
Change-Id: I1d86776da4ae516aba99c58ecee1135dcd27aec8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359240
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42763}
2024-08-12 14:49:49 +00:00
Danil Chapovalov
ea233be459 Remove passing FieldTrialsView into AudioDecoderFactory as unused
Plan is to pass field trials using Environment when creating individual AudioDecoder rather than providing single set of field trials for the factory.
Current implementation is not used, and doesn't pass field trials when actually creating an AudioDecoder

Bug: webrtc:356878416
Change-Id: I0f79f09f7a6aa63e20fbdd783e90e8d026158330
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359221
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42762}
2024-08-12 14:42:37 +00:00