Index: media/filters/chunk_demuxer.h |
diff --git a/media/filters/chunk_demuxer.h b/media/filters/chunk_demuxer.h |
index d5224c7e4ceb5d6334b763bec5b6f99b9598a53b..eb4b8555db800ee9538ad90361bd5453c0c4c065 100644 |
--- a/media/filters/chunk_demuxer.h |
+++ b/media/filters/chunk_demuxer.h |
@@ -57,6 +57,12 @@ class MEDIA_EXPORT ChunkDemuxerStream : public DemuxerStream { |
void Remove(base::TimeDelta start, base::TimeDelta end, |
base::TimeDelta duration); |
+ // If the buffer is full, attempts to try to free up space, as specified in |
+ // the "Coded Frame Eviction Algorithm" in the Media Source Extensions Spec. |
+ // Returns false iff buffer is still full after running eviction. |
+ // https://w3c.github.io/media-source/#sourcebuffer-coded-frame-eviction |
+ bool EvictCodedFrames(DecodeTimestamp media_time); |
+ |
// Signal to the stream that duration has changed to |duration|. |
void OnSetDuration(base::TimeDelta duration); |
@@ -244,6 +250,8 @@ class MEDIA_EXPORT ChunkDemuxer : public Demuxer { |
void Remove(const std::string& id, base::TimeDelta start, |
base::TimeDelta end); |
+ bool EvictCodedFrames(base::TimeDelta currentMediaTime); |
+ |
// Returns the current presentation duration. |
double GetDuration(); |
double GetDuration_Locked(); |