Index: media/base/silent_sink_suspender.cc |
diff --git a/media/base/silent_sink_suspender.cc b/media/base/silent_sink_suspender.cc |
index 70b9266ee8abcbef21e860f73dd1554eb45333df..2f01ed9fcd990cedd797d3a04224e5285bfff27b 100644 |
--- a/media/base/silent_sink_suspender.cc |
+++ b/media/base/silent_sink_suspender.cc |
@@ -35,9 +35,10 @@ SilentSinkSuspender::~SilentSinkSuspender() { |
fake_sink_.Stop(); |
} |
-int SilentSinkSuspender::Render(AudioBus* dest, |
- uint32_t frames_delayed, |
- uint32_t frames_skipped) { |
+int SilentSinkSuspender::Render(base::TimeDelta delay, |
+ base::TimeTicks delay_timestamp, |
+ int prior_frames_skipped, |
+ AudioBus* dest) { |
// Lock required since AudioRendererSink::Pause() is not synchronous, we need |
// to discard these calls during the transition to the fake sink. |
base::AutoLock al(transition_lock_); |
@@ -52,8 +53,8 @@ int SilentSinkSuspender::Render(AudioBus* dest, |
// the audio data for a future transition out of silence. |
if (!dest) { |
DCHECK(is_using_fake_sink_); |
- DCHECK_EQ(frames_delayed, 0u); |
- DCHECK_EQ(frames_skipped, 0u); |
+ DCHECK_EQ(delay, base::TimeDelta()); |
+ DCHECK_EQ(prior_frames_skipped, 0); |
// If we have no buffers or a transition is pending, one or more extra |
// Render() calls have occurred in before TransitionSinks() can run, so we |
@@ -72,7 +73,7 @@ int SilentSinkSuspender::Render(AudioBus* dest, |
} |
// Pass-through to client and request rendering. |
- callback_->Render(dest, frames_delayed, frames_skipped); |
+ callback_->Render(delay, delay_timestamp, prior_frames_skipped, dest); |
// Check for silence or real audio data and transition if necessary. |
if (!dest->AreFramesZero()) { |
@@ -123,7 +124,8 @@ void SilentSinkSuspender::TransitionSinks(bool use_fake_sink) { |
} |
fake_sink_.Start( |
base::Bind(base::IgnoreResult(&SilentSinkSuspender::Render), |
- base::Unretained(this), nullptr, 0, 0)); |
+ base::Unretained(this), base::TimeDelta(), |
+ base::TimeTicks::Now(), 0, nullptr)); |
} else { |
fake_sink_.Stop(); |