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:
@ -160,7 +160,7 @@ class EchoCanceller3Tester {
|
||||
// output.
|
||||
void RunCaptureTransportVerificationTest() {
|
||||
EchoCanceller3 aec3(
|
||||
sample_rate_hz_, false,
|
||||
EchoCanceller3Config(), sample_rate_hz_, false,
|
||||
std::unique_ptr<BlockProcessor>(
|
||||
new CaptureTransportVerificationProcessor(num_bands_)));
|
||||
|
||||
@ -185,7 +185,7 @@ class EchoCanceller3Tester {
|
||||
// block processor.
|
||||
void RunRenderTransportVerificationTest() {
|
||||
EchoCanceller3 aec3(
|
||||
sample_rate_hz_, false,
|
||||
EchoCanceller3Config(), sample_rate_hz_, false,
|
||||
std::unique_ptr<BlockProcessor>(
|
||||
new RenderTransportVerificationProcessor(num_bands_)));
|
||||
|
||||
@ -249,7 +249,7 @@ class EchoCanceller3Tester {
|
||||
break;
|
||||
}
|
||||
|
||||
EchoCanceller3 aec3(sample_rate_hz_, false,
|
||||
EchoCanceller3 aec3(EchoCanceller3Config(), sample_rate_hz_, false,
|
||||
std::move(block_processor_mock));
|
||||
|
||||
for (size_t frame_index = 0; frame_index < kNumFramesToProcess;
|
||||
@ -331,7 +331,7 @@ class EchoCanceller3Tester {
|
||||
} break;
|
||||
}
|
||||
|
||||
EchoCanceller3 aec3(sample_rate_hz_, false,
|
||||
EchoCanceller3 aec3(EchoCanceller3Config(), sample_rate_hz_, false,
|
||||
std::move(block_processor_mock));
|
||||
|
||||
for (size_t frame_index = 0; frame_index < kNumFramesToProcess;
|
||||
@ -420,7 +420,7 @@ class EchoCanceller3Tester {
|
||||
} break;
|
||||
}
|
||||
|
||||
EchoCanceller3 aec3(sample_rate_hz_, false,
|
||||
EchoCanceller3 aec3(EchoCanceller3Config(), sample_rate_hz_, false,
|
||||
std::move(block_processor_mock));
|
||||
for (size_t frame_index = 0; frame_index < kNumFramesToProcess;
|
||||
++frame_index) {
|
||||
@ -458,12 +458,13 @@ class EchoCanceller3Tester {
|
||||
// This test verifies that the swapqueue is able to handle jitter in the
|
||||
// capture and render API calls.
|
||||
void RunRenderSwapQueueVerificationTest() {
|
||||
const EchoCanceller3Config config;
|
||||
EchoCanceller3 aec3(
|
||||
sample_rate_hz_, false,
|
||||
config, sample_rate_hz_, false,
|
||||
std::unique_ptr<BlockProcessor>(
|
||||
new RenderTransportVerificationProcessor(num_bands_)));
|
||||
|
||||
for (size_t frame_index = 0; frame_index < kRenderTransferQueueSize;
|
||||
for (size_t frame_index = 0; frame_index < kRenderTransferQueueSizeFrames;
|
||||
++frame_index) {
|
||||
if (sample_rate_hz_ > 16000) {
|
||||
render_buffer_.SplitIntoFrequencyBands();
|
||||
@ -478,7 +479,7 @@ class EchoCanceller3Tester {
|
||||
aec3.AnalyzeRender(&render_buffer_);
|
||||
}
|
||||
|
||||
for (size_t frame_index = 0; frame_index < kRenderTransferQueueSize;
|
||||
for (size_t frame_index = 0; frame_index < kRenderTransferQueueSizeFrames;
|
||||
++frame_index) {
|
||||
aec3.AnalyzeCapture(&capture_buffer_);
|
||||
if (sample_rate_hz_ > 16000) {
|
||||
|
||||
Reference in New Issue
Block a user