Index: media/filters/audio_clock.h |
diff --git a/media/filters/audio_clock.h b/media/filters/audio_clock.h |
index fe462aba5d5e55e1764ac1a49c24ae89c613f929..f7711f67fd77bb895f5c25923612487379fa5d83 100644 |
--- a/media/filters/audio_clock.h |
+++ b/media/filters/audio_clock.h |
@@ -59,6 +59,18 @@ class MEDIA_EXPORT AudioClock { |
int delay_frames, |
double playback_rate); |
+ // If WroteAudio() calls are suspended (i.e. due to playback being paused) the |
+ // AudioClock will not properly advance time (even though all data up until |
+ // back_timestamp() will playout on the physical device). |
+ // |
+ // To compensate for this, when calls resume, before the next WroteAudio(), |
+ // callers should call CompensateForSuspendedWrites() to advance the clock for |
+ // audio which continued playing out while WroteAudio() calls were suspended. |
+ // |
+ // |delay_frames| must be provided to properly prime the clock to compensate |
+ // for a new initial delay. |
+ void CompensateForSuspendedWrites(base::TimeDelta elapsed, int delay_frames); |
+ |
// Returns the bounds of media data currently buffered by the audio hardware, |
// taking silence and changes in playback rate into account. Buffered audio |
// structure and timestamps are updated with every call to WroteAudio(). |