diff options
author | crogers@google.com <crogers@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-12 04:37:02 +0000 |
---|---|---|
committer | crogers@google.com <crogers@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-12 04:37:02 +0000 |
commit | e2e8e32ea2d109d2f654b3b72caaffabb2743bf2 (patch) | |
tree | e871d99532e874e7dbdc53dde8dbdba9853c497c /ppapi/proxy/ppb_core_proxy.cc | |
parent | 9290738eb73e230c1f0fa958e585dde6718b42aa (diff) | |
download | chromium_src-e2e8e32ea2d109d2f654b3b72caaffabb2743bf2.zip chromium_src-e2e8e32ea2d109d2f654b3b72caaffabb2743bf2.tar.gz chromium_src-e2e8e32ea2d109d2f654b3b72caaffabb2743bf2.tar.bz2 |
Allow audio system to handle synchronized low-latency audio I/O
As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse
live audio. This change adds the ability to our audio system for handling synchronized audio
input and output in the same callback (same thread) which is important for good performance
and low-latency.
As a part of this change, the audio IPC system now takes an optional |input_channels| argument
in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc.
|input_channels| will be 0 during normal operation of audio output (and no input).
But when synchronized audio I/O is needed, then a non-zero value can be passed in here.
The |params| passed in represents both the input and output format, particularly the
frames_per_buffer() and sample_rate().
AudioRendererSink now has an new InitializeIO() method which will allow the use of
synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback
now has a new RenderIO() which will be called instead of Render() in the case where a
non-zero value is passed in for |input_channels|.
BUG=none
TEST=none
(manual testing on early Mac OS X and Windows audio back-ends)
Review URL: https://chromiumcodereview.appspot.com/10830268
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/ppb_core_proxy.cc')
0 files changed, 0 insertions, 0 deletions