This CL also excludes several codec mappings depending on compile-time flags.
Bug: webrtc:9289
Change-Id: I1a9183f88378307925b747576a5513e54be3782e
Reviewed-on: https://webrtc-review.googlesource.com/93462
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24259}
This is a preparation for extracting CSRC book-keeping to its own
class.
Bug: webrtc:7135
Change-Id: Ic51ceb57ec53a43064a3d0392de8baa978a4e8cf
Reviewed-on: https://webrtc-review.googlesource.com/93463
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24257}
This CL ensures that the shadow filter is adapted at each block, which
avoids that a temporary filter length mismatch can occur between the
main and shadow filters.
Bug: webrtc:9602,chromium:872201
Change-Id: I651812b4e3b134c6c5e1fe3df5ab78dbdb5c1fb4
Reviewed-on: https://webrtc-review.googlesource.com/93000
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24253}
* Make shorter 4-frame pattern default if 2 temporal layers are used.
* Make DefaultTemporalLayers usable by upper simulcast stream with 2tl.
* If experimental settings are enable, bump the max bitrate for the top
stream. Since we're now using probing everywhere the rampup should be
less of an issue.
* Additionally, fixes an issue in full stack tests, where
ScopedFieldTrials in an experiment would override the
--force_fieldtrials specified at command line. Some trials added by
the test bots caused timeouts without this.
Bug: webrtc:9477
Change-Id: I42410605d416b51c4fbfe5b6b850997484af583c
Reviewed-on: https://webrtc-review.googlesource.com/92883
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24252}
Any modification of the render stream now happens *before* the
echo detector enqueues render stream frames. In this way, there
is no impact of the render pre-processor on the echo likelihood
metric.
Bug: webrtc:9591
Change-Id: I9b5e339e892796a0d0cd072fdd45d35ec89d8802
Reviewed-on: https://webrtc-review.googlesource.com/93031
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24251}
Also changes default value of frame ID in RTPVideoHeader to
kNoPictureId. Special care should be take so that picture ID will not
be set in RTPVideoHeader unless the client on the end supports
deserializing extended generic header.
Bug: webrtc:9582
Change-Id: Ib096373ed187f31e51d481193a2bda56de68f167
Reviewed-on: https://webrtc-review.googlesource.com/92084
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24250}
This CL adds a flag to optionally disable the digital gain control in
ExperimentalAgc. With the flag, Experimental Agc (henceforth AGC1)
only controls the adaptive analog gain. This flag can be combined to
that which activates AGC2. That way, one can enable the hybrid AGC
configuration AGC1 analog only + AGC2 fixed+adaptive digital.
Previously, there was a flag "use_agc2_digital_adaptive" in
AgcManagerDirect. Our ambition was that to activate the hybrid mode
described above with this flag. The behavior of the flag was not
implemented.
To activate the hybrid mode after this CL, set
ExperimentalAgc::digital_adaptive_disabled=true and
AudioProcessing::Config::GainController2::enabled=true.
We also add flags for these settings in audioproc_f.
Then the required settings are currently
audioproc_f --agc2 1 --agc 1 --experimental_agc 1 \
--experimental_agc_disable_digital_adaptive 1 \
-i [INPUT]
Bug: webrtc:7494
Change-Id: Iea798dc3899cec83d30ba71caba787262fcaef41
Reviewed-on: https://webrtc-review.googlesource.com/89740
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24249}
Similar to how GlDrawer and GlTextureFrameBuffer already works, this
CL updates YuvConverter so that it can be reused after release() has
been called. This makes it more convenient to use, it can be stored
in a final variable, and the resources are lazily allocated on first
usage.
Bug: b/112386285
Change-Id: I437c4c3fd414bc8974df75728f33954b28418e3e
Reviewed-on: https://webrtc-review.googlesource.com/93290
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24248}
It's useful to have one test without clock drift, to distinguish
between errors breaking handling of drift, and errors breaking A/V sync
generally.
Bug: None
Change-Id: Ibc1bdab142ef37cb37171b51c00c556907a5ba6e
Reviewed-on: https://webrtc-review.googlesource.com/93283
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24239}
The cumulative number of packets lost in a RTCP sender report can be
negative if there are duplicates. This CL fixes a bug that the parser of
RTCP reports treats the field as an unsigned integer, and incorrectly
reports large packet losses when a negative loss is reported.
Bug: webrtc:9601
Change-Id: I1109ac0741614d61bda743e13a390b7d3e147a9c
Reviewed-on: https://webrtc-review.googlesource.com/92942
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#24234}
When using the generic descriptor we want all simulcast streams to share one
frame id space (so that the SFU can switch stream without having to rewrite the
frame id). The state also needs to be restored when the RtpVideoSender is
recreated.
Note that |shared_simulcast_frame_id_| is only added, but not used in this CL.
Actually using it will be part of the next CL.
Bug: webrtc:9361
Change-Id: I7192a06d6ae4cab118ca5996ed99a56888ad1d97
Reviewed-on: https://webrtc-review.googlesource.com/92803
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24233}
Agc2 applies a digital gain to the nearend signal.
When the analog level changes, the digital gain calculation is no
longer valid. Therefore Agc2 should be notified to analog gain
changes.
This CL also allow audioproc_f to chain AGC1 and AGC2. In a dependent
CL we will allow using AGC1 for analog gain and AGC2 for digital
gain.
Bug: webrtc:7494
Change-Id: Id75b3728fbf2de1d84b7fba005e4670c7a2985d9
Reviewed-on: https://webrtc-review.googlesource.com/89387
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24231}
For use in AudiReceiveStream, introduce a new method GetSyncInfo. This
change is analogous to https://webrtc-review.googlesource.com/91123,
doing the same for RtpVideoStreamReceiver. It's a preparation for
bypassing the RtpReceiver class.
Bug: webrtc:7135
Change-Id: I87c1c6f0a1f28b0baebe07c4181f6f0427afa314
Reviewed-on: https://webrtc-review.googlesource.com/93022
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24228}
The macro GTEST_RELATIVE_PATH is obsolete and since it is always
defined this CL just removes it.
Bug: webrtc:9564
Change-Id: Ieafa5b77351c4df87864588ba6b3de8f60d54e89
Reviewed-on: https://webrtc-review.googlesource.com/92080
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24226}
Follow-up to 92800 that inadvertedly excluded capturer startup from the CPU timing interval. Also a few style fixes.
Bug: b/112299470
Change-Id: Ida9100ffd8e125fa9a893a4470a0c934c518767b
Reviewed-on: https://webrtc-review.googlesource.com/92882
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24222}
If SW H264 is not supported and a client tries to create such a
decoder from InternalDecoderFactory, we currently crash. This CL
changes so that we log an error and return null from CreateDecoder()
instead.
Bug: webrtc:7925
Change-Id: I0c495f62dae25ac0bf4931c02527eb9977db3d92
Reviewed-on: https://webrtc-review.googlesource.com/92395
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24220}
This adds new constexpr create function for DataSize, DataRate,
TimeDelta and Timestamp. The names are capitalized to mirror the
naming scheme of the previously constexpr methods (Zero and
Infinity create functions). They are also kept longer since they
are not expected to be used in complex expressions.
Bug: webrtc:9574
Change-Id: I5950548718675050fc5d66699de295455c310861
Reviewed-on: https://webrtc-review.googlesource.com/91161
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24218}
Specifically, don't expect the ACM to be able to create encoders; we
have to give it an encoder that we make ourselves.
To make it work, I had to add support for the "ptime" parameter to the
L16 codec.
Bug: webrtc:8396
Change-Id: I3869422882611d2eed65d6c849ea7cd3ad6bd126
Reviewed-on: https://webrtc-review.googlesource.com/87423
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24217}
* More canonical and efficient 'move to front'.
* Don't use 'new' when value semantic is fine.
* Simplify flow (remove One-off private method).
* Remove dead code.
Bug: webrtc:9575
Change-Id: Ie6a3c4e3d5e2342e77e54fd59fffa05f6e5f9ebe
Reviewed-on: https://webrtc-review.googlesource.com/92802
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24215}
This is a quick fix to ensure that we don't wrap the value. A proper
solution would be to ensure that the packets_lost field is signed and
handled as signed at all places it's used.
Bug: webrtc:9598
Change-Id: I3622f2a61aa3af57db6292ef4c0a8e97c4833aa4
Reviewed-on: https://webrtc-review.googlesource.com/92881
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24212}
We both frequentyly work on this code and much of it is intertwined with
pc/ and p2p/ code which we have OWNERs for already.
NOTRY=True
Bug: None
Change-Id: If56ebca6ef44cf9b7837e8d4bc3afa367a5d5216
Reviewed-on: https://webrtc-review.googlesource.com/90084
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24211}