Moved the fake input stream's processing onto the audio worker thread.
commit9e0a7c10163c9c22adad3135a1d9fc5c3682a592
authorphoglund <phoglund@chromium.org>
Mon, 23 Feb 2015 10:20:08 +0000 (23 02:20 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 23 Feb 2015 10:20:32 +0000 (23 10:20 +0000)
treee36c74d83f879d0a33cca5354cfd0c2b1aaaa542
parent2c8ef923fc3a440aa99b09372fde8f3d0893f551
Moved the fake input stream's processing onto the audio worker thread.

The reason for this is that the fake input stream would not work on Mac
where the audio non-worker code runs on the UI thread. Therefore, the
fake input stream would get starved for instance in the WebRTC audio
quality tests and not play any audio (those tests block the UI thread
while recording).

This patch introduces a worker precisely like the fake audio consumer
used by the fake output stream.

BUG=453907,446859

Review URL: https://codereview.chromium.org/922663002

Cr-Commit-Position: refs/heads/master@{#317557}
17 files changed:
content/browser/media/capture/web_contents_audio_muter.cc
media/audio/BUILD.gn
media/audio/audio_io.h
media/audio/fake_audio_input_stream.cc
media/audio/fake_audio_input_stream.h
media/audio/fake_audio_output_stream.cc
media/audio/fake_audio_output_stream.h
media/audio/fake_audio_worker.cc [moved from media/audio/fake_audio_consumer.cc with 63% similarity]
media/audio/fake_audio_worker.h [moved from media/audio/fake_audio_consumer.h with 53% similarity]
media/audio/fake_audio_worker_unittest.cc [moved from media/audio/fake_audio_consumer_unittest.cc with 64% similarity]
media/audio/null_audio_sink.cc
media/audio/null_audio_sink.h
media/audio/simple_sources.cc
media/audio/simple_sources.h
media/audio/virtual_audio_input_stream.cc
media/audio/virtual_audio_input_stream.h
media/media.gyp