| Index: webkit/glue/media/buffered_data_source.h
|
| diff --git a/webkit/glue/media/buffered_data_source.h b/webkit/glue/media/buffered_data_source.h
|
| index 2c9e9046fb14ac2d47100ada8f87d4d79a15f743..933ffb9139fdbd775e11c58a43e18e068947019e 100644
|
| --- a/webkit/glue/media/buffered_data_source.h
|
| +++ b/webkit/glue/media/buffered_data_source.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/synchronization/lock.h"
|
| #include "media/base/filter_factories.h"
|
| +#include "media/base/filters.h"
|
| #include "webkit/glue/media/buffered_resource_loader.h"
|
|
|
| namespace webkit_glue {
|
| @@ -40,6 +41,7 @@ class BufferedDataSource : public WebDataSource {
|
| media::DataSource::ReadCallback* read_callback);
|
| virtual bool GetSize(int64* size_out);
|
| virtual bool IsStreaming();
|
| + virtual void SetPreload(media::Preload preload);
|
|
|
| const media::MediaFormat& media_format() {
|
| return media_format_;
|
| @@ -90,6 +92,13 @@ class BufferedDataSource : public WebDataSource {
|
| // and signals the buffered resource loader accordingly.
|
| void SetPlaybackRateTask(float playback_rate);
|
|
|
| + // This task saves the preload value for the media.
|
| + void SetPreloadTask(media::Preload preload);
|
| +
|
| + // Decides which DeferStrategy to used based on the current state of the
|
| + // BufferedDataSource.
|
| + BufferedResourceLoader::DeferStrategy ChooseDeferStrategy();
|
| +
|
| // The method that performs actual read. This method can only be executed on
|
| // the render thread.
|
| void ReadInternal();
|
| @@ -196,6 +205,14 @@ class BufferedDataSource : public WebDataSource {
|
| // are in a playing state.
|
| bool media_is_paused_;
|
|
|
| + // This variable is true when the user has requested the video to play at
|
| + // least once.
|
| + bool media_has_played_;
|
| +
|
| + // This variable holds the value of the preload attribute for the video
|
| + // element.
|
| + media::Preload preload_;
|
| +
|
| // This timer is to run the WatchDogTask repeatedly. We use a timer instead
|
| // of doing PostDelayedTask() reduce the extra reference held by the message
|
| // loop. The RepeatingTimer does PostDelayedTask() internally, by using it
|
|
|