| Index: media/audio/pulse/pulse_input.cc
|
| diff --git a/media/audio/pulse/pulse_input.cc b/media/audio/pulse/pulse_input.cc
|
| index 4976b5610eda39d309f3a347de448a0ce9e494b2..6c9855e504c568bf47771ae04e6470c5f06ac061 100644
|
| --- a/media/audio/pulse/pulse_input.cc
|
| +++ b/media/audio/pulse/pulse_input.cc
|
| @@ -281,7 +281,10 @@ void PulseAudioInputStream::ReadData() {
|
| hardware_delay += fifo_.GetAvailableFrames() * params_.GetBytesPerFrame();
|
| callback_->OnData(this, audio_bus, hardware_delay, normalized_volume);
|
|
|
| - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(5));
|
| + // Sleep 5ms to wait until render consumes the data in order to avoid
|
| + // back to back OnData() method.
|
| + if (fifo_.available_blocks())
|
| + base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(5));
|
| }
|
|
|
| pa_threaded_mainloop_signal(pa_mainloop_, 0);
|
|
|