In preparation of coming CLs that will add an AGC interface to make the
gain controller injectable.
This CL simplifies AGC2 (dummy sub-module of audioproc_f) since it only
implements the fixed digital mode with hard-clipping - i.e., no limiter
is used.
The AGC2 config now includes the fixed gain to apply and audioproc_f
has been adapted accordingly.
Finally, this CL slightly simplifies the AGC2 integration into APM.
This CL is a continuation of https://codereview.webrtc.org/2995043002/
Bug: webrtc:7494
Change-Id: I3d554ea4dc6208928352059feb14987edabf14c7
Reviewed-on: https://webrtc-review.googlesource.com/4661
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20278}
The config-history is (logically) intended to be unlimited, but in practice, it would be good to cap it, even though the cap is never expected to be reached, so as to prevent a possible attack that would cause memory overuse.
Bug: webrtc:8111
Change-Id: I1f60cf10215bf8191a8ab3c9b19345104c585483
Reviewed-on: https://webrtc-review.googlesource.com/8980
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20276}
I couldn't repro the problem locally, speculatively reland to see if the issue
was solved by recent changes.
TBR=magjed@webrtc.org
This is a reland of bc675ff3fa71549b0a0fdeca56803b41f4de0f53
Original change's description:
> Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."
>
> This is a reland of 0cbaf1a6f6ad13a25993f6ea3be931894a196834
> Original change's description:
> > Use injectable hardware video decoder/encoder in AppRTCMobile.
> >
> > Also include a small fix for getting the encoder queue.
> >
> > Bug: webrtc:7760
> > Change-Id: I96dc8ffb363b90382276d88148f81d5f89dca5f2
> > Reviewed-on: https://webrtc-review.googlesource.com/2683
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20022}
>
> Bug: webrtc:7760
> Change-Id: Ia82129fde7abb59120ba5bb23938db9eb576ae91
> Reviewed-on: https://webrtc-review.googlesource.com/4701
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20080}
Bug: webrtc:7760
Change-Id: If2131b4cdac58cb4d26521fa31e657e29085e0b7
Reviewed-on: https://webrtc-review.googlesource.com/6804
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20275}
In order to enable errorprone [1] we have to fix this finding.
third_party/errorprone has been recently enabled in Chromium and in
order to unblock the Chromium Roll we have to fix these errors.
[1] - https://cs.chromium.org/chromium/src/third_party/errorprone/
Bug: webrtc:8390
Change-Id: Ic737def5ae2a8c6ad1216d9b485af59987fe511c
Tbr: magjed@webrtc.org
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/9161
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20273}
The factory for EchoControl is changed from an rtc::Callback1 to an
interface. This avoids using rtc::Callback1 outside of WebRTC.
This also makes the EchoControl factory more similar to other
factories in the code base.
Bug: webrtc:8345
Change-Id: Ie61b9416ed771f8c756326736d17e339eb768469
Reviewed-on: https://webrtc-review.googlesource.com/8900
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20272}
it allows to create less boil-plate code when marshaling call
with move-only parameters (e.g. unique_ptr) to TaskQueue
Bug: None
Change-Id: I97ddf4f8409af2f83d69fd33267e9a87fb60d901
Reviewed-on: https://webrtc-review.googlesource.com/7619
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20271}
This project can be used for testing the AAR before publishing. Removes
dependency to Chromium from the tests to support Android Studio.
Bug: webrtc:8365
Change-Id: I7568a3f636fd7d478d274b4766f33ab00f28a6f0
Reviewed-on: https://webrtc-review.googlesource.com/7608
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20269}
This should be a separate utility class, rather than internal thing in
ReceiveStatisticsProxy.
Bug: webrtc:8347
Change-Id: I9c8238e625999dba5776d6038c819732d07e9656
Reviewed-on: https://webrtc-review.googlesource.com/7609
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20267}
For each single experiment, a URL is defined by adding a specific anchor.
A URL can be copied using the button beneath the score of the experiment
one would like to share.
This CL also includes a few optimizations and fixes:
- JS and CSS are minified
- Dialog close event listener added, this fixes a small bug preventing
the play out audio to stop when pressing ESC instead of using the close
button
- Snackbar notifications added
- Simple unit test for the export module
BUG=webrtc:7218
Change-Id: Iad00ce69094a5968ee0520d105d59656cfafa4e2
TBR=
Change-Id: Iad00ce69094a5968ee0520d105d59656cfafa4e2
Reviewed-on: https://webrtc-review.googlesource.com/7960
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20266}
When the test was created, it was disabled for mobile platforms from
the beginning. This is likely a copy-paste from the related
NetEqDecodingTest.TestBitExactness which includes testing codecs not
supported on mobile platforms (e.g., iLBC). This restriction is not
needed for the Opus-only test.
The test remains disabled for iOS, since none of the bots actually run
the relevant test binary on actual iOS devices.
Bug: none
Change-Id: I9071e0e32c83b62c8c7af59ac1cb3e46227f8e8e
Reviewed-on: https://webrtc-review.googlesource.com/8561
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20264}
This reverts commit 4d39dc392294807d84eefb1c7414f807d9b4855b.
Reason for revert: To benefit from the other fix in crbug.com/773671. Will reland once DEPS rolling is unblocked.
Original change's description:
> Use subprocess2 for downloading tools.
>
> Change to use exactly the same approach as when gclient hooks
> are executing [1]. It should be safe since it's using the DEPS-pinned
> depot_tools in third_party. Hopefully this solves the race condition
> problems we've been seeing in crbug.com/773671
>
> [1]: https://cs.chromium.org/chromium/tools/depot_tools/gclient.py?rcl=b3ce73d028b1d44137d533220fd41be31bc31801&l=214
>
> Bug: chromium:773671
> Change-Id: Ia003dbca394e42556afa1a416fcb4844b960ad6c
> No-try: True
> Reviewed-on: https://webrtc-review.googlesource.com/8820
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20256}
TBR=kjellander@webrtc.org,mbonadei@webrtc.org
Change-Id: I825d291d6f723cac79a6cc6fc54cd5f9d4877152
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:773671
Reviewed-on: https://webrtc-review.googlesource.com/9080
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20263}
This is the same thing we're doing for usrsctp. Before this CL, the
first SrtpSession to call SetKey would initialize libsrtp, and
ChannelManager's destructor would deinitialize it. This works for an
application that only uses one instance of ChannelManager simultaneously
(or one instance of PeerConnectionFactory), but not one that uses
multiple.
Now, libsrtp is effectively reference-counted, with the first
SrtpSession to take a reference initializing it, and the last to remove
its reference deinitializing it.
This issue was discovered recently due to a change that resulted in
using srtp_update. Without using that method, the issue went unnoticed;
maybe srtp_protect/srtp_unprotect don't require initialization?
Bug: webrtc:8388
Change-Id: If1329360f0b469e454810e62e9b5acfbd4cba100
Reviewed-on: https://webrtc-review.googlesource.com/9000
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20262}
The problem was that TurnCustomizerMaybeModifyOutgoingStunMessage
was called before the message was constructed. This is now fixed
and tested in TestTurnCustomizer.
BUG=webrtc:8313
Change-Id: Ie9a69cc2ff514796af0da987de733b3db8382883
Reviewed-on: https://webrtc-review.googlesource.com/8840
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20261}
Since we migrated to Gerrit recently we cannot rely on the BUG= format
for this check because:
* it is deprecated: https://cs.chromium.org/chromium/tools/depot_tools/presubmit_support.py?l=908&rcl=94652a37677488738626b96ff504fc07afbbaa87
* it causes confusion in our users because Gerrit uses Bug: and all the error messages were requiring BUG=
This CL uses a more general API to get the list of bugs from in a CL and
renames BUG= to Bug:.
Bug: None
Change-Id: I7e86fe6d8ca426d9e4bf3bd39021d2a510ec196f
No-Treechecks: True
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/8881
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20260}
Add missing data dependencies and add it to gn_isolate_map.pyl
Bug: chromium:749648
Change-Id: I6b6c1bb2e4d647471a2747042788a691ce2e1e5d
Reviewed-on: https://webrtc-review.googlesource.com/8721
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20258}
This CL is the same CL we had at https://codereview.webrtc.org/3016513002/.
Since we cannot land it with Rietveld anymore let's move the discussion
to Gerrit.
BUG=webrtc:7646
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal
No-Try: True
Change-Id: I442660e6dc71612d6bbcf73764bd4c6f65fcb760
Reviewed-on: https://webrtc-review.googlesource.com/7982
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Cr-Commit-Position: refs/heads/master@{#20257}
Change to use exactly the same approach as when gclient hooks
are executing [1]. It should be safe since it's using the DEPS-pinned
depot_tools in third_party. Hopefully this solves the race condition
problems we've been seeing in crbug.com/773671
[1]: https://cs.chromium.org/chromium/tools/depot_tools/gclient.py?rcl=b3ce73d028b1d44137d533220fd41be31bc31801&l=214
Bug: chromium:773671
Change-Id: Ia003dbca394e42556afa1a416fcb4844b960ad6c
No-try: True
Reviewed-on: https://webrtc-review.googlesource.com/8820
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20256}
Rietveld CQ has already been disabled and is no longer supoorted.
TBR=kjellander@webrtc.org
No-Try: True
Bug: chromium:770592
Change-Id: I893d7a4be9a22ece16fc7547549143d480174bcb
Reviewed-on: https://webrtc-review.googlesource.com/8780
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20255}
PeerConnectionInterfaceTest_StartAndStopLoggingAfterPeerConnectionClosed was using an invalid file, then checking that StartRtcEventLog returns false. Such a test might return a false positive, since StartRtcEventLog might fail because it was given an invalid file, rather than because the PC was already closed.
Bug: webrtc:8111
Change-Id: I844eb3b948b1406bb6f5cc63928eb26f0fb7b694
Reviewed-on: https://webrtc-review.googlesource.com/8541
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20253}
This CL enables a factory method creating acoustic echo cancellers
that inherit EchoControl to be injected into the audio processing
module. AudioProcessing will call the factory method to create an
instance of the EchoControl subclass when needed. In the event of
sample rate changes, AudioProcessing will recreate the object using
the factory method.
Bug: webrtc:8346
Change-Id: I0c508b4d4cdb35569864cefaa0e3aea2555cc9b9
Reviewed-on: https://webrtc-review.googlesource.com/7742
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20251}
This reverts commit af721b72cc1bdc5d945629ad78fbea701b6f82b9.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Remove sent framerate and bitrate calculations from MediaOptimization.
>
> Add RateTracker for sent framerate and bitrate in SendStatisticsProxy.
>
> Store sent frame info in map to solve potential issue where sent framerate statistics could be
> incorrect.
>
> Bug: webrtc:8375
> Change-Id: I4a6e3956013438a711b8c2e73a8cd90c52dd1210
> Reviewed-on: https://webrtc-review.googlesource.com/7880
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20225}
TBR=asapersson@webrtc.org,sprang@webrtc.org
Change-Id: Ic914f03ff7065ac410ae06b6f82b56a935399b66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8375
Reviewed-on: https://webrtc-review.googlesource.com/8480
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20248}
Temporary files created by AudioFormat tests in modules_unittest are
removed after each test case rather than after the whole suite is
finished. This saves disk space on the running device.
Bug: webrtc:8344
Change-Id: Iace3a7a62bb06e15fa596caf32da873944654c9a
Reviewed-on: https://webrtc-review.googlesource.com/8100
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20244}
Remove REMB accessor as used for debug checks only.
Merge SetRembData and SetRembStatus(true) eliminating
state 'remb can be send, but no data available yet'
Bug: None
Change-Id: I4c1c19435657e5cde02a17de90ec6de9f00b7daf
Reviewed-on: https://webrtc-review.googlesource.com/7983
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20240}
root_build_dir will always be the root build output directory.
root_out_dir is the directory "for the current toolchain".
WebRTC.framework is always in the root output directory.
Bug: webrtc:7507
Change-Id: I30b8eccaac3ed07e40c86acf361ee24a1c20b074
Reviewed-on: https://webrtc-review.googlesource.com/7640
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20237}
In https://webrtc-review.googlesource.com/c/src/+/8020 it seems we
are failing because //third_party/icu is not checked out.
I am not sure why it is starting to happen only now, so I am still
investigating but probably this should fix.
Bug: None
Change-Id: Ic92e64d0b34c581c5a408a03d6359ddff40a5a08
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/7963
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Cr-Commit-Position: refs/heads/master@{#20236}
It has been introduced in https://webrtc-review.googlesource.com/c/src/+/1566 but now it seems we can remove it since it is not raising any failure.
NOTRY=True
Bug: None
Change-Id: Id82b1b7fba6b5277753eabbf9fb7a722819532f9
Reviewed-on: https://webrtc-review.googlesource.com/8302
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20235}
This CL changes the aggregation of the matched filter delay
estimates in AEC3 to using a histogram approach.
Bug: chromium:773541,webrtc:8379
Change-Id: I5322c65858188599397ef5716fecdebc34852e6a
Reviewed-on: https://webrtc-review.googlesource.com/8261
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20234}
This patch adds an interface that allows modification of stun messages
sent by TurnPort. A user can inject a TurnCustomizer on the RTCConfig
and the TurnCustomizer will be invoked by TurnPort before sending
message. This allows user to e.g add custom attributes as described
in rtf5389.
BUG=webrtc:8313
Change-Id: I6f4333e9f8ff7fd20f32677be19285f15e1180b6
Reviewed-on: https://webrtc-review.googlesource.com/7618
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20233}
This CL changes the tuning of AEC3 to increase the transparency.
In particular:
-The present parameters are re-tuned.
-An oversuppression factor is added in the newly added soft-knee in
the NLP gain. The purpose of this is to avoid fluctuations in the
residual echo.
-The dynamics of the computed gain are bounded to ensure that the
specified gain characteristics are realizable without echo leakage.
This also adds robustness against echo leakage in frequency regions
that are poorly estimated.
This change was needed to avoid echo leakage from the above
tunings.
Bug: chromium:773543,webrtc:8378
Change-Id: If8acc41c1423a6a2fa6f8c4daf2735c86f0b529a
Reviewed-on: https://webrtc-review.googlesource.com/8262
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20231}
It's been disabled on Linux and Mac already, but appears to be flaky
regardless of platform; flakes have been observed on Android and
Windows as well.
TBR=stefan@webrtc.org
NOTRY=True
Bug: webrtc:7919
Change-Id: I193f6836fa3ad3928ed7ac05ade4504fa5e37442
Reviewed-on: https://webrtc-review.googlesource.com/8240
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20230}
RtcEventLogOutputFile needs to reset file_ whenever the file is not successfully opened. (The destructor DCHECKs that file_ only exists if it's active, so as to help maintain this.)
Bug: webrtc:8111
Change-Id: I9a375a142af821b3c7183032f0b5d4d612dfa6b8
Reviewed-on: https://webrtc-review.googlesource.com/8080
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20229}