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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
To propagate field trials in addition to clock
Bug: webrtc:356878416
Change-Id: Idefc4848ec4af30c8aed0f93b7fadfc3181bddb1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358980
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42761}
spatial_layers_qp holds the QP values for all the spatial layers. However, receiver only sees one of the spatial layers at a given time. It is of interest to know the shown spatial layers QP. This could also be used to indicate if upper layers are frequently dropped or not.
Bug: None
Change-Id: I462ea11e3447f8ffd11f4a6f2ccbf361102c762f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358863
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Cr-Commit-Position: refs/heads/main@{#42759}
BoringSSL includes cannot be included in an OpenSSL build.
Links the SSL related target against the crypto and ssl libs
the proper way.
Bug: None
Change-Id: I4252e6207815d7d7e35bb8d4d966e3d1b83e659d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358941
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42754}
SHA384 and SHA512 are not yet tested since our (custom)
HMAC code does not support those algorithms and rejects a block size.
Note that this is only used for computing TURN MD5 and STUN SHA1 HMACs
BUG=None
Change-Id: Idabc651d988a5e5f3abd1fad0f36726bcc7a69a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358780
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@{#42753}
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}