| Index: content/renderer/media/track_audio_renderer.cc
|
| diff --git a/content/renderer/media/track_audio_renderer.cc b/content/renderer/media/track_audio_renderer.cc
|
| index a17f85c3a20846673b1f345fe7e6792e2c60bf1a..2e6b0cbe9a0484e8c81c26a59d7eb1128d26df39 100644
|
| --- a/content/renderer/media/track_audio_renderer.cc
|
| +++ b/content/renderer/media/track_audio_renderer.cc
|
| @@ -39,9 +39,10 @@ base::TimeDelta ComputeTotalElapsedRenderTime(
|
| } // namespace
|
|
|
| // media::AudioRendererSink::RenderCallback implementation
|
| -int TrackAudioRenderer::Render(media::AudioBus* audio_bus,
|
| - uint32_t frames_delayed,
|
| - uint32_t frames_skipped) {
|
| +int TrackAudioRenderer::Render(base::TimeDelta delay,
|
| + base::TimeTicks delay_timestamp,
|
| + int prior_frames_skipped,
|
| + media::AudioBus* audio_bus) {
|
| TRACE_EVENT0("audio", "TrackAudioRenderer::Render");
|
| base::AutoLock auto_lock(thread_lock_);
|
|
|
| @@ -50,19 +51,13 @@ int TrackAudioRenderer::Render(media::AudioBus* audio_bus,
|
| return 0;
|
| }
|
|
|
| - // Source sample rate equals to output one, see MaybeStartSink(), so using it.
|
| - uint32_t audio_delay_milliseconds = static_cast<double>(frames_delayed) *
|
| - base::Time::kMillisecondsPerSecond /
|
| - source_params_.sample_rate();
|
|
|
| // TODO(miu): Plumbing is needed to determine the actual playout timestamp
|
| // of the audio, instead of just snapshotting TimeTicks::Now(), for proper
|
| // audio/video sync. http://crbug.com/335335
|
| - const base::TimeTicks playout_time =
|
| - base::TimeTicks::Now() +
|
| - base::TimeDelta::FromMilliseconds(audio_delay_milliseconds);
|
| + const base::TimeTicks playout_time = base::TimeTicks::Now() + delay;
|
| DVLOG(2) << "Pulling audio out of shifter to be played "
|
| - << audio_delay_milliseconds << " ms from now.";
|
| + << delay.InMilliseconds() << " ms from now.";
|
| audio_shifter_->Pull(audio_bus, playout_time);
|
| num_samples_rendered_ += audio_bus->frames();
|
| return audio_bus->frames();
|
|
|