diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-06 00:03:30 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-06 00:03:30 +0000 |
commit | a27aa252760234f8374b74f37987b221c798d5f8 (patch) | |
tree | 18fb789f2b002d37db85e79f5d0a8a327adc31ea /media | |
parent | dbb90b3e619baccc6922f43fb5dbc96229842b73 (diff) | |
download | chromium_src-a27aa252760234f8374b74f37987b221c798d5f8.zip chromium_src-a27aa252760234f8374b74f37987b221c798d5f8.tar.gz chromium_src-a27aa252760234f8374b74f37987b221c798d5f8.tar.bz2 |
Change NullAudioRenderer to sleep for at least one millisecond to avoid spinning the CPU.
Review URL: http://codereview.chromium.org/108041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15356 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/filters/null_audio_renderer.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/media/filters/null_audio_renderer.cc b/media/filters/null_audio_renderer.cc index a6ed798..b01e939 100644 --- a/media/filters/null_audio_renderer.cc +++ b/media/filters/null_audio_renderer.cc @@ -57,9 +57,13 @@ void NullAudioRenderer::ThreadMain() { sleep_in_milliseconds = floor(bytes / static_cast<float>(bytes_per_millisecond_)); sleep_in_milliseconds /= playback_rate_; + } else { + // If paused, sleep for 10 milliseconds before polling again. + sleep_in_milliseconds = 10.0f; } - PlatformThread::Sleep(static_cast<int>(sleep_in_milliseconds)); + // Sleep for at least one millisecond so we don't spin the CPU. + PlatformThread::Sleep(std::max(1, static_cast<int>(sleep_in_milliseconds))); } } |