diff options
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))); } } |