DescriptionThe buffering of the farend signal is refactored in this CL.
The former buffering scheme was overly complicated and
complex as.
-It buffered twice as many data points as needed.
-It used the ring_buffer C functionality directly inside the
delay adjustment functionality which makes that
functionality very hard to read.
In order to overcome these problems this CL does
-Change the buffering to buffer only the amount of samples
needed.
-Wrap the ring_buffer C functionality in a wrapper class
with methods that are more descriptive in what they do
to affect the AEC delay.
Additional notes:
-Some minor other name changes/code changes were also
introduced.
-The ringbuffer C functionality should be removed, but now
is not the time to do it as the rest of the code is very
adapted to the wrapping behavior of the ringbuffer. It is
better to simplify the surrounding code before doing that.
The changes have been tested to be bitexact.
This CL is chained to the CL https://codereview.webrtc.org/2321483002/
and will be followed by another CL.
BUG=webrtc:5298, webrtc:6018
Committed: https://crrev.com/a421ddd60eb15a19b675ceaa4e241bd15cc86f8e
Cr-Commit-Position: refs/heads/master@{#14188}
Patch Set 1 #
Total comments: 8
Patch Set 2 : Changes in response to reviewer comments #Patch Set 3 : Rebase #
Messages
Total messages: 22 (13 generated)
|