Commit graph

442 commits

Author SHA1 Message Date
Per Åhgren
b6f9e6c979 Added further ability to adjust the filter adaptation in AEC3
Bug: webrtc:8609
Change-Id: I079935bd782afc89146d98fd2248a1c6389871c9
Reviewed-on: https://webrtc-review.googlesource.com/32420
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21268}
2017-12-14 08:28:31 +00:00
Per Åhgren
2e27d1cf5e Corrected incorrect overrun event assignment in AEC3
Bug: webrtc:8637,chromium:794099
Change-Id: I46b4a7268fc03e5b3fbc93a334e07c507f78304f
Reviewed-on: https://webrtc-review.googlesource.com/32200
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21219}
2017-12-12 09:14:17 +00:00
Per Åhgren
477f289779 Added the ability to adjust the filter adaptation speed in AEC3
Bug: webrtc:8609
Change-Id: I90eac3948ad0b7b1b5df2585ace3783e950c05d5
Reviewed-on: https://webrtc-review.googlesource.com/31485
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21217}
2017-12-11 22:58:46 +00:00
Per Åhgren
09a718accd Added the ability to more easily adjust the filter length in AEC3
Bug: webrtc:8609
Change-Id: If060b332993c2c98d7a12608ab31f4da858b8016
Reviewed-on: https://webrtc-review.googlesource.com/28620
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21216}
2017-12-11 22:02:46 +00:00
Per Åhgren
c59a576c86 Corrections of the render buffering scheme in AEC3 to ensure causality
This CL modifies the refactored render buffering scheme in AEC3
so that:
-A non-causal state can never occur which means that situations with
 nonrecoverable echo should not occur.
-For a stable audio pipeline with a predefined API call jitter,
 render overruns and underruns can never occur.

Bug: webrtc:8629,chromium:793305
Change-Id: I06ba1c368f92db95274090b08475dd02dbb85145
Reviewed-on: https://webrtc-review.googlesource.com/29861
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21215}
2017-12-11 21:09:56 +00:00
Per Åhgren
63b494dff7 Reverted the new handling of saturated echoes in AEC3
This CL reverts the changes introduced that handles echoes in AEC3.
The revert is done to match the behavior which is in M63.

Bug: webrtc:8615,chromium:792346
Change-Id: I128ccb17dc359c7889a701a2faaaf06be40f86dd
Reviewed-on: https://webrtc-review.googlesource.com/30140
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21117}
2017-12-06 11:04:22 +00:00
Per Åhgren
8ba5861f7e Redesign of the render buffering in AEC3
This CL centralizes the render buffering in AEC3 so that all render
buffers are updated and synchronized/aligned with the render alignment
buffer.

Bug: webrtc:8597, chromium:790905
Change-Id: I8a94e5c1f27316b6100b420eec9652ea31c1a91d
Reviewed-on: https://webrtc-review.googlesource.com/25680
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20989}
2017-12-01 23:14:32 +00:00
Gustaf Ullberg
2723fb162c Added ERL and ERLE metrics to UMA.
Bug: webrtc:8569
Change-Id: Ie820ebbe6ea1d8742c32a7aba540cfebd8757818
Reviewed-on: https://webrtc-review.googlesource.com/25560
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20924}
2017-11-29 09:06:59 +00:00
Per Åhgren
83c4a02b76 Added metric for the delay in AEC3.
Bug: webrtc:8569
Change-Id: I659049a411654bd3a252ab29008fac467f903efd
Reviewed-on: https://webrtc-review.googlesource.com/25600
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20892}
2017-11-27 12:52:42 +00:00
Gustaf Ullberg
332150d7df APM reports ERL and ERLE metrics for AEC3.
The audio processing module reports the metrics 'echo return loss'
and 'echo return loss enhancement' for AEC3.

Bug: webrtc:8533
Change-Id: I166c504adf013d6cb5d6d3c9717d0622c3454bb7
Reviewed-on: https://webrtc-review.googlesource.com/24880
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20835}
2017-11-22 15:01:47 +00:00
Karl Wiberg
e40468ba3d Move some numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  safe_compare.h
  safe_conversions.h
  safe_minmax.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
Oskar Sundbom
aa8b67da9d Optional: Use nullopt and implicit construction in /modules/audio_processing
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=henrik.lundin@webrtc.org

Bug: None
Change-Id: I733a83f702fe11884d229a1713cfac952727bde8
Reviewed-on: https://webrtc-review.googlesource.com/23601
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20786}
2017-11-20 10:19:30 +00:00
Per Åhgren
38e2d95bda AEC3 delay estimator refactoring and introducing ability to customize
This CL refactors the delay estimator in AEC3.
Furthermore, it adds:
1. Allow for a customized delay estimator behavior to simplify
development.
2. Exposes that behavior to clear configuration settings.
3. Adds logging of the delay range supported by the delay
estimator.

Bug: webrtc:8519
Change-Id: I1764a090519a78b021b2e7de565c52a6c02c848e
Reviewed-on: https://webrtc-review.googlesource.com/21166
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20733}
2017-11-17 17:51:37 +00:00
Gustaf Ullberg
fe4d673393 Compute ERL over all frequency bins in AEC3.
Bug: webrtc:8533
Change-Id: I7160361b3468bb24cef9e6d390f10b23b988edd3
Reviewed-on: https://webrtc-review.googlesource.com/23242
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20713}
2017-11-16 14:40:33 +00:00
Gustaf Ullberg
c9b89aaa16 Compute ERLE over all frequency bins in AEC3.
Bug: webrtc:8533
Change-Id: I0a373f22ec377b226d3bc7d88d3245a99e18c7a0
Reviewed-on: https://webrtc-review.googlesource.com/23621
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20709}
2017-11-16 12:37:03 +00:00
Mirko Bonadei
675513b96a Stop using LOG macros in favor of RTC_ prefixed macros.
This CL has been generated with the following script:

for m in PLOG \
  LOG_TAG \
  LOG_GLEM \
  LOG_GLE_EX \
  LOG_GLE \
  LAST_SYSTEM_ERROR \
  LOG_ERRNO_EX \
  LOG_ERRNO \
  LOG_ERR_EX \
  LOG_ERR \
  LOG_V \
  LOG_F \
  LOG_T_F \
  LOG_E \
  LOG_T \
  LOG_CHECK_LEVEL_V \
  LOG_CHECK_LEVEL \
  LOG
do
  git grep -l $m | xargs sed -i "s,\b$m\b,RTC_$m,g"
done
git checkout rtc_base/logging.h
git cl format

Bug: webrtc:8452
Change-Id: I1a53ef3e0a5ef6e244e62b2e012b864914784600
Reviewed-on: https://webrtc-review.googlesource.com/21325
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20617}
2017-11-09 11:56:32 +00:00
Per Åhgren
74e72c8c9b Lowering the threshold for delay change detection in AEC3
This CL lowers the threshold for delay change detection in AEC3.
This makes the delay decisions more stable.

TBR=gustaf@webrtc.org

Bug: chromium:778396,webrtc:8451
Change-Id: I8b015455399d696172b7c0beb033caf508f426e9
Reviewed-on: https://webrtc-review.googlesource.com/15541
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20433}
2017-10-25 21:56:30 +00:00
Gustaf Ullberg
84634b8634 Temporarily disabled failing death test.
Some death tests for AEC3 cause memory leaks on trybots. This CL
temporarily disables BlockProcessor.VerifyRenderBlockSizeCheck.

Bug: webrtc:8449,webrtc:6985
Change-Id: I2900a73f7c7d5bf0e8b58a20f9a40bd5d654629a
Reviewed-on: https://webrtc-review.googlesource.com/15500
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20431}
2017-10-25 15:24:46 +00:00
Per Åhgren
7ddd46386a Balancing the transparency in AEC3 between saturating and low echo paths
This CL balances the NLP tradeoff in AEC3 to properly handle the cases
when the echo path is so strong that it saturates the echo and when it
is so weak that the echo is very low compared to nearend.

Bug: webrtc:8411, webrtc:8412, chromium:775653
Change-Id: I5aff74dfadd51cac1ce71b1cb935d68a5be6918d
Reviewed-on: https://webrtc-review.googlesource.com/14120
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20418}
2017-10-25 01:36:59 +00:00
Gustaf Ullberg
bd83b914c3 Separate AEC3 config from AudioProcessing::Config.
The struct containing the config for AEC3 is removed from
AudioProcessing::Config and is put in a new struct called
EchoCanceller3Config.

AEC3 should no longer be activated through
AudioProcessing::ApplyConfig. Instead an EchoCanceller3Factory
can be injected at AudioProcessing creation.

Bug: webrtc:8346
Change-Id: I27e3592e675eec3632a60c45d9e0d12514c2c567
Reviewed-on: https://webrtc-review.googlesource.com/11420
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20342}
2017-10-19 08:19:52 +00:00
Raphael Kubo da Costa
0743814fb8 aec3: Use fabsf() instead of std::abs() for floats.
We are using <math.h>, not <cmath>. While the latter defines additional
overloads for abs(), including abs(float), they are not guaranteed to be
available in <math.h>.

libc++ ships its own math.h with the additional overloads, and libstdc++ (v6
or later) has a math.h that includes <cmath>, but this is not always
expected to work: for example, GCC 5.x's libstdc++ does not have these
additional overloads and causes the build to fail.

Just use fabsf() from the C standard library directly, as it achieves the
same thing in a more portable fashion.

Bug: None
Change-Id: I805728269b35051edb54126e204eccd2706e3a92
Reviewed-on: https://webrtc-review.googlesource.com/11460
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#20325}
2017-10-17 14:03:01 +00:00
Per Åhgren
40659c3eaf Corrected and robustified the detection of the delay in the AEC3 filter
This CL changes the filter delay detection to rely on the largest peak
while the correctness of the filter is changed to be based on the
performance achieved by the filter.

Bug: webrtc:8397,chromium:774867
Change-Id: I70c953815192478f9a8e0da9f2b8fd9edac3f481
Reviewed-on: https://webrtc-review.googlesource.com/10803
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20321}
2017-10-17 11:30:50 +00:00
Per Åhgren
1b4059e84f Transparency improvements for AEC3 during call start and after resets
This CL changes the AEC3 behavior to be more transparent when there 
is uncertainty about the amount of echo in the microphone signal.

Bug: webrtc:8398, chromium:774868
Change-Id: I88e681f8decd892f44397b753df371a1c4b90af0
Reviewed-on: https://webrtc-review.googlesource.com/10801
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20319}
2017-10-17 06:00:50 +00:00
Gustaf Ullberg
8eb9c7d838 Added EchoCanceller3Factory.
Added EchoCanceller3Factory that implements EchoControlFactory and can
be used for injecting EchoCanceller3 into Audio Processing Module.

Renamed InitializeEchoCanceller3 to InitializeEchoController.

Bug: webrtc:8346
Change-Id: I47078da6a49aca1ee41f6a9d5b7b8e91bb5c11a3
Reviewed-on: https://webrtc-review.googlesource.com/9220
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20299}
2017-10-14 07:38:32 +00:00
Per Åhgren
d3d7f44ddf Cleanup in the code for the lag estimation in AEC3
Bug: webrtc:8379
Change-Id: Ic80ce86fc0f4ba42583bd43cb137c6e1c9e6513c
Reviewed-on: https://webrtc-review.googlesource.com/8560
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20252}
2017-10-11 15:11:22 +00:00
Per Åhgren
6229d92a52 Removed redundant max operation and corrected comment
Bug: webrtc:8379
Change-Id: I20d0d469a8cc465ca45c18bfde8bbc945cb00e74
Reviewed-on: https://webrtc-review.googlesource.com/8303
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20242}
2017-10-11 11:33:49 +00:00
Per Åhgren
f9e58227d2 Changed the aggregation of AEC3 matched filter delay estimates
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}
2017-10-11 07:52:19 +00:00
Per Åhgren
1f33a37565 AEC3 tunings to increase the transparency
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}
2017-10-11 07:28:09 +00:00
Per Åhgren
d309b0081d Smoothed the application of the NLP gain in AEC3
This CL adds a smooth rampup of the NLP gain in AEC3.

Bug: webrtc:8361
Change-Id: I49aa75904751ffe9150db1572271fe7a26232449
Reviewed-on: https://webrtc-review.googlesource.com/7740
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20213}
2017-10-09 22:45:29 +00:00
Per Åhgren
c65ce78027 Separated the NLP behavior in AEC3 for different echo estimates.
This CL separates the NLP gain computation for the different variants
of echo estimation. This simplifies the setting of tuning 
parameters, with resulting transparency improvements and increased
echo removal performance.

Bug: webrtc:8359
Change-Id: I9b97064396fb6f6e2f418ce534573f68694390a1
Reviewed-on: https://webrtc-review.googlesource.com/7613
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20209}
2017-10-09 13:16:37 +00:00
Per Åhgren
0f46441772 Added the ability to set the default echo path delay in AEC3.
This CL adds the ability to set a default echo path delay to use
in AEC3 when there is prior knowledge about the delay in the echo
path.


Bug: webrtc:8358
Change-Id: Ie368f9a6dec9f412e09bf0e095f89d84305045f9
Reviewed-on: https://webrtc-review.googlesource.com/7604
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20204}
2017-10-09 10:52:07 +00:00
Per Åhgren
7106d93dea General AEC3 transparency improvements
This CL adds some general AEC3 transparency improvements.

Specifically:
-A minimum for how the nearend is masking echo is added.
-A temporal smoothing constant is increased to increase the transparency.
-Parameters are surfaced to the parameter config struct.

Bug: webrtc:8360
Change-Id: I2a4881eb40f4fab53ad740c4001925f0af86bbec
Reviewed-on: https://webrtc-review.googlesource.com/7605
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20200}
2017-10-09 10:02:37 +00:00
Gustaf Ullberg
c522298e03 Added first version of the EchoControl interface, used for AEC abstraction.
Bug: webrtc:8346
Change-Id: I792a5f8eefb98388de199fea12c017759fdc6c1e
Reviewed-on: https://webrtc-review.googlesource.com/6780
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20174}
2017-10-06 07:24:43 +00:00
Per Åhgren
c007857ab9 AEC3 tunings to increase transparency
This CL fine-tunes the internal AEC3 parameters to increase the 
transparency of the nearend signal.

Bug: webrtc:8322
Change-Id: I2e35165082d88b8f2b1e8367d8ed0e29bd67b4e5
Reviewed-on: https://webrtc-review.googlesource.com/5365
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20082}
2017-10-02 14:47:25 +00:00
Per Åhgren
85a11a35f1 Bounding the AEC3 suppression gain for poorly estimated residual echoes
This CL bounds the supppression gain for higher frequencies where
the estimate of the residual echo sometimes is less accurate.

Bug: webrtc:8320
Change-Id: I02b21e6b1758c7e8b6660c1631a05c956a45e4c8
Reviewed-on: https://webrtc-review.googlesource.com/5260
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20081}
2017-10-02 14:46:19 +00:00
Per Åhgren
fe9f222c66 Reland of Added logging inside AEC3 for render API buffer
Bug: webrtc:8250
Change-Id: Icd94331237bf5cd0e5aba2644522456184a9eef0
Reviewed-on: https://webrtc-review.googlesource.com/3860
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19986}
2017-09-27 07:29:25 +00:00
Per Åhgren
b3547fa5de Revert "Added logging inside AEC3 for render API buffer under/overruns"
This reverts commit 262d4ff882.

Reason for revert: The logging in this CL is spamming the logs. Therefore I'll revert and reland this once that has been fixed.


Original change's description:
> Added logging inside AEC3 for render API buffer under/overruns
> 
> Bug: webrtc:8250
> Change-Id: Ib9ce26419b8961a33869d2f24cc4248fe10039b8
> Reviewed-on: https://webrtc-review.googlesource.com/1562
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#19856}

TBR=gustaf@webrtc.org,peah@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8250
Change-Id: Icbbb219772ca2e3644b9fcb7fa99545b147fd675
Reviewed-on: https://webrtc-review.googlesource.com/2720
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Noah Richards <noahric@chromium.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19932}
2017-09-23 23:10:02 +00:00
Per Åhgren
930021d465 Eliminating the risk of sustained echo during capture data loss in AEC3.
This CL adds an offset to the delay estimation used in AEC3 for 
determining the alignment between the render and capture signals.
This ensures that there is no possibility for the capture loss to 
cause the delay estimation to miss aligning the signals.

BUG=webrtc:8247, chromium:765242

Change-Id: I526dc7971b13425a28e99d69168fd3722a4cfdae
Reviewed-on: https://webrtc-review.googlesource.com/1232
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19871}
2017-09-15 21:24:46 +00:00
Mirko Bonadei
7120742701 Adding NOLINT for typedefs.h and common_types.h
Now that we have moved WebRTC from src/webrtc to src/, common_types.h
and typedefs.h are triggering a cpplint error.

The cpplint complaint is:
Include the directory when naming .h files  [build/include] [4]

This CL disables the error but we have to remove these two headers
from the root directory.

NOPRESUBMIT=true

Bug: webrtc:5876
Change-Id: I08e1b69aadcc4b28ab83bf25e3819d135d41d333
Reviewed-on: https://webrtc-review.googlesource.com/1577
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19859}
2017-09-15 13:03:51 +00:00
Per Åhgren
262d4ff882 Added logging inside AEC3 for render API buffer under/overruns
Bug: webrtc:8250
Change-Id: Ib9ce26419b8961a33869d2f24cc4248fe10039b8
Reviewed-on: https://webrtc-review.googlesource.com/1562
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19856}
2017-09-15 12:15:20 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00