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..225d2154d7aa99866f6ece4baea6be50272e9940 100644 |
--- a/content/renderer/media/track_audio_renderer.cc |
+++ b/content/renderer/media/track_audio_renderer.cc |
@@ -40,7 +40,8 @@ base::TimeDelta ComputeTotalElapsedRenderTime( |
// media::AudioRendererSink::RenderCallback implementation |
int TrackAudioRenderer::Render(media::AudioBus* audio_bus, |
- uint32_t frames_delayed, |
+ base::TimeDelta delay, |
+ base::TimeTicks delay_timestamp, |
uint32_t frames_skipped) { |
TRACE_EVENT0("audio", "TrackAudioRenderer::Render"); |
base::AutoLock auto_lock(thread_lock_); |
@@ -50,19 +51,14 @@ 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); |
- DVLOG(2) << "Pulling audio out of shifter to be played " |
- << audio_delay_milliseconds << " ms from now."; |
+ const base::TimeTicks playout_time = base::TimeTicks::Now() + delay; |
+ DLOG(ERROR) << "Pulling audio out of shifter to be played " |
+ << delay.InMilliseconds() << " ms from now. " |
+ << audio_bus->frames(); |
audio_shifter_->Pull(audio_bus, playout_time); |
num_samples_rendered_ += audio_bus->frames(); |
return audio_bus->frames(); |