summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-06 00:03:30 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-06 00:03:30 +0000
commita27aa252760234f8374b74f37987b221c798d5f8 (patch)
tree18fb789f2b002d37db85e79f5d0a8a327adc31ea /media
parentdbb90b3e619baccc6922f43fb5dbc96229842b73 (diff)
downloadchromium_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.cc6
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)));
}
}