This CL changes the AGC saturation detection so that saturations only
in one mic channel is counted equally bad as saturations in more than
one channel.
Bug: webrtc:10859
Change-Id: I3cf9fce17c2dd51a70365cc408fe6276944b4b19
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159021
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29731}
Add a runtime setting that notifies play-out audio device changes.
The payload is a pair indicating a device id and its maximum play-out
volume.
kPlayoutVolumeChange is now forwarded not only to capture, but also
render (required by render_pre_processor).
Bug: webrtc:10608
Change-Id: I8997c207422c1dcd1d53775397d6290939ef3db8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159002
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29725}
This reverts commit 1ecfa4d9ddec3518f1bbdf998447d8ac2c2fc6a1.
Reason for revert: This CL was just needed in order to
have a WebRTC commit to pin in Chromium to test the
component build (this CL enables symbol exports).
Original change's description:
> Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
>
> This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
>
> I will revert this reland as soon as it lands because I just need
> to have a WebRTC commit to pin in Chromium in order to test the
> component build (this CL enables symbol exports).
>
> Original change's description:
> > Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
> >
> > In order to land the component build support in Chromium, it is
> > easier to turn on symbols export every time that is_component_build=true
> > instead of setting rtc_enable_symbol_export=is_component_build in
> > Chromium (since is_component_build is not available in .gn).
> >
> > rtc_enable_symbol_export is still kept in the mix in order to turn
> > on symbol exports in any case a shared library will be added to the
> > WebRTC build.
> >
> > Bug: webrtc:9419
> > Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#29540}
>
> TBR: kwiberg@webrtc.org
> No-Try: True
> Bug: webrtc:9419
> Change-Id: I4365fd66968218979e16954c7b00e3bb6d4fe806
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159024
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29723}
TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
Change-Id: I2922161bd97ef209d8cd7ce219eac0080fd69aa8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159027
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29724}
This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
I will revert this reland as soon as it lands because I just need
to have a WebRTC commit to pin in Chromium in order to test the
component build (this CL enables symbol exports).
Original change's description:
> Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
>
> In order to land the component build support in Chromium, it is
> easier to turn on symbols export every time that is_component_build=true
> instead of setting rtc_enable_symbol_export=is_component_build in
> Chromium (since is_component_build is not available in .gn).
>
> rtc_enable_symbol_export is still kept in the mix in order to turn
> on symbol exports in any case a shared library will be added to the
> WebRTC build.
>
> Bug: webrtc:9419
> Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29540}
TBR: kwiberg@webrtc.org
No-Try: True
Bug: webrtc:9419
Change-Id: I4365fd66968218979e16954c7b00e3bb6d4fe806
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159024
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29723}
This CL adds the GRU weights memory layout optimization with which it
will be easier to add SSE2 code in a follow up CL. The new memory
layout also improves the performance of the unoptimized code.
This CL also includes a bug fix in the GRU layer input validation.
It was a silent bug since the GRU layer of the RNN VAD has the same
input and output size. This was caught by changing memory layout of
the recurrent weights. The unit test has been adapted by removing the
unused recurrent weights (the expected result does not change).
Bug: webrtc:10480
Change-Id: Ia1551abde4cb24aa7e109c4447e0fffe7c839077
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142177
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29717}
This CL allows to trigger related tests when rolling opus
(at chromium side).
Bug: chromium:1002973
Change-Id: I811d17233367cabc8b4aa8ab5bbf3e92359afbce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158887
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29716}
This CL adds the SSE2 optimized implementation for fully connected
(FC) layers. The change includes a weights re-alignment op done once
at construction time. It is required in order to optimize the load op
to fill 128 bit registers.
This CL also includes unit test adaptations and a benchmark test
(disabled by default).
Bug: webrtc:10480
Change-Id: I5ed87f0a629faaaf4c8bffbce1cea5557518f8c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141862
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29712}
This reverts commit a4bd0079dc6bca88d52d4d1db21d22572cc6339b.
Reason for revert: This CL was just needed in order to
have a WebRTC commit to pin in Chromium to test the
component build (this CL enables symbol exports).
Original change's description:
> Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
>
> This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
>
> I will revert this reland as soon as it lands because I just need
> to have a WebRTC commit to pin in Chromium in order to test the
> component build (this CL enables symbol exports).
>
> Original change's description:
> > Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
> >
> > In order to land the component build support in Chromium, it is
> > easier to turn on symbols export every time that is_component_build=true
> > instead of setting rtc_enable_symbol_export=is_component_build in
> > Chromium (since is_component_build is not available in .gn).
> >
> > rtc_enable_symbol_export is still kept in the mix in order to turn
> > on symbol exports in any case a shared library will be added to the
> > WebRTC build.
> >
> > Bug: webrtc:9419
> > Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#29540}
>
> TBR: kwiberg@webrtc.org
> No-Try: True
> Bug: webrtc:9419
> Change-Id: Ic20de2a30c391f55401c4b9c8c152cbeb48c91c6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159004
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29710}
TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
Change-Id: Ic15d6a7c16c15e4145374dbec1ea3810f2686e4f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159005
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29711}
This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
I will revert this reland as soon as it lands because I just need
to have a WebRTC commit to pin in Chromium in order to test the
component build (this CL enables symbol exports).
Original change's description:
> Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
>
> In order to land the component build support in Chromium, it is
> easier to turn on symbols export every time that is_component_build=true
> instead of setting rtc_enable_symbol_export=is_component_build in
> Chromium (since is_component_build is not available in .gn).
>
> rtc_enable_symbol_export is still kept in the mix in order to turn
> on symbol exports in any case a shared library will be added to the
> WebRTC build.
>
> Bug: webrtc:9419
> Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29540}
TBR: kwiberg@webrtc.org
No-Try: True
Bug: webrtc:9419
Change-Id: Ic20de2a30c391f55401c4b9c8c152cbeb48c91c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159004
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29710}
task_queue_ outlives the BandwidthStatsTest object, but Posted task
captures |this|. Blocking call in the destructor is a simple way to avoid
that race
(should work as long as posted task doesn't call virtual functions from |this|).
Bug: webrtc:10933
Change-Id: Id30badb711480af5ee737b96b9224c1a73e730ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158898
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29707}
This is the same as the existing version, except it uses the Operations
Chain. As such, if an asynchronous operation that uses the chain is
currently pending, such as CreateOffer() or CreateAnswer(),
AddIceCandidate() will not happen until the previous operation
completes.
Bug: chromium:1019222
Change-Id: Ie6e5fc386fa9c29b5e2f8e3f65bfbaf9837d351c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158741
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29704}
Starting from [1], explicit template declaration/definition is in use
for this template so there is no need to RTC_EXPORT its declaration.
Doing so leads to this error on clang-cl:
../../third_party/webrtc\api/stats/rtc_stats.h(372,1): error: explicit instantiation declaration should not be 'dllexport' [-Werror,-Wdllexport-explicit-instantiation-decl]
WEBRTC_DECLARE_RTCSTATSMEMBER(bool);
^
../../third_party/webrtc\api/stats/rtc_stats.h(369,3): note: expanded from macro 'WEBRTC_DECLARE_RTCSTATSMEMBER'
extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) \
^
../../third_party/webrtc\api/stats/rtc_stats.h(287,7): note: attribute is here
class RTC_EXPORT RTCStatsMember : public RTCStatsMemberInterface {
^
../..\third_party/webrtc/rtc_base/system/rtc_export.h(24,31): note: expanded from macro 'RTC_EXPORT'
Full log: https://ci.chromium.org/p/chromium/builders/try/win_chromium_compile_dbg_ng/430931
[1] - https://webrtc-review.googlesource.com/c/src/+/158795
Bug: webrtc:9419
Change-Id: I9f0893ae26b45049f186e19f862a1d138a320a24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158891
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29703}
This reverts commit 7350a902374c796dec8ce583cfaf4b9697f3a525.
Reason for revert: possibly breaking downstream projects
Original change's description:
> RNN VAD: prepare for SIMD optimization
>
> This CL adds the boilerplate for SIMD optimization of FC and GRU layers
> in rnn.cc. The same scheme of AEC3 has been used. Unit tests for the
> optimized architectures have been added (the same unoptimized
> implementation will run).
>
> Minor changes:
> - unnecessary const removed in rnn.h
> - FC and GRU test data in the anon namespace as constexpr
>
> Bug: webrtc:10480
> Change-Id: Ifae4e970326e7e7c603d49aeaf61194b5efdabd3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141419
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29696}
TBR=gustaf@webrtc.org,alessiob@webrtc.org,fhernqvist@webrtc.org
Change-Id: I9ae82f4bd2d30797646fabfb5ad16bea378208b8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10480
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158893
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29699}
This CL adds the boilerplate for SIMD optimization of FC and GRU layers
in rnn.cc. The same scheme of AEC3 has been used. Unit tests for the
optimized architectures have been added (the same unoptimized
implementation will run).
Minor changes:
- unnecessary const removed in rnn.h
- FC and GRU test data in the anon namespace as constexpr
Bug: webrtc:10480
Change-Id: Ifae4e970326e7e7c603d49aeaf61194b5efdabd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141419
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29696}
This reverts commit 898ae5d74b3a7261c6993315bd2aa9e59cc493c0.
Reason for revert: This CL was just needed in order to
have a WebRTC commit to pin in Chromium to test the
component build (this CL enables symbol exports).
Original change's description:
> Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
>
> This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
>
> I will revert this reland as soon as it lands because I just need
> to have a WebRTC commit to pin in Chromium in order to test the
> component build (this CL enables symbol exports).
>
> Original change's description:
> > Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
> >
> > In order to land the component build support in Chromium, it is
> > easier to turn on symbols export every time that is_component_build=true
> > instead of setting rtc_enable_symbol_export=is_component_build in
> > Chromium (since is_component_build is not available in .gn).
> >
> > rtc_enable_symbol_export is still kept in the mix in order to turn
> > on symbol exports in any case a shared library will be added to the
> > WebRTC build.
> >
> > Bug: webrtc:9419
> > Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#29540}
>
> TBR: kwiberg@webrtc.org
> No-Try: True
> Bug: webrtc:9419
> Change-Id: I1b929a5a702ca8010c557612004f538256be8a4b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158889
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29693}
TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
Change-Id: I39fe67e388857721f239b0042a33ef8ef90f2036
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158890
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29694}
This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
I will revert this reland as soon as it lands because I just need
to have a WebRTC commit to pin in Chromium in order to test the
component build (this CL enables symbol exports).
Original change's description:
> Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
>
> In order to land the component build support in Chromium, it is
> easier to turn on symbols export every time that is_component_build=true
> instead of setting rtc_enable_symbol_export=is_component_build in
> Chromium (since is_component_build is not available in .gn).
>
> rtc_enable_symbol_export is still kept in the mix in order to turn
> on symbol exports in any case a shared library will be added to the
> WebRTC build.
>
> Bug: webrtc:9419
> Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29540}
TBR: kwiberg@webrtc.org
No-Try: True
Bug: webrtc:9419
Change-Id: I1b929a5a702ca8010c557612004f538256be8a4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158889
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29693}
This change adds multichannel support to the AEC3 suppressor.
Processing of mono capture is bit-exact to the previous code.
Bug: webrtc:10913
Change-Id: I89affe3e066021bc34e4b525edf44dd3bea68365
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158882
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29692}
This is a reland of 9dda1b3a484ebeef921e419406402039f3852427
Original change's description:
> Correct AEC3 multichannel functionality activation
>
> This CL corrects the AEC3 multichannel activation
> to also work for the case when a factory is used
> for the activation.
>
> Bug: webrtc:10913
> Change-Id: Ic2807d8bcef759261fde14447cff30633ba248dc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158794
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29676}
Bug: webrtc:10913
Change-Id: I1cb3d0de61ea0b299158ca85433f2442c65c196f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158886
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29690}
This is a reland of 739a5b3692880cb6b41ae620fb9e755c39b044b1
Patchset 1 is the original CL, patchset 3 includes a fix
Original change's description:
> Refactors BitrateProber with unit types and absolute probe time.
>
> Using unit types improves readability and some conversion in PacedSender
> can be removed.
>
> TimeUntilNextProbe() is replaced by NextProbeTime(), so returning an
> absolute time rather than a delta. This fits better with the upcoming
> TaskQueue based pacer, and is also what is already stored internally
> in BitrateProber.
>
> Bug: webrtc:10809
> Change-Id: I5a4e289d2b53e99d3c0a2f4b36a966dba759d5cf
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158743
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29670}
Bug: webrtc:10809
Change-Id: I033193c78474fdd82c109fdab0a8f09a05f7b30e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158841
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29688}
This is a reland of 9dda1b3a484ebeef921e419406402039f3852427
Original change's description:
> Correct AEC3 multichannel functionality activation
>
> This CL corrects the AEC3 multichannel activation
> to also work for the case when a factory is used
> for the activation.
>
> Bug: webrtc:10913
> Change-Id: Ic2807d8bcef759261fde14447cff30633ba248dc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158794
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29676}
Bug: webrtc:10913
Change-Id: Ibfe4e8a51183390a4054514bb294c89c2ea201e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158880
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29685}