2491 Commits

Author SHA1 Message Date
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
Per K
e51d8f003b Send ECT(1) until first feedback after route change
Bug: webrtc:422256974
Change-Id: I6ac2baa57b3095194163a309b6d93f368b1c9967
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376861
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43919}
2025-02-18 12:08:21 -08:00
Sergey Silkin
fa7c5b6674 Don't scale frames by default in the IVF generator
Deliver original decoded resolution unless output resolution is explicitly configured via ChangeResolution().

Bug: none
Change-Id: I1d2a47fa564010202762062d7ac483ad3c4effde
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375340
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43902}
2025-02-17 04:41:41 -08:00
Danil Chapovalov
d964a5444a Cleanup WebRTC-Vp9ExternalRefCtrl field trial
This field trial was enabled by default for a long while.

Bug: webrtc:42234783
Change-Id: If050f88a3649c43d895110f4f68160f020f854e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376421
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43885}
2025-02-13 08:33:41 -08:00
Danil Chapovalov
f972489f32 Migrate PCLF not to create BasicPortAllocator itself
Instead rely on PeerConnectionFactory to create it

Bug: webrtc:42232556
Change-Id: I5710f979e0a030057b16c20fbf088ea2303be760
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376882
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43881}
2025-02-12 06:16:55 -08:00
Philipp Hancke
902bc24b6f iwyu test/fuzzers
Note that this needs to be done with a work directory that supports
fuzzer builds, otherwise IWYU will bail out with complaints about
find-bad-constructs and raw-ptr-plugin

Some manual work was required to resolve the TaskQueueFactory which
is forward-declared by environment which required a manual include
of the header file.

The DcSctp packet fuzzer was also updated use the
disable_checksum_verification option which was moved to the
DcSctpOptions struct.

vp9_encoder_references_fuzzer was trying to include libvpx includes
which had to be reverted.

BUG=webrtc:42226242

Change-Id: I9fdcf979e73fdee77106c4583faff21ca7abf19f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375840
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43873}
2025-02-11 12:04:42 -08:00
Danil Chapovalov
462640e04b Update peer scenario test helpers to newer emulation network api
To minimize direct construction of BasicPortAllocator, network emulation manager api is changed to push toward injecting network dependencies to PeerConnectionFactory and let it create PortAllocator

Bug: webrtc:42232556
Change-Id: I0c86d797a97d543c2f033286281dc1145d4ef51b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376880
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43872}
2025-02-11 11:56:56 -08:00
Danil Chapovalov
8a97881882 Deprecate EmulatedNetworkManagerInterface::network_dependencies
That accessor forces test helpers to create BasicPortAllocator themself
rather than deligate such task to PeerConnectionFactory

Bug: webrtc:42232556
Change-Id: I262e032da110222198e6308f57a5e5f2d7ba4601
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376741
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43870}
2025-02-11 07:07:18 -08:00
Danil Chapovalov
be32f038a0 In EmulatedNetworkManager split out rtc::NetworkManager implementation
This way that emulated network may be injected into PeerConnectionFactoryDependencies
and thus would allow test code not to manually create BasicPortAllocator

Bug: webrtc:42232556
Change-Id: Ifac29e584e66d7e585e8c8d74959cba288c6ffe0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376500
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43864}
2025-02-10 04:34:04 -08:00
Danil Chapovalov
d1c0896062 Apply include-cleaner to test/network
This was generated by
Running
$ for i in test/network/*.cc; do ./tools_webrtc/iwyu/apply-include-cleaner $i; done
$ for i in test/network/*.h; do ./tools_webrtc/iwyu/apply-include-cleaner $i; done
$ python3 ./tools_webrtc/gn_check_autofix.py -C out/Default

manually removing <sys/socket.h> include as suspicious.
manually modifying test/DEPS file.

Bug: webrtc:42226242
Change-Id: Ifda037e1385996ac3b68190c7e30e5309356ebb1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/376382
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43857}
2025-02-07 06:20:08 -08:00
Per K
eb688d6e80 Remove dependency to NetworkStateEstimator from TransportSequenceNumberFeedbackGenerator
NetworkStateEstimator is not used by WebRTC from receive side.

ReceiveSidesCongestionController::SetTransportOverhead is not needed either since NetworkStateEstimator is removed.
Note, CongestionControlFeedbackGenerator is used with RFC 8888 only and feedback frequency will be refactored in later cl.


Bug: webrtc:42220808
Change-Id: I08980aa19117e1de7a9b7896d05d07715dd9f962
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375460
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43821}
2025-01-29 08:43:47 -08:00
Danil Chapovalov
d8fea51d65 Revert "Cleanup usage of the global field trials in the PeerConnectionE2EQualityTest helper"
This reverts commit a97304ca03c2aeb4267dc1bd794c50aa8bdb9a69.

Reason for revert: performance tests still rely in on global field trials to configure PC created by this test fixture

Original change's description:
> Cleanup usage of the global field trials in the PeerConnectionE2EQualityTest helper
>
> Bug: webrtc:42220378
> Change-Id: I3dc1a71c043ef506b6d592673b04e49f4a022d17
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374901
> Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43803}

Bug: webrtc:42220378, webrtc:392672060
Change-Id: Ide265c1284f9d53c0b652ed5e144dfb0a532f87a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375621
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#43812}
2025-01-28 02:51:54 -08:00
Fanny Linderborg
39da6f3a75 Move corruption_detection_message from common_video to api/transport/rtp
Bug: webrtc:358039777
Change-Id: Ic27e162d67c64958844908cdd8413c406e88ea39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375201
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43804}
2025-01-27 03:23:51 -08:00
Danil Chapovalov
a97304ca03 Cleanup usage of the global field trials in the PeerConnectionE2EQualityTest helper
Bug: webrtc:42220378
Change-Id: I3dc1a71c043ef506b6d592673b04e49f4a022d17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374901
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43803}
2025-01-27 02:14:30 -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
Jeremy Leconte
a6bccab358 [DVQA] Dont try to render a 'superfluous' frame.
Change-Id: I3427cecab30b1705e5fbec110494f58cb1c599b5
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374861
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43778}
2025-01-21 03:19:31 -08:00
Henrik Boström
283a84d92a Add matchers for RTCError, rename old matcher for RTCErrorOr.
Needed for testing in a follow-up CL.
Using ToString rather than absl::StrCat because I want the name of the
enum (e.g. "INVALID_MODIFICATION") as opposed to the enum value (int).

Bug: none
Change-Id: I45a925fad65395d1e6a886a9f787c2f360fb8604
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374343
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43777}
2025-01-21 02:21:58 -08:00
Sergey Silkin
a65c453f9e Reduce default max QP for AV1 from 56 to 52
Before this CL VP8 and AV1 used the same max QP=56. Tests show that at this QP AV1 delivers a worse PSNR than VP8. We want AV1 min quality to be not worse than VP8. This CL reduces the default max QP for AV1 to 52. With this value libaom AV1 encoder delivers PSNR close to libvpx VP8 at QP 56.

Bug: webrtc:351644568, b/369540380
Change-Id: I2e27ddab562f9c9710b11dc09076b03d7b308bb0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374041
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43751}
2025-01-16 10:55:53 -08:00
Danil Chapovalov
c329350008 Propagate field trials into EchoCanceller3
Bug: webrtc:369904700
Change-Id: I698dd126f1627f84abe2633bde215c06aeef6299
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372400
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43733}
2025-01-14 07:41:22 -08:00
Boris Tsirkin
557d387a2e Format /test folder
Formatting done via:

git ls-files | grep -E '^test\/.*\.(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: I3a75019dee1ad9bef713d80a5f79cbc56adab472
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/373903
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43690}
2025-01-08 12:17:54 -08:00
Evan Shrubsole
2bd81c62e1 Replace gunit macros with WaitUntil in test/network
Bug: webrtc:381524905
Change-Id: Ice2888b04ec9105ce4e439a163b35378ae773e61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372302
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43666}
2025-01-07 05:46:39 -08:00
Jonas Oreland
99dfa391ca Add config to to enable/disable permissions checks in EmulatedTURNServer
Bug: chromium:1024965
Change-Id: I91b8d29932f08b3011635e62a0879c645b89f106
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372260
Auto-Submit: 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@{#43611}
2024-12-19 04:03:05 -08:00
Per Kjellander
776866774f Propagate desicion if RTP packet should be ECT(1) marked to socket
With this CL, the decision if an RTP packet should be sent as ect(1) is made in RtpControllerSend depending on if RFC 8888 has been negotiated and if CCFB is received with ECN enabled.
Since webrtc does not yet adapt to ECN feedback, packets are sent as ECT(1) until the first feedback is received.

Change-Id: Iddf63849328afbe54a7c8f921f2e8db134aeff6a
Bug: webrtc:42225697
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367388
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43609}
2024-12-19 01:59:49 -08:00
Philipp Hancke
56c14112f8 Re-add DTLS fuzzer corpus
reland of
  https://webrtc-review.googlesource.com/c/src/+/371661
with an absolute BoringSSL path instead of a relative one

BUG=None

Change-Id: I0f2aef4646b8e7c25ea8e0944889d05baa06bd58
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371940
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43598}
2024-12-18 03:04:07 -08:00
Danil Chapovalov
b766572d2b Adjust AnalyzingVideoSink to work with empty requested resolution
- avoid trying to log requested resolution when it is nullopt
- avoid scaling when required resolution happens to be empty. Frame may still arrive in such scenario either because of bugs test tries to catch, or simly because of asynchronous nature of the system under test.

Bug: b/227581196
Change-Id: If1f210c7e372285be38b3f30482827afcb80ede0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371920
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43590}
2024-12-17 11:33:27 -08:00
Danil Chapovalov
6ef206aa1a Remove corpus for dtls fuzzer
Using corpus from another component doesn't seems to work in chromium and blocks webrtc roll into chromium

Bug: None
No-Try: True
Change-Id: I12c460bd1823e929fcdcb6a8feb90e647bb92c39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371661
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43585}
2024-12-17 02:16:20 -08:00
Evan Shrubsole
17ad2f4af6 Add more clocks for WaitUntil support
There are many different clocks used for testing. One day there will
only be one but for now this function needs to support them all.

Bug: webrtc:381524905
Change-Id: I8e240167af2ada2494420c751722f8e0dc97f0d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371303
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43580}
2024-12-16 11:41:20 -08:00
Evan Shrubsole
c36f8dcd98 Remove ExternalTimeController
It is not used so we don't need it.

Bug: webrtc:384483059
Change-Id: I99a4c3dca0881c56d5cd6eb41430505f2c9ccb03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371700
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43578}
2024-12-16 10:14:27 -08:00
Philipp Hancke
adacadb678 fuzzers: add DTLS fuzzer
to fuzz the code parsing DTLS packets for DTLS-STUN piggybacking

BUG=webrtc:367395350

Change-Id: Ifa1a52ef56b322e465604e8d49ae18e5dc27613f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371360
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43562}
2024-12-13 09:24:55 -08:00
Jonas Oreland
575d323671 Fix dcsctp handling of dtls restart
dtls_transport will when detecting a new fingerprint
(e.g by usage of pranswer) signal DtlsTransportState::kNew.
When this happen, the dtls crypto state is lost, and
sctp should reconnect, srtp does this automatically
in current code base.

The existing behavior in dcsctp is that it will detect
peer sending an init, and reconnect. But any messages sent
between the dtls restart and the message arriving from the
peer will be lost.

This patch changes so that this case is gracefully handled by
a) letting dcsctp_transport listen to dtls state
this is big part of patch and involves changing the type of
the underlying dtransport from rtc::PacketTransportInternal to cricket::DtlsTransportInternal. If requested, I can put this
into a separate patch...

b) if a dtls restart happens, delete and restart socket.

Testcase that fails before patch and works after is attached.
Bonus: And include-what-you-use on patch

Bug: b/375327137
Change-Id: Ib78488ae75fd8aeb50d121adf464a33dabbf95e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367202
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43546}
2024-12-12 02:47:01 -08:00
Philipp Hancke
8898459ed2 Clean up p2p:rtc_p2p target
removing the webrtc need for having sources in it.

BUG=webrtc:42226155

Change-Id: I40fbde9064f4fa629c7c6b0cf99f23ab1726da75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370820
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43540}
2024-12-11 14:59:08 -08:00
Philipp Hancke
740d726739 Move DTLS related code from p2p/base to p2p/dtls
BUG=webrtc:367395350

Change-Id: I3fd1551f974705ce6b10e2c757f4d406a520a2c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370460
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#43528}
2024-12-10 15:55:26 +00:00
Per Kjellander
15543544b9 Test that caller adapts to link capacity using CCFB
Fix todo to ensure TransportSequence numbers are generated if CCFB according to RFC 8888 is used. Transport sequence numbers are used in BWE algorithms regardless of feedback format.

Bug: webrtc:42225697
Change-Id: I6eab95c0241d590f6e7a90d19c82d13ab8692f2b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370341
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43515}
2024-12-09 11:35:03 +00:00
Jeremy Leconte
a01f34cdf1 Suppress "UnusedMethod" warning on methods only used on native code.
Change-Id: Ide048fd06d20b6a7a7ef0f74db9d6d267ab61f01
Bug: webrtc:383026404
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370740
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43514}
2024-12-09 11:33:48 +00:00
Björn Terelius
768f78f097 Add missing include in native_test_launcher.cc
Bug: webrtc:42223878
Change-Id: Ice9f4f92e32b6f824b2ded6e84f99a414a7c80ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370760
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43512}
2024-12-09 09:45:46 +00:00
Per Kjellander
67f9d7b4ed Add first L4S test using PeerScenario framework
The purpose is to be able to add more tests that verify that BWE still work and verify ECN behaviour e2e.

Bug: webrtc:42225697
Change-Id: Ie178d29d7870bfa3211d10925d00c621617ddf48
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370561
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43511}
2024-12-09 09:26:36 +00:00
Björn Terelius
711e1a8beb Create a custom test launcher for android
Set use_default_launcher=false in rtc_test on android

Bug: webrtc:42223878
Change-Id: If05da40b420d5da8f9e0f39560eb07380ebada14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368921
Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43505}
2024-12-06 09:30:37 +00:00
Evan Shrubsole
1d2f30b8b9 Add utility WaitUntil for testing for an eventual condition
This replaces the WaitUntilCondition function that was used in the
peer_connection_encodings_integrationtest previously. Along with that it
adds tests and improved error message printing.

As a drive-by, matchers were added for RTCError as these are the return
type of this utility function.

Bug: webrtc:381524905
Change-Id: If7ff18692396d3996b5b289f2d2c92520226003e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369980
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43494}
2024-12-04 13:51:30 +00:00
Per Kjellander
0a69daf38b Add counter of ECN marking to EmulatedNetwork stats
Bug: webrtc:42225697
Change-Id: I99c68afafe20fcdbc785d489a8b484cec3b3987d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368941
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43455}
2024-11-26 10:04:01 +00:00
Per K
394da76a9c Propagate ECN information through Network Emulation
Bug: webrtc:42225697
Change-Id: Idbd1ded3b5401c86d9afc6fd74f6da58e47bf5cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368862
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43441}
2024-11-22 10:04:24 +00:00
Björn Terelius
c181432772 Add debug logging in WavWriterTest.LargeFile
Also CHECK in OutputPathWithRandomDirectory. This function is used in tests that need a unique folder to avoid interaction with other tests that may run in parallel. Continuing with a non-unique folder if the creation fails, is likely to cause surprising errors later on.

Bug: webrtc:379973428
Change-Id: I6a30ef9034be8132e2362eff5e46e3b99b30acd2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368542
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43431}
2024-11-20 18:12:01 +00:00
Qiu Jianlin
c79be57b47 Reland "Set default scalability mode for H.265 to L1T1."
This is a reland of commit 775639e930f14a619974944594b40c633cc574a3

Original change's description:
> Set default scalability mode for H.265 to L1T1.
>
> H.265 does not have software fallback, and it may have issue supporting
> more than 1 temporal layers on some devices. Set default to L1T1 when
> scalability is not configured, or if a scalability mode is reported as
> not supported by encoder.
>
> Bug: chromium:41480904
> Change-Id: I53895c45ec821d65774ffe2db5f418184e3fb02a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367835
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Jianlin Qiu <jianlin.qiu@intel.com>
> Cr-Commit-Position: refs/heads/main@{#43389}

Bug: chromium:41480904
Change-Id: Idedf6249130bd01dd31261672c624b88c3f4c1de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368261
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianlin Qiu <jianlin.qiu@intel.com>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43412}
2024-11-18 10:25:33 +00:00
Harald Alvestrand
752235261e Remove all references to codec-level transport-cc functions and flags.
This seems to have no effect on tests, so it appears that these were
not used after all.
The goal is to make transport-cc a media-section-level attribute.

Bug: webrtc:378698658
Change-Id: Ia20ca5b91472b02db30f911ad1a1892cf36cd682
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368440
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43411}
2024-11-18 10:20:01 +00:00
Jeremy Leconte
dd8d2ab890 Allow union initiliazation for webrtc::webrtc_pc_e2e::AudioConfig.
Change-Id: If7f4ac960528099111dd4e195f5934084bde564a
Bug: b/379255467
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368340
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43406}
2024-11-15 12:38:51 +00:00
Jeremy Leconte
90da0650b5 Allow to specify a 'fps_hint' when creating a IvfVideoFrameGenerator.
Change-Id: Id75694f9dccfa6523f383e03dd90067fb6894b37
Bug: b/378855419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368162
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43395}
2024-11-13 15:15:08 +00:00
Qiu Jianlin
faef5de87c Cleanup H.265 TODOs.
Cleanup some of the TODOs for H.265. They are either invalid or their handling should be merged with other codec types.

Bug: chromium:41480904
Change-Id: I76263354b1b87035e240d77283b21a9a26dcb45b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366044
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Jianlin Qiu <jianlin.qiu@intel.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43359}
2024-11-05 14:06:18 +00:00
Danil Chapovalov
037ab2627d In tests replace AudioProcessingBuilder with BuiltinAudioProcessingBuilder
To move towards deprecating AudioProcessingBuilder

Bug: webrtc:369904700
Change-Id: I7998b331eca26c2185c94c39c1310ef7b6faa717
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367221
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43347}
2024-11-01 12:38:34 +00:00
Danil Chapovalov
dc03d8731f Rename AudioProcessingFactory to Builder
To stress there is no intention to use each instance more than once.

Bug: webrtc:369904700
Change-Id: Id53ad804f39f8ee596ec0b45ff15393009fdfab0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366640
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43324}
2024-10-29 16:34:01 +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
Danil Chapovalov
10e4d86a91 Add helper to inject custom implementation of audio processing as factory
This would simplify migrating from PeerConnectionFactoryDependencies::audio_processing
for users who use own implementation of the AudioProcessing

Bug: webrtc:369904700
Change-Id: Id05f7280fd01a3e8fd4953f1b24b2467335ab065
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366120
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43273}
2024-10-21 11:55:30 +00:00