1901 Commits

Author SHA1 Message Date
Evan Shrubsole
d9dd939d66 Move safe_minmax.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: Ia3d96dfe1b1c25b6cc21bbd99d24ded7461924cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378061
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43942}
2025-02-20 05:12:52 -08:00
Evan Shrubsole
d650f3c6de Move sample_counter.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: I774efbe2bbe5d29e7eac500acf1fa4c99ebc74a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378041
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43936}
2025-02-20 01:36:23 -08:00
Evan Shrubsole
edc5d89a54 Move json.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: Ibc4842b123dad332840e3ee2e13eeb3af8b6a0b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377820
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43934}
2025-02-20 00:51:03 -08:00
Evan Shrubsole
0ebd67f89d Move string_builder.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: Iad12b11767c3bbaddcf0e87357e8e6037608defb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377740
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43926}
2025-02-19 06:30:53 -08:00
Åsa Persson
04d06457f5 Use encoding max bitrate if configured when applying bitrate limits.
Currently the min of the default bitrate and configured bitrate is used.

Add default bitrate limits for 1080p.

Bug: b/396641469
Change-Id: Iabf243627a6dcbaa1e2f14d4f201c9482f3958d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377123
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43923}
2025-02-19 03:09:10 -08:00
Harald Alvestrand
9acd4d1201 Deprecate ByteBufferWriter::WriteBytes
and switch usages to ByteBufferWriter::Write
This is part of getting rid of "pointer + length" arguments.

Bug: webrtc:42225170
Change-Id: I65a9b9550868022c0eb1f63b547195dadfbea678
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377461
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43916}
2025-02-18 08:24:45 -08:00
Evan Shrubsole
418a8c2c83 Move string_format.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: I208257358150eeb97304946929649414af5eb2ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377542
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43915}
2025-02-18 06:34:45 -08:00
Evan Shrubsole
f052c432fe Move string_to_number.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: I104cff12bf40509fb4554b98f7af16975263285a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377520
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43911}
2025-02-18 01:44:39 -08:00
Qiu Jianlin
6d2579ef25 Update H.265 single-cast bitrate limits.
Update to use similar bitrate limits as VP9, depending on whether QP
from encoder is trusted or not.

Bug: chromium:392060821
Change-Id: I305182fecf7acfe84dbd2e049f9ce712a7a30ede
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376762
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43898}
2025-02-17 02:30:59 -08:00
Emil Vardar
762faa79fc Update outdated comment.
Bug: None
No-Try: true
Change-Id: I5289920a1b59c84333374abbb271332bd7e6fd8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374482
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43879}
2025-02-12 05:05:29 -08:00
Evan Shrubsole
fe5bdd75e0 Move ArrayView, Buffer and related to webrtc namespace
Bug: webrtc:42232595
Change-Id: Idcd603d534eda6a5c1eea36d2c1c1e80c19fa0ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376561
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43863}
2025-02-10 03:54:43 -08:00
Evan Shrubsole
c84133987c Move rtc_base/checks.h and includes to webrtc namespace
Bug: webrtc:42232595
Change-Id: I5459af35b9bbab57748dd74cb9151562b9ff2607
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376480
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43856}
2025-02-07 04:27:42 -08:00
Victor Hugo Vianna Silva
a6f35491d6 [cpp23] Remove use of std::aligned_storage in webrtc
std::aligned_storage is deprecated in C++23, see linked bug. The only
webrtc usage (VoidUnion::inline_storage) employed the default Align
parameter (i.e. std::aligned_storage<Len>, not std::aligned_storage<Len,
Alignment>), which is defined as the largest alignment <= Len.

This patch replaces the usage with a char buffer of same size and
alignment alignof(std::max_align_t). In theory, this might increase
alignment and use more memory. In practice, local testing in my
machines showed no behavior change, since Len =
kInlineStorageWords * sizeof(uintptr_t) = 32 > 16 (maximum alignment
on linux x86_64) > 8 (maximum alignment on mac arm64).


Bug: chromium:388068052
Change-Id: If08b69f7a5ff7b716a66c8703e31eb5d4de14431
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/373800
Commit-Queue: Victor Vianna <victorvianna@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Victor Vianna <victorvianna@google.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43842}
2025-02-03 07:04:52 -08:00
Ho Cheung
18b94b517d [rtc_base] Replace manual element initialization and movement with C++17 standard functions
This CL focuses on addressing the remaining TODO items in the
`//rtc_base/bounded_inline_vector_impl.h` file, mainly involving the two
functions `void DefaultInitializeElements` and `void MoveElements`.

In the `void DefaultInitializeElements` function, the placement new usage is
adopted. When using placement new, manual construction operations on objects are
usually required, and a fair amount of logic needs to be written to ensure
correct object construction. In contrast, the
`std::uninitialized_default_construct_n()` function only requires passing in the
starting address of the memory and the number of objects to be constructed, and
it can automatically construct objects in batches.

In the `void MoveElements` function, the original implementation also uses the
placement new usage. When using placement new to move objects, manual handling
of the moving operation for each object is required, and usually, `std::move`
needs to be combined to achieve the object's move semantics. However, the
`std::uninitialized_move_n()` function can automatically complete the object
moving process just by passing in specific parameters.

To improve the code's simplicity, it is considered to use
`std::uninitialized_default_construct_n()` and `std::uninitialized_move_n()` to
replace the original two placement new usages.

Fixed: webrtc:392037564
Change-Id: If8edcd9ac8a4d85be0ce0a23f6433d7f91b39ad3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375182
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Ho Cheung <hocheung@chromium.org>
Cr-Commit-Position: refs/heads/main@{#43831}
2025-01-31 05:31:32 -08:00
Philipp Hancke
4e8c984d15 Obfuscate private keys in unit tests to avoid false lint errors
This was already done in one place but got caught by our linter
nonetheless. For better obfuscation split "PRIVATE" into two pieces.

BUG=None

No-Iwyu: mostly unrelated changes and some require special attention
Change-Id: Iba82b603fd5c5a50c75fc7e27cafbc7237e956f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375063
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43798}
2025-01-24 10:19:00 -08:00
Evan Shrubsole
0bebca526a Remove gunit.h EXPECT/ASSERT..WAIT macros
Bug: webrtc:381524905
Change-Id: I01dff16f7ec26fa4075a9ef659dee3f0844db041
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374881
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43785}
2025-01-22 00:33:15 -08:00
Harald Alvestrand
32f3c6cef1 Add AbslStringify for RtcErrorType and RtcErrorDetail
Drive-by: fix MakeVal in rtc_base/checks.h to ensure that StrCat is
used for types that have AbslStringify.

Bug: None
Change-Id: Ia78c65da18b4a826365a6a2c741f11809640197f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374345
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43779}
2025-01-21 07:10:50 -08:00
Philipp Hancke
9165a9b436 Disable OpenSSL tests needing a fake clock when boringssl is not used
since OpenSSL lacks that feature so broke as a result of
https://chromiumdash.appspot.com/commit/130bdcea7e69368cae66e10a99c5e86dc4e5770a

BUG=webrtc:375552698

Change-Id: I55da67a7dcf5815f7190bd43847a9ad6f7c1b93d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374600
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43767}
2025-01-19 22:33:02 -08:00
Evan Shrubsole
d9593037dd Replace gunit.h macros with WaitUntil in rtc_base/
Bug: webrtc:381524905
Change-Id: I7a78269586ee3556c0b3de63f5add393f12f4fa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374223
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43757}
2025-01-17 06:44:49 -08:00
Boris Tsirkin
5654f891bb Format /rtc_base folder
Formatting done via:

git ls-files | grep -E '^rtc_base\/.*\.(h|cc|mm)' | xargs clang-format -i

No-Iwyu: Includes didn't change and it isn't related to formatting
Bug: webrtc:42225392
Change-Id: I11c1ae6d6ea49c744a4e60a1a032e3d5ae7bce1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/373906
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43688}
2025-01-08 11:20:49 -08:00
Philipp Hancke
3905b25018 clean up WebRTC-DisableTlsSessionTicketKillswitch
which shipped in M131.

BUG=webrtc:367181089

Change-Id: I967bafbab99bf211b0e6a4454f6598fd52493b26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370080
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43674}
2025-01-08 01:00:56 -08:00
Jonas Oreland
6660e43c30 Forward fix bug in https://webrtc-review.googlesource.com/c/src/+/372201
This patch fixes a scenario in which the ssl_ object was freed.

BUG=webrtc:383141571

Change-Id: I413b028473aff9c3078f9bbab8e1fee718623417
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372340
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43621}
2024-12-20 06:42:27 -08:00
Jonas Oreland
12574a315f DTLS 1.3 - patch 4
This patchs adds a field trial for enabling DTLS1.3, WebRTC-ForceDtls13
- "Enabled" set max version to DTLS1.3
- "Only" set min & max version to DTLS1.3

Wireup a FieldTrialsView so that this does not
use the global string.

Also convert the WebRTC-DisableTlsSessionTicketKillswitch
from global string to FieldTrialsView.

BUG=webrtc:383141571

Change-Id: Ia775efc1dcbffd01bfddb6030490438cb8de89d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372261
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43616}
2024-12-19 07:37:19 -08:00
Jonas Oreland
35f73ddca4 DTLS 1.3 - patch 3
Modify openssl_stream_adapter to check/set
timer regardless of dtls state. This is needed for DTLS1.3
orelse handshake will never complete if last client
packet is lost (e.g if retransmit is not triggered after
writable) as show by TestHandshakeLoseSecondClientPacket.

TestHandshakeLoseSecondClientPacket works with/without this
patch if using DTLS1.2.

BUG=webrtc:383141571

Change-Id: I2757783c9e79686d1fbe0eff12341ab9e3863fdd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372201
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43610}
2024-12-19 03:36:52 -08:00
Jonas Oreland
ac40185001 DTLS 1.3 - patch 2
- add DTLS1.3 ciphers (without KeyType)
- remove code in dtls_transport.cc that tries to parse DTLS packet
- cleanup some test
- start on test for packet loss during dtls handshake (more to come!)

After this patch is submitted, it is possible
to set max version = dtls1.3 and it will active
but DON'T do it yet.

BUG=webrtc:383141571

Change-Id: I6f9a120c53415ccee7a560ea83bd0c2636702997
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371300
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43595}
2024-12-18 02:26:22 -08:00
Evan Shrubsole
108cde271b Replace use of PrintTo with AbslStringify for RTC stat types
This allows other tests using RTC stats to get pretty printing as well.

Bug: webrtc:381524905
Change-Id: Ib1eb9e1dad36b89e5b1c2ec687fcfeb308f82939
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370761
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43575}
2024-12-16 04:51:37 -08:00
Markus Handell
74ace1a6e3 Remove libevent task queue.
Previous CLs that disabled the rtc_enable_libevent build flag
did not reveal issues. Now continue to remove the source code for
the task queue.

Bug: webrtc:42224654
Change-Id: I0866b4b56f0a8d8b56a5b604c31a426d77ab8d04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370801
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43550}
2024-12-12 08:43:25 -08:00
Jonas Oreland
dcf0ffa639 dtls-1.3
Add SSLProtocolVersion for TLS13 and DTLS13
Allow setting max version to 13 (for BoringSSL)
Don't change any defaults.
This is a NOP.

BUG=webrtc:383141571

Change-Id: I11303c14e8d79c09d9437d44e44003c67d2fc31b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370900
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43530}
2024-12-10 18:45:36 +00:00
Harald Alvestrand
07d7ca0352 Mark sigslot version as N/A
and include explanation of source access.

Bug: chromium:362397798
Change-Id: I7af673ffe060507b0e9dea95d650ffb0a681727c
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370120
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43484}
2024-12-03 12:17:02 +00:00
Evan Shrubsole
23438deabb Allow enums that have AbslStringify to be logged as text
When an enum has AbslStringify, we log the text coming from stringifying it, not the numeric value.


Drive by changes,
1. Changed the tests to use string matchers rather than
   std::string::find.
2. Fixed test includes.
3. Fix spelling.

Bug: webrtc:381502973
Change-Id: I6bab0afda1b20d72c02629e80ff2ac567650183a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369861
Auto-Submit: Evan Shrubsole <eshr@google.com>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43471}
2024-11-29 11:49:50 +00:00
Philipp Hancke
c75fbe24e6 Clean up legacy variant of DTLS-SRTP key exporter
BUG=webrtc:357776213

Change-Id: Id383c3a2a8627e3d0aceb80da30db14ea689ac93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368181
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43467}
2024-11-28 19:03:50 +00:00
Florent Castelli
1bda6a6a58 Make SSLStreamAdapter::SetPeerCertificateDigest use of const uint8_t
This allows it to accept rtc::CopyOnWriteBuffer.

Bug: webrtc:357776213
Change-Id: I8c9eeb5577e8de902db144aff5ad8eee87e5a530
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369640
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43464}
2024-11-27 15:44:38 +00:00
Philipp Hancke
4060745995 spanify SSLStreamAdapter::SetPeerCertificateDigest
BUG=webrtc:357776213

Change-Id: Ie6189ac21b9f76f7ce5ddb3e4208c08793df73ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368220
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43462}
2024-11-27 06:13:28 +00:00
Per Kjellander
f4ee1a1ef3 Make PercentileFilter usable with DataRate and other types
Return default value T() if no values have been added to the filter.
Together with
https://webrtc-review.googlesource.com/c/src/+/369440, DataRate etc can be used by the filter.

Bug: None
Change-Id: I3d0e1a3e698a91a6197bf434ace2ff8246dc393e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43461}
2024-11-26 19:52:25 +00:00
Danil Chapovalov
e0a524b5e0 Add default constructor to relative units types
0 is natural default value for types that can be accumulated
Having default constructor simplify usage of these types in templated code.

Bug: None
Change-Id: If005c69018a2a11011bc789502fdbc600cad3278
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369440
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43460}
2024-11-26 17:59:08 +00:00
Johannes Kron
7f775bc94c Ensure accurate FPS calculation for low frame rates
When receiving streams with frame rates around 1 fps, the decode and
render fps were incorrectly reported as 0, even though frames were being
decoded successfully.

This commit addresses the issue by adjusting the calculation in
RateStatistics to better handle streams with frame intervals that are
close to the window size.

1 fps streams are an important special case that occur frequently in
in screen share scenarios.

Fixed: webrtc:354625675
Change-Id: I1362768229a3abab5929220ba4bbd5ccb06a33d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368080
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43417}
2024-11-18 14:17:22 +00:00
Björn Terelius
3ffe94314a Fix lint warnings in TaskQueueStdlib
Bug: None
Change-Id: I4fd89dac39c0585793601d7adb5181a6ac15a64f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368460
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43415}
2024-11-18 11:51:15 +00:00
Mirko Bonadei
79c380c5b7 Always compile rtc_base/trace_categories.{h,cc}.
Instead use the preprocessor to avoid compiling Perfetto related code
when RTC_USE_PERFETTO is not defined.

Bug: None
Change-Id: I85b37cb0287327035ac2e8feb3caf9505486a1e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368343
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43410}
2024-11-18 09:34:33 +00:00
Guillaume Petit
1dcf202ffe Fixes a linear interpolation bad access
Bug: webrtc:353425611
Change-Id: I9c38428d2463d9d76047ad5be84ed57cba9ebb72
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367981
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43408}
2024-11-16 07:16:53 +00:00
Philipp Hancke
f4abc03ca2 Reduce DTLS RSA certificate tests
by going from cartesian product of combinations to an explicit
minimal list.

BUG=webrtc:375552698

Change-Id: I99b9afd7376f19abde54dafd8917954617d8c255
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367504
Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43373}
2024-11-07 18:45:56 +00:00
Per Kjellander
906deafff4 Add support for sending packets with ECT(1) based on packet options in native WebRTC.
With L4S in WebRTC, only RTP packets are supposed to be send with ECT(1)

Bug: webrtc:42225697
Change-Id: If10bf74a867d3ea04fd1fb931cdc2a6380176270
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367220
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43343}
2024-11-01 07:48:19 +00:00
Harald Alvestrand
aaaeb29ef5 Allow single-argument StrCat
and modify DEPS files accordingly.
This is done in support of the decision to encourage AbslStringify.

Bug: None
Change-Id: I26fee77978d1dd21be6d2ef011c4dfd78a7b43e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367204
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43338}
2024-10-31 15:31:38 +00:00
Philipp Hancke
130bdcea7e Use fake clock for SSLStreamAdapter unit tests
BUG=webrtc:375552698

Change-Id: I2859b6220194ff747637a9a3870c5b8979c83ca8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366940
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43333}
2024-10-30 14:04:14 +00:00
Philipp Hancke
ddac9f2739 Reduce RSA key size for SSLStreamAdapter test
and remove the testing of the nondefault key size from the "server" parameters to speed up tests

BUG=webrtc:375552698

Change-Id: Ibc1bd491300964aa45826b98962ed3e56c6d4974
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366941
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Christoffer Dewerin <jansson@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43321}
2024-10-29 09:29:36 +00:00
Philipp Hancke
0e5d73510d DTLS: cleanup extension permutation
which shipped in M129.

BUG=webrtc:42225803

Change-Id: I5021c7878069a1cd0eafd078b73fa57c5b9b2155
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364360
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43313}
2024-10-28 10:04:37 +00:00
Jakob Ivarsson
68f4e27794 Add RtpSender OnFirstPacketSent callback.
It works in the same way as the first packet received callback and can be used for latency measurements.

One important detail is that RTCP and probe packets are excluded from triggering the callback.

Bug: b/375148360
Change-Id: I5f99b565f96b622e864669cf227be5534aab0fc7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366644
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43309}
2024-10-25 16:17:04 +00:00
Per K
1d2f85d1ce Implement support for receiving feedback according to RFC 8888
Bug: webrtc:42225697
Change-Id: Ieb270b44da223436d2fd3fa353dc857f378ee88d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365700
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43305}
2024-10-25 09:29:21 +00:00
Tom Sepez
a21152ab85 Use mutable lambda captures in AsyncDnsResolver::Start().
Otherwise, the captured variables are immutable, so a subsequent
std::move() silently degrades to a copy.

-- Add missing () for consistency with other no-arg lambda
   captures.

Bug: webrtc:374845009
Change-Id: I205589ff8047446918a45203a22620846b271187
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366280
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43289}
2024-10-23 10:02:04 +00:00
Danil Chapovalov
eba6831300 Alias instead of reimplement rtc::RefCountedObject
Mentioned reasons for re-implementing it do not apply when simplest form of aliasing is used.

Bug: webrtc:42225969
Change-Id: If8b51f173faf4c66cde74413f4fbc7c72ad87323
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366460
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43285}
2024-10-22 17:00:11 +00:00
Florent Castelli
c2180102e4 Rename rtc::Packet to rtc::VirtualSocketPacket
Bug: webrtc:42222919
Change-Id: I476624e986d4ef9208ec8673d9f6968fe00ea498
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366423
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43283}
2024-10-22 16:28:32 +00:00