| Index: media/filters/chunk_demuxer.h | 
| diff --git a/media/filters/chunk_demuxer.h b/media/filters/chunk_demuxer.h | 
| index 6e8bdf95c7cde7cd6e767cf9c7b862f0ec0ec1fc..2c6bf8420414dba90131dcd973ec5cbf96103def 100644 | 
| --- a/media/filters/chunk_demuxer.h | 
| +++ b/media/filters/chunk_demuxer.h | 
| @@ -89,6 +89,9 @@ class MEDIA_EXPORT ChunkDemuxerStream : public DemuxerStream { | 
| bool SupportsConfigChanges() override; | 
| VideoRotation video_rotation() override; | 
|  | 
| +  // Update the media time used by the MSE garbage collection algorithm. | 
| +  void NotifyMediaTimeUpdate(DecodeTimestamp time); | 
| + | 
| // Returns the text track configuration.  It is an error to call this method | 
| // if type() != TEXT. | 
| TextTrackConfig text_track_config(); | 
| @@ -163,6 +166,11 @@ class MEDIA_EXPORT ChunkDemuxer : public Demuxer { | 
| bool splice_frames_enabled); | 
| ~ChunkDemuxer() override; | 
|  | 
| +  // Set the media time provider. | 
| +  // TODO(damienv): should truly be part of the constructor. | 
| +  void SetMediaTimeProvider( | 
| +      const base::Callback<base::TimeDelta(void)>& get_media_time_cb); | 
| + | 
| // Demuxer implementation. | 
| void Initialize(DemuxerHost* host, | 
| const PipelineStatusCB& cb, | 
| @@ -376,6 +384,8 @@ class MEDIA_EXPORT ChunkDemuxer : public Demuxer { | 
| scoped_ptr<ChunkDemuxerStream> audio_; | 
| scoped_ptr<ChunkDemuxerStream> video_; | 
|  | 
| +  base::Callback<base::TimeDelta(void)> get_media_time_cb_; | 
| + | 
| base::TimeDelta duration_; | 
|  | 
| // The duration passed to the last SetDuration(). If | 
|  |