| Index: media/audio/virtual_audio_output_stream.cc
|
| diff --git a/media/audio/virtual_audio_output_stream.cc b/media/audio/virtual_audio_output_stream.cc
|
| index 990e5d5fc90dfd35749330b6f215ae87fb68fdab..e7224c111389f12674f76d4816e8b540d59cd0eb 100644
|
| --- a/media/audio/virtual_audio_output_stream.cc
|
| +++ b/media/audio/virtual_audio_output_stream.cc
|
| @@ -7,6 +7,7 @@
|
| #include <stdint.h>
|
|
|
| #include "base/logging.h"
|
| +#include "base/time/time.h"
|
| #include "media/audio/virtual_audio_input_stream.h"
|
|
|
| namespace media {
|
| @@ -79,10 +80,11 @@ double VirtualAudioOutputStream::ProvideInput(AudioBus* audio_bus,
|
| // platform.
|
| DCHECK(callback_);
|
|
|
| - const uint32_t upstream_delay_in_bytes =
|
| - params_.GetBytesPerFrame() * frames_delayed;
|
| - const int frames =
|
| - callback_->OnMoreData(audio_bus, upstream_delay_in_bytes, 0);
|
| + const base::TimeTicks target_playout_time =
|
| + base::TimeTicks::Now() +
|
| + base::TimeDelta::FromSecondsD(static_cast<double>(frames_delayed) /
|
| + params_.sample_rate());
|
| + const int frames = callback_->OnMoreData(target_playout_time, 0, audio_bus);
|
| if (frames < audio_bus->frames())
|
| audio_bus->ZeroFramesPartial(frames, audio_bus->frames() - frames);
|
|
|
|
|