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}
This commit is contained in:
Per Åhgren
2017-12-01 23:01:44 +01:00
committed by Commit Bot
parent f388803265
commit 8ba5861f7e
55 changed files with 1213 additions and 804 deletions

View File

@ -20,25 +20,25 @@ namespace webrtc {
#if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
// Verifies the check for the provided numbers of Ffts to include in the
// spectral sum.
TEST(RenderBuffer, TooLargeNumberOfSpectralSums) {
EXPECT_DEATH(
RenderBuffer(Aec3Optimization::kNone, 3, 1, std::vector<size_t>(2, 1)),
"");
// Verifies the check for non-null fft buffer.
TEST(RenderBuffer, NullExternalFftBuffer) {
MatrixBuffer block_buffer(10, 3, kBlockSize);
VectorBuffer spectrum_buffer(10, kFftLengthBy2Plus1);
EXPECT_DEATH(RenderBuffer(1, &block_buffer, &spectrum_buffer, nullptr), "");
}
TEST(RenderBuffer, TooSmallNumberOfSpectralSums) {
EXPECT_DEATH(
RenderBuffer(Aec3Optimization::kNone, 3, 1, std::vector<size_t>()), "");
// Verifies the check for non-null spectrum buffer.
TEST(RenderBuffer, NullExternalSpectrumBuffer) {
FftBuffer fft_buffer(10);
MatrixBuffer block_buffer(10, 3, kBlockSize);
EXPECT_DEATH(RenderBuffer(1, &block_buffer, nullptr, &fft_buffer), "");
}
// Verifies the feasibility check for the provided number of Ffts to include in
// the spectral.
TEST(RenderBuffer, FeasibleNumberOfFftsInSum) {
EXPECT_DEATH(
RenderBuffer(Aec3Optimization::kNone, 3, 1, std::vector<size_t>(1, 2)),
"");
// Verifies the check for non-null block buffer.
TEST(RenderBuffer, NullExternalBlockBuffer) {
FftBuffer fft_buffer(10);
VectorBuffer spectrum_buffer(10, kFftLengthBy2Plus1);
EXPECT_DEATH(RenderBuffer(1, nullptr, &spectrum_buffer, &fft_buffer), "");
}
#endif