| Index: chromecast/media/audio/cast_audio_mixer.cc
|
| diff --git a/chromecast/media/audio/cast_audio_mixer.cc b/chromecast/media/audio/cast_audio_mixer.cc
|
| index fc73fbbf4d8013581545959bac4df8248c6db9e9..db238332c5abfb8090630e3162ed0cfb0e984256 100644
|
| --- a/chromecast/media/audio/cast_audio_mixer.cc
|
| +++ b/chromecast/media/audio/cast_audio_mixer.cc
|
| @@ -4,8 +4,10 @@
|
|
|
| #include "chromecast/media/audio/cast_audio_mixer.h"
|
|
|
| +#include "base/logging.h"
|
| #include "chromecast/media/audio/cast_audio_manager.h"
|
| #include "chromecast/media/audio/cast_audio_output_stream.h"
|
| +#include "media/base/audio_timestamp_helper.h"
|
| #include "media/base/channel_layout.h"
|
|
|
| namespace {
|
| @@ -140,8 +142,9 @@ class CastAudioMixer::MixerProxyStream
|
| uint32_t frames_delayed) override {
|
| DCHECK(source_callback_);
|
|
|
| - uint32_t bytes_delay = frames_delayed * input_params_.GetBytesPerFrame();
|
| - source_callback_->OnMoreData(audio_bus, bytes_delay, 0);
|
| + const base::TimeDelta delay = ::media::AudioTimestampHelper::FramesToTime(
|
| + frames_delayed, input_params_.sample_rate());
|
| + source_callback_->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus);
|
| return volume_;
|
| }
|
|
|
| @@ -245,13 +248,14 @@ void CastAudioMixer::RemoveInput(
|
| output_stream_->Stop();
|
| }
|
|
|
| -int CastAudioMixer::OnMoreData(::media::AudioBus* dest,
|
| - uint32_t total_bytes_delay,
|
| - uint32_t frames_skipped) {
|
| +int CastAudioMixer::OnMoreData(base::TimeDelta delay,
|
| + base::TimeTicks /* delay_timestamp */,
|
| + int /* prior_frames_skipped */,
|
| + ::media::AudioBus* dest) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| - uint32_t frames_delayed =
|
| - total_bytes_delay / output_params_.GetBytesPerFrame();
|
| + uint32_t frames_delayed = ::media::AudioTimestampHelper::TimeToFrames(
|
| + delay, output_params_.sample_rate());
|
| mixer_->ConvertWithDelay(frames_delayed, dest);
|
| return dest->frames();
|
| }
|
| @@ -282,4 +286,4 @@ void CastAudioMixer::OnError(::media::AudioOutputStream* stream) {
|
| }
|
|
|
| } // namespace media
|
| -} // namespace chromecast
|
| +} // namespace chromecast
|
|
|