-
olka authored
Follow-up is introducing mixing for audio other than media elements (under finch). ** Helper changes: 1) AudioDeviceFactory: Added separate categories for WebAudio source basing on expected output latency. Not used by WebAudio right now, but they give a sense of what to expect in the nearest future regarding output latency requirements. (May be dropped for now). 2) AudioLatency class is introduced; latency-based output buffer size calculation is moved into it. ** Mixing changes: 3) AudioRendererMixerPool/AudioRendererMixerManager: * latency requirement is introduced as one more ARMInput parameter; now it’s a part of ARM key. The mixing strategy (see ARM key comparison) is that only inputs with the same latency requirements can be mixed together; LATENCY_EXACT_MS inputs are mixed only with the likewise and only if they have the same buffer duration. * ARMM adjusts mixer output buffer siza based on input latency and output sample rate. BUG=560378,564472 Review-Url: https://codereview.chromium.org/2067863003 Cr-Commit-Position: refs/heads/master@{#403120}
6bbdb8b3