commit | 880ffeb6c00ab5898d06c7ff93af3fe3cf3f790c | [log] [tgz] |
---|---|---|
author | skvlad <skvlad@webrtc.org> | Mon Jun 13 19:05:26 2016 |
committer | Commit bot <commit-bot@chromium.org> | Mon Jun 13 19:05:30 2016 |
tree | 4c20a15c2a2d0f148f674573e5bf162a00519fad | |
parent | 63797930be9121d22ed172cc8fb709475baba97a [diff] |
Optimize the repeated calls to AudioEffect.queryEffects() on Android This CL eliminates repeated calls to AudioEffect.queryEffects() on Android when configuring the audio device. Each of these calls was taking 5-10 milliseconds on the devices I was testing (Nexus 4, Nexus 5), and setting up the audio device involved around 10 of these calls. This change adds a method that checks the cached list of effects before calling the underlying operating system API; this eliminated about half of these calls. The other half happened inside static methods such as NoiseSuppressor.isAvailable(), which are just convenience wrappers for searching through the list of effects. These calls have been replaced with searching through the cached list of effects, reducing the time to configure audio processing effects from 60-80 ms to 5-10. This results in a similar improvement in call setup time. BUG= Review-Url: https://codereview.webrtc.org/2051323002 Cr-Commit-Position: refs/heads/master@{#13115}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.