diff options
Diffstat (limited to 'media/base/filters.h')
-rw-r--r-- | media/base/filters.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/media/base/filters.h b/media/base/filters.h index ebe46e5..7d56114 100644 --- a/media/base/filters.h +++ b/media/base/filters.h @@ -45,6 +45,19 @@ class FilterHost; struct PipelineStatistics; +// Used to specify video preload states. They are "hints" to the browser about +// how aggressively the browser should load and buffer data. +// Please see the HTML5 spec for the descriptions of these values: +// http://www.w3.org/TR/html5/video.html#attr-media-preload +// +// Enum values must match the values in WebCore::MediaPlayer::Preload and +// there will be assertions at compile time if they do not match. +enum Preload { + NONE, + METADATA, + AUTO, +}; + // Used for completing asynchronous methods. typedef Callback0::Type FilterCallback; @@ -129,6 +142,9 @@ class DataSource : public Filter { // Returns true if we are performing streaming. In this case seeking is // not possible. virtual bool IsStreaming() = 0; + + // Alert the DataSource that the video preload value has been changed. + virtual void SetPreload(Preload preload) = 0; }; class DemuxerStream : public base::RefCountedThreadSafe<DemuxerStream> { @@ -166,6 +182,9 @@ class Demuxer : public Filter { public: // Returns the given stream type, or NULL if that type is not present. virtual scoped_refptr<DemuxerStream> GetStream(DemuxerStream::Type type) = 0; + + // Alert the Demuxer that the video preload value has been changed. + virtual void SetPreload(Preload preload) = 0; }; |