3069 Commits

Author SHA1 Message Date
Tom Sepez
7085a884aa Avoid string duplication when returning StringBuilder strings
The const-ref result of .str() must be copied into the returned
value, whereas the result of .Release() can be moved.

Bug: webrtc:374845009
Change-Id: I3abc98be30ce9947127c7664f5ffa6846b772ea2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366480
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@{#43288}
2024-10-23 07:54:18 +00:00
Per K
3073c4809c Move rtc_base/network/ecn_marking.h to api/transport
For now, old file forward include api/transport/ecn_marking.h
Done in preparation for more usage of this enum when handling received
RFC8888 feedback.

Bug: webrtc:42225697
Change-Id: I022c2b7f1e7f986b24aa32b8911ad67c6640a5c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366440
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43282}
2024-10-22 15:29:49 +00:00
Emil Vardar
a2205e3943 Propagate the corruption_score metric to RTCInboundRtpStreamStats.
Bug: webrtc:358039777
Change-Id: I7e956188a5ef913cbe1647d00ca02b5a46a99b3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362083
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43281}
2024-10-22 12:53:14 +00:00
Dor Hen
ca07d54192 Comment unused variables in implemented functions 4\n
Bug: webrtc:370878648
Change-Id: I32d472174ce4f9f31b829ea89a82a003d333d2b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364539
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#43279}
2024-10-22 11:59:50 +00:00
Dor Hen
6d58a43413 Comment unused variables in implemented functions 3\n
Bug: webrtc:370878648
Change-Id: I40251cc529cc20fbf2b034fa25798965b91dbd88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364683
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43278}
2024-10-22 11:58:48 +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
Danil Chapovalov
ecb3ed7a76 Migrate CreateVoipEngine to take audio_processing_factory instead of audio_processing
This would allow users of the voip engine to migrate away from the AudioProcessingBuilder

Bug: webrtc:369904700
Change-Id: Ie4f6f4579e185ff6366333a3f37e6aaa23b892b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365920
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43255}
2024-10-17 11:12:40 +00:00
Emil Vardar
44e17f3fe4 Add value_type alias to EncodedImageBufferInterface
It would allow to use EncodedImageBufferInterface with gtest container matchers.

Bug: None
Change-Id: Iae37d1a019e044a4ec583c32e8141fe0758e60ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365501
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43253}
2024-10-17 07:39:53 +00:00
Artem Titov
e8d27c7092 PCLF: provide port allocator flags directly instead of providing only extra flags
Bug: b/349563913
Change-Id: Ic2568c1ec4194bee6c2869dfa6a6fa8e1a2d2057
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365800
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43250}
2024-10-16 11:59:37 +00:00
Dor Hen
049b43bd02 [reland] Comment unused variables in implemented functions
Compiling webrtc with `-Werror=unused-parameters` is failling duo to
those parameters.
Also, it shouldn't harm us to put those in comment for code readability as
well.

NOTE: This time I made sure to iterate over the C files in the
audio_processing folder and compile them using gcc.
On the original CL that was reverted - that failed with the same error
Danil mentioned. This time it seems fine.
I'll make sure to run the same script on the rest of my CLs for sanity

Bug: webrtc:370878648
Change-Id: I83cea3a08777e21d26a95bcad503a2d1b74566eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364537
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
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@{#43249}
2024-10-16 11:40:33 +00:00
Danil Chapovalov
2dc95ba299 Add BuiltinAudioProcessingFactory
Its implementation is a copy of the AudioProcessingBuilder with intention to replace all usage of AudioProcessingBuilder with the BuiltingAudioProcessingFactory and thus get Environment with propagated field trials available for AudioProcessingImpl at construction.

Bug: webrtc:369904700
Change-Id: Iee0eb112dd579402fcd5be56bf1054946179d1fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365582
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43242}
2024-10-15 20:10:24 +00:00
Alessio Bazzica
01a9264959 Remove the iLBC audio codec
Bug: webrtc:372395680
Change-Id: I228777281a26ada5336aefc9168b2537e029aca3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365101
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43234}
2024-10-14 12:13:31 +00:00
Danil Chapovalov
ad49112cd0 Introduce AudioProcessingFactory interface
This interface allows to delegate construction of AudioProcessing to
the PeerConnectionFactory where it can provide propagated field trials

Bug: webrtc:369904700
Change-Id: Ie05cd771e4a869fa5f43173e127256800ae0727f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365320
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43233}
2024-10-14 10:56:07 +00:00
Rasmus Brandt
eb0ba6b1ee Add sprang as api/video OWNER
Bug: None
Change-Id: I031e40e5b1a74f8b4bf1f63a7e8234b09faf7058
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365060
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43205}
2024-10-09 12:57:21 +00:00
Harald Alvestrand
8216668537 Add AbslStringify for SessionDescriptionInterface
Should be useful for debugging.

Bug: None
Change-Id: I0c048beb422ca9fb5e6d69bc76379acb272d94bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364820
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43183}
2024-10-07 12:43:15 +00:00
Sergio Garcia Murillo
e17aad2c1d Use rtc::Buffer for memory storage of EncodedImageBuffer
The goal is to be able to write the rtc::Buffer by another utility
(like rtc::ByteBufferWriter) and pass it into EncodedImageBuffer
without memcpy.

Bug: webrtc:42223344
Change-Id: Ieda55e77a36636e8cdff6ad6b7d078de0aeafec0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364243
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43179}
2024-10-07 11:06:04 +00:00
Danil Chapovalov
f75ab82b46 Support RTC_LOG for types that implement both AbslStringify and ToLogString
To support libraries and dependencies compatible with absl way of debug printing custom types.
In particular gtest can use AbslStringify to produce nice output when unit types are compared with EXPECT macros.

Bug: None
Change-Id: Ie78293a225f61977f256f0234e07d166b1977e2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364162
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43164}
2024-10-03 13:54:40 +00:00
Danil Chapovalov
678607501c Revert "Comment unused variables in implemented functions"
This reverts commit 05043e1cef47f33e81bc7ba83b4cc2c407111397.

Reason for revert: breaks compilation of .c files

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

Bug: webrtc:370878648
Change-Id: I4ea50baa2c3d0d162759c8255171e95c6199ed26
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364580
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Owners-Override: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43162}
2024-10-03 11:51:29 +00:00
Dor Hen
05043e1cef Comment unused variables in implemented functions
Compiling webrtc with `-Werror=unused-parameters` is failling duo to
those parameters.
Also, it shouldn't harm us to put those in comment for code readability as
well.

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

Bug: chromium:369369568
Change-Id: Ia93d048742c28af201164fe7b2152b791bb6d0b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363946
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Olov Brändström <brandstrom@google.com>
Cr-Commit-Position: refs/heads/main@{#43156}
2024-10-03 09:07:17 +00:00
Fanny Linderborg
a49ab28fca Set CodecSpecific.FrameInstrumentationData in RtpFrameObject ctor
Bug: webrtc:358039777
Change-Id: Ib0a663f06b293c62a4eb0689b82b3bf919cff25f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364282
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Auto-Submit: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43136}
2024-10-02 07:09:11 +00:00
Harald Alvestrand
d9e9a7bc83 Remove deprecated AddTrack/RemoveTrack functions on MediaStream.
These have been deprecated since 2022.

Bug: None
Change-Id: I8340750f67e57c37601754345c679062c3c23436
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364283
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43122}
2024-10-01 08:30:13 +00:00
Mirko Bonadei
084f1ae4bb Revert "Disable LibaomAv1Encoder tests to unblock Chromium roll"
This reverts commit f8b3dab7c6320a9890f0b003b43d7099e2e00a5b.

Reason for revert: The fix landed in libaom (https://aomedia-review.googlesource.com/c/aom/+/193761) and it is now available in WebRTC (import CL: https://webrtc-review.googlesource.com/c/src/+/364126).

Original change's description:
> Disable LibaomAv1Encoder tests to unblock Chromium roll
>
> The tests exercise the new encoder API that is not used in prod yet.
>
> Bug: webrtc:369633254
> Change-Id: Iee6bc16ebd471f4accdd9531cdb404f159557f51
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363820
> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43083}

Bug: webrtc:369633254
Change-Id: Ia02db32f7f09e3abc3d0a46605feeabd82673f06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364281
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#43120}
2024-10-01 07:36:44 +00:00
Harald Alvestrand
789a54a0c4 Remove ValidateMessageIntegrity standalone functions
These functions have been deprecated since October 2022.

Bug: None
Change-Id: I74f51c9d0e8ee340a2043bf43f7a1b0d8b79726e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43118}
2024-10-01 06:57:24 +00:00
Emil Vardar
f5a547aa99 Make encrypted versions of RTP extension headers be stopped by default.
By this change we aim to remove the flag enable-webrtc-srtp-encrypted-headers.

Bug: chromium:40623740
Change-Id: I74692c90ff1caf2a11d7b73211c1ae4472edfb4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362740
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43105}
2024-09-30 09:22:39 +00:00
Danil Chapovalov
3ae9578f4d Allow scoped_refptr to be used with absl nullability annotation
Bug: None
Change-Id: I6529e85b69e2430b8e57d7ac5f7842a4a74307b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363821
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43094}
2024-09-27 13:14:24 +00:00
Henrik Lundin
1131c26b25 Move default_neteq_factory to api/neteq and make it publicly visible
Bug: webrtc:14867
Change-Id: I30eefba754a3aae28ffa761f706f5655a2de657d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43092}
2024-09-27 08:34:56 +00:00
Sergey Silkin
f8b3dab7c6 Disable LibaomAv1Encoder tests to unblock Chromium roll
The tests exercise the new encoder API that is not used in prod yet.

Bug: webrtc:369633254
Change-Id: Iee6bc16ebd471f4accdd9531cdb404f159557f51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363820
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43083}
2024-09-26 10:09:10 +00:00
Qiu Jianlin
6f90609fca Compare only profile & tier when matching HEVC codec.
Level asymmetry is implicitly enabled for HEVC. When comparing two
codec params to see if they match, we only compare profile & tier,
similar as H.264.

Bug: chromium:41480904
Change-Id: I9e9debdf1b34f33986da9344b9fee14071b1ed60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363205
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianlin Qiu <jianlin.qiu@intel.com>
Cr-Commit-Position: refs/heads/main@{#43069}
2024-09-23 14:27:10 +00:00
Mirko Bonadei
a8829eb5f3 macro cleanup: "(const override)" -> "(const, override)"
Bug: None
Change-Id: Iffd5db39b1a5ae70b403193b40054df04cf5600b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362800
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43065}
2024-09-22 18:30:29 +00:00
Jeremy Leconte
36f153e6d1 Apply include-cleaner to api direct files (2/2).
This is a follow up for https://webrtc-review.googlesource.com/c/src/+/360680.

* Adding some missing <optional> include.
* Adding a IWYU pragma to force keeping an include.

Note that I've added the CQ bot 'iwyu_verifier' to ensure the repo stays clean. It is still work in progress and it currently needs to be triggered manually.
FYI I used these command line to run iwyu:
> for i in api/*.cc; do ./tools_webrtc/iwyu/apply-include-cleaner $i; done
> for i in api/*.h; do ./tools_webrtc/iwyu/apply-include-cleaner $i; done

Change-Id: Ie7036d08edbb6884f2b35eb9d69646757d662390
Bug: webrtc:42226242
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362440
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#43054}
2024-09-19 19:28:49 +00:00
Markus Handell
2548d224dc WebRTC-TaskQueue-ReplaceLibeventWithStdlib: Launch stdlib task queue.
Bug: b/42224654
Change-Id: Ib55420fca40a993790eff3e554ed02d6b3731a6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362780
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43050}
2024-09-19 10:33:24 +00:00
Henrik Boström
825e4f19ce VideoAdapter: Interpret requested resolution as max restriction.
The `requested_resolution` API must not change aspect ratio, example:
- Frame is 60x30
- Requested is 30x30
- We expect 30x15 (not 30x30!) as to maintain aspect ratio.

This bug was previously fixed by making VideoAdapter unaware of the
requested resolution behind a flag: this seemed OK since the
VideoStreamEncoder ultimately decides the resolution, whether or not
the incoming frame is adapted.

But this is not desired for some non-Chrome use cases. This CL attempts
to make both Chrome and non-Chrome use cases happy by implementing the
aspect ratio preserving restriction inside VideoAdapter too.

This allows us to get rid of the "use_standard_requested_resolution"
flag and change the "VideoStreamEncoderResolutionTest" TEST_P to
TEST_F.

Bug: webrtc:366067962, webrtc:366284861
Change-Id: I1dfd10963274c5fdfd18d0f4443b2f209d2e9a4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362720
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43037}
2024-09-17 14:33:26 +00:00
Danil Chapovalov
52ea2c3d2a Propagate FieldTrialsView to query WebRTC-StableTargetRate field trial
Bug: webrtc:42220378
Change-Id: Ie2a2c3eccc36c98f09176eb6f4c5f06ded9f516f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362701
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43036}
2024-09-17 14:24:41 +00:00
Qiu Jianlin
295758848c Export scalability mode helper APIs.
This will help to reduce redundant ScalabilityMode to temporal layer
count mapping in blink.

Bug: chromium:40763991
Change-Id: Ida3e6abb91383e27465eb1b697ad9431935cf9ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362486
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jianlin Qiu <jianlin.qiu@intel.com>
Cr-Commit-Position: refs/heads/main@{#43031}
2024-09-17 11:58:08 +00:00
Henrik Boström
cbf5122333 Avoid signaling requested_resolution back to the adapting source.
When requested_resolution uses a different aspect ratio than the source
the encoder will restrict the frame without changing its aspect ratio,
e.g. a 60x30 input frame that is restricted to 30x30 results in 30x15,
not 30x30.

While this logic works correctly in isolation, if the source also adapts
the frame size based on the sink_wants.requested_resolution that is
signaled back to the source, then the source will produce stretched
30x30 prior to the encoder which happily sends 30x30 not knowing any
wiser.

This is incompatible with the spec[1] and makes this WPT[2] fail. The
correct behavior is to NOT signal the requested_resolution back to the
source, the encoder already configures the correct resolution so this
isn't actually needed and the source shouldn't need to know this API.

In order not to break downstream projects, the new behavior is landed
behind a flag and both behaviors are tested with TEST_P.

This unblocks launching scaleResolutionDownTo API on Web. Migrating
from old to new code path and deleting the flag is a follow-up AI:
webrtc:366284861.

[1] https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-scaleresolutiondownto
[2] https://chromium-review.googlesource.com/c/chromium/src/+/5853944

# Relying on previous green runs for confidence due to purple bots atm,
# see b/367211396
NOTRY=True
NOPRESUBMIT=True

Bug: webrtc:366067962, webrtc:366284861
Change-Id: I7fd1016e9cc6f0b0b9b8c23b0708e521f8e12642
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362541
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43024}
2024-09-16 11:00:13 +00:00
Jeremy Leconte
1bd331f102 Ensure <netinet/in.h> is included by using rtc_base/ip_address.h.
Change-Id: I1b48275ef458bcd579d027b879240c702975ab56
Bug: b/236227627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362280
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#43001}
2024-09-11 08:11:44 +00:00
Jeremy Leconte
83d1f9abd0 Ensure <sys/socket.h> is included by using "rtc_base/net_helpers.h".
* IWYU export <sys/socket.h> from rtc_base/net_helpers.h.
* Add a presubmit check to ensures that <sys/socket.h> is included through net_helpers.h (expect if there is a IWYU pragma or a no-presubmit-check).
* Clean up existing includes of <sys/socket.h>

Change-Id: I4bc6cce045c046287f8f74f89edfc9321293b274
Bug: b/236227627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362082
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#42996}
2024-09-10 14:23:24 +00:00
Dor Hen
28ce65c6f9 Apply include-cleaner to api direct files
Bug: webrtc:42226242
Change-Id: Ia1e6021fc18a30b6da9b4a43118167b6ae173717
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360680
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@{#42993}
2024-09-10 08:29:26 +00:00
Ilya Nikolaevskiy
9f096a8707 Allow VideoEncoderSoftwareFallbackWrapper to return SIMULCAST_PARAMS_NOT_SUPPORTED
Now some HW encoders support simulcast. If parameters are not suitable for
single encoder simulcast, the error code should be forwarded back to
SimulcastEncoderAdapter instead of trying software fallback.

Bug: webrtc:347737882
Change-Id: Id02ff1afc012cd46761d9530b1ce368d5dc480bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361744
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42972}
2024-09-06 12:26:43 +00:00
Fanny Linderborg
ac505c5b9a Enable the FrameInstrumentationGenerator if its extension is negotiated
Bug: webrtc:358039777
Change-Id: I5d1181d174e3e23506baa7f168849f02922311b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361580
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42947}
2024-09-04 15:48:00 +00:00
Danil Chapovalov
45065a749d Delete deprecated AudioDecoderFactory::MakeAudioDecoder
Bug: webrtc:356878416
Change-Id: I672796e5ec749c3ae0141802922951d4fc562d78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359680
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@{#42938}
2024-09-04 07:17:59 +00:00
Kári Tristan Helgason
682f7945d5 Deprecate bad signature for CreateSessionDescription.
Bug: webrtc:360909068
Change-Id: I8640dcf3cb89b1e07ea6745887d152fdeb7479c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360020
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42932}
2024-09-03 12:14:54 +00:00
Danil Chapovalov
04ab497275 Review abseil-in-webrtc for freshness
Remove mention of absl_deps - it is history already.
Rewrite motiviation of banning absl::Span to be up to date with c++20 state.
Remove motivation of banning absl::Mutex as it likely no longer accurate, and that ban might be re-evaluated.
Ensure allow list matches what is in root DEPS

No-Try: True
Bug: b/363943024, webrtc:342905193
Change-Id: I890a87511bafac7c51355d8f49e0237352eee7b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361302
Reviewed-by: 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@{#42914}
2024-09-02 16:26:48 +00:00
Florent Castelli
8037fc6ffa Migrate absl::optional to std::optional
Bug: webrtc:342905193
No-Try: True
Change-Id: Icc968be43b8830038ea9a1f5f604307220457807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361021
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42911}
2024-09-02 12:16:47 +00:00
Per K
b4c1f2f6fc Remove DegradedCall - To be submitted after 2024-07-01
Bug: webrtc:343801362
Change-Id: Icae19ab2f4c87521483d25ae8d44c849c5f8ed2e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353140
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42892}
2024-08-30 08:08:39 +00:00
Fanny Linderborg
2f91bdceee Declare corruption detection URI in RtpExtension
R=sprang@webrtc.org

Bug: webrtc:358039777
Change-Id: I9c66794b8a622bef5505f3a4a7252a0e7a989813
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360760
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42887}
2024-08-29 19:41:16 +00:00
Jakob Ivarsson
04cc4ce2f2 Deprecate NetEq::GetDecoderFormat and remove implementation.
Bug: None
Change-Id: I9c90b41ee528984d1a3cd1632565c6dc1598e4d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360920
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42881}
2024-08-29 10:47:29 +00:00
Danil Chapovalov
a99bf7fa84 Delete deprecated AudioDecoderOpus::MakeAudioDecoder
Bug: webrtc:356878416
Change-Id: I2dc830c46fb5eece3b93a0354fd1e8a323a5e2ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360841
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42880}
2024-08-29 08:55:27 +00:00
Ho Cheung
f2487c0d4f [audio] Adjust the order of some definitions in audio_processing
Moving defines before they are used with
unique_ptr allows to compile this file with
-std=c++2b flag.

Bug: webrtc:339074792
Change-Id: Ie7c37ab724800aea4545b72b4d2a779e12a2026a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360860
Auto-Submit: Ho Cheung <hocheung@chromium.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42879}
2024-08-29 07:08:12 +00:00