| Index: media/base/audio_renderer_mixer.cc
|
| diff --git a/media/base/audio_renderer_mixer.cc b/media/base/audio_renderer_mixer.cc
|
| index 218bb9e2c560de40398bf3696195905bbfcee365..a2b5e89389b6ce7f2b4629df5166205b385726f4 100644
|
| --- a/media/base/audio_renderer_mixer.cc
|
| +++ b/media/base/audio_renderer_mixer.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "media/base/audio_renderer_mixer.h"
|
|
|
| +#include <cmath>
|
| +
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| #include "base/logging.h"
|
| @@ -117,7 +119,7 @@ OutputDevice* AudioRendererMixer::GetOutputDevice() {
|
| }
|
|
|
| int AudioRendererMixer::Render(AudioBus* audio_bus,
|
| - uint32_t audio_delay_milliseconds,
|
| + uint32_t frames_delayed,
|
| uint32_t frames_skipped) {
|
| base::AutoLock auto_lock(lock_);
|
|
|
| @@ -132,8 +134,13 @@ int AudioRendererMixer::Render(AudioBus* audio_bus,
|
| playing_ = false;
|
| }
|
|
|
| - master_converter_.ConvertWithDelay(
|
| - base::TimeDelta::FromMilliseconds(audio_delay_milliseconds), audio_bus);
|
| + // TODO(chcunningham): Delete this conversion and change ConvertWith delay to
|
| + // expect a count of frames delayed instead of TimeDelta (less precise).
|
| + // See http://crbug.com/587522.
|
| + base::TimeDelta audio_delay = base::TimeDelta::FromMicroseconds(
|
| + std::round(frames_delayed * output_params_.GetMicrosecondsPerFrame()));
|
| +
|
| + master_converter_.ConvertWithDelay(audio_delay, audio_bus);
|
| return audio_bus->frames();
|
| }
|
|
|
|
|