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}
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}
To propagate field trials into the NetEq and further towards Audio Decoders
Bug: webrtc:356878416
Change-Id: Ia7cf18451aef70441ca958bf652f492138c6051a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358620
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42739}
The new type PriorityValue is a strong 16-bit integer matching RFC 8831
requirements that can be built from a Priority enum.
The value is now propagated and used by the SCTP transport, but enabling
the feature still requires a field trial for now.
Bug: webrtc:42225365
Change-Id: I56c9f48744c70999a8c2d01415a08a0b6761df4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357941
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42695}
Field trials are passed during AudioEncoder construction through Environment parameter
All known users were migrated to the same named function without parameters.
Bug: webrtc:343086059
Change-Id: I79e2edae22ab43f98a386430da82b41d1c71e426
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358061
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42693}
Make AudioEncoderFactory::Create pure virtual.
To finalize migrating AudioEncoderFactory to new interface for creating AudioEncoder and thus guarantee AudioEncoders always have an Environment at construction.
Bug: webrtc:343086059
Change-Id: I1d607082437c15201c8a75dd7a3925fe0f75b70f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355800
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42686}
Old copy of the header and some previous usage is kept around
for compatibility with downstream projects for now.
Bug: chromium:345101934
Change-Id: Icbe42fb8450d3a4115799438d209da4eda127bab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357441
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42681}
This requires making CallConfig move-only so it can hold a unique_ptr to
the factory, but as discussed with Danil, that seems fine.
Bug: chromium:355610792
Change-Id: Ie52e33faaa4a2af748daeb25f5327b7a532936e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357862
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42679}
Currently this class assumed that if the same RTP sequence number is unwrapped again result would be the same.
That might not be true when several packets were inserted in between these two calls and unwrapper changed its state
This CL propose instead to unwrap once, and save the result in the intermediate struct.
To minimize the change and the risk, only redundant unwrapping is replaced to use unwrapped sequence number
Bug: webrtc:353565743
Change-Id: I8a18c8c206a0e16010951cabcf81dd9cb1588eda
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357660
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42662}
For better consistency with the rest codebase (it is min_/max_ for all params in video_encoder.h; only qp is for some reason prefixed with minimum_).
Also fixed constant names in libaom AV1 encoder wrapper (moved min from suffix to prefix, minimum -> min_).
Bug: chromium:328598314
Change-Id: I6d8521a3abff3a0595a5241c02ef4746eb4694df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356600
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42604}
There's some test code associated with this code path that can
be deleted, so this is a first step towards removing it. From what
I can tell, this is never used.
Bug: none
Change-Id: Idfb8a6c58b929c2eedd0cfc7bdc72f5b3862f5bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356481
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42600}
Some dependencies still exist but are a bit more complex to remove.
This CL removes either unused or easily replaced with ToString()
instances of ostream usage. In one case, moving the operator<<
implementation to the one test file that requires it.
Bug: webrtc:8982
Change-Id: Ia5c840b12a42893494af401317a3daf2fe50ba9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356240
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42582}
The minimum QP field will be used to signal what the QP value will be
once the encoder reach its target video quality. This will be used
in the generalized QP convergence detection.
Bug: chromium:328598314
Change-Id: I82299cd921e3c091e651218d1e3f337875176567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355701
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Markus Handell <handellm@google.com>
Cr-Commit-Position: refs/heads/main@{#42559}
The field is_steady_state_refresh_frame_ can be used to determine
if the encoded video frame is a repeated frame that should be considered
for QP convergence detection.
Bug: chromium:328598314
Change-Id: Iffba0f9f70af8b41b9bde25cf40b08b77dad8021
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355702
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42550}
Its header and its compilation configs have been removed by
https://webrtc-review.googlesource.com/c/src/+/323004.
Bug: webrtc:12598
Change-Id: I5ecf0c5ab273d09b90e663c1f70d10e4cc593aec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355260
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42538}
The template never pass that parameter to create an audio encoder, and thus is de-facto always unused.
Plan is to propagate field trials differently, during construction of the encoder rather than during construction of the encoder factory.
Bug: webrtc:343086059
Change-Id: I96d49ef7f7ff37524a1eb64f7a2d73881c07e00a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354360
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42527}
First batch of applying iwyu to the repo.
Done with:
> ./tools_webrtc/iwyu/apply-iwyu api
> git add api/[a-s]*
> python3 gn_autodeps.py ~/local/webrtc/src out/Default
Last step is a custom script I wrote to automatically apply new required
dependencies for target in gn, which saved tons of time manually going
over the files and fixing.
If this is something that interest others, I can submit it as well.
Bug: webrtc:42226242
Change-Id: Id109e77f50835827495bc4512880c4ec9ae175f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343680
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#42512}
Allow API users to access the NetworkControllerInterface instance that a
given PC ended up with, to allow integrators who have provided a
PeerConnectionFactoryDependencies.network_controller_factory to
associate a created instance of their custom network controller with the
PC using it.
Eg for the RTCRtpTransport Chromium implementation as in crrev.com/c/5607744.
Bug: chromium:345101934
Change-Id: Ia712ca4f45b90d5078f4e8e5977622d3e9f9aa6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353980
Commit-Queue: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42506}
Update AudioEncoderFactoryTemplate implementation to expand unit tests to the new api.
Bug: webrtc:343086059
Change-Id: Ib63640de38aa15cc36067d5a3d1de2bf42cec313
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353981
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42500}
Before the schedule starts an absl::AnyInvocvable is executed every time
a packet is enqued. The incocable should return true, if the schedule should
be started.
The pupose is to allow tests to not start a schedule until ICE and DTLs
is connected.
Bug: webrtc:42224804
Change-Id: I61bd63508830f7c27d86f982299ce2be180ff460
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/354464
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42479}
To make Environment available for creating AudioEncoders in follow ups
Bug: webrtc:343086059
Change-Id: I0965155915caeee28964ce8406045beeabaa0185
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353741
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42460}
and move usages to webrtc::RefCountInterface
This CL also moves more stuff to webrtc:: and adds backwards
compatible aliases for them.
Bug: webrtc:42225969
Change-Id: Iefb8542cff793bd8aa46bef8f2f3c66a1e979d07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353720
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42446}
since it contains helpers mostly related to cryptographically secure random numbers and strings.
BUG=webrtc:339300437
Change-Id: I10db939534b25dc792ac1600a4721d1b84521880
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42441}
Allow skipping the deinterleaving steps in PushResampler
before resampling when deinterleaved buffers already exist.
Bug: chromium:335805780
Change-Id: I2080ce2624636cb743beef78f6f08887db01120f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352202
Reviewed-by: Per Åhgren <peah@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42438}