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 Review-Url: https://codereview.webrtc.org/2319693003 Cr-Commit-Position: refs/heads/master@{#14188}
Name: WebRTC URL: http://www.webrtc.org Version: 90 License: BSD License File: LICENSE Description: WebRTC provides real time voice and video processing functionality to enable the implementation of PeerConnection/MediaStream. Third party code used in this project is described in the file LICENSE_THIRD_PARTY.