diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-25 21:30:39 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-25 21:30:39 +0000 |
commit | f70f8e1b866fc57b29bd317f40e2453e9c9de2a6 (patch) | |
tree | 97e5590a23675b4d0b6e3186cf3df43154aa7c79 /media/base/pipeline_impl.h | |
parent | d265369f2b05102f44e88b3586562060973ecf48 (diff) | |
download | chromium_src-f70f8e1b866fc57b29bd317f40e2453e9c9de2a6.zip chromium_src-f70f8e1b866fc57b29bd317f40e2453e9c9de2a6.tar.gz chromium_src-f70f8e1b866fc57b29bd317f40e2453e9c9de2a6.tar.bz2 |
Reporting a more accurate buffered time for the video tag
Instead of showing that the entire file is buffered when the video first loads, this uses current time, current bytes, and buffered bytes to estimate buffered time.
Reviewed: http://codereview.chromium.org/2085012/
Submitted for: vrk@chromium.org
BUG=42285
TEST=NONE
Review URL: http://codereview.chromium.org/2192001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48199 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/pipeline_impl.h')
-rw-r--r-- | media/base/pipeline_impl.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h index 27ce43f..61f360b 100644 --- a/media/base/pipeline_impl.h +++ b/media/base/pipeline_impl.h @@ -79,7 +79,7 @@ class PipelineImpl : public Pipeline, public FilterHost { virtual float GetVolume() const; virtual void SetVolume(float volume); virtual base::TimeDelta GetCurrentTime() const; - virtual base::TimeDelta GetBufferedTime() const; + virtual base::TimeDelta GetBufferedTime(); virtual base::TimeDelta GetMediaDuration() const; virtual int64 GetBufferedBytes() const; virtual int64 GetTotalBytes() const; @@ -153,6 +153,8 @@ class PipelineImpl : public Pipeline, public FilterHost { virtual void SetNetworkActivity(bool network_activity); virtual void NotifyEnded(); virtual void DisableAudioRenderer(); + virtual void SetCurrentReadPosition(int64 offset); + virtual int64 GetCurrentReadPosition(); // Method called during initialization to insert a mime type into the // |rendered_mime_types_| set. @@ -357,6 +359,15 @@ class PipelineImpl : public Pipeline, public FilterHost { // replies. base::TimeDelta seek_timestamp_; + // For GetCurrentBytes()/SetCurrentBytes() we need to know what byte we are + // currently reading. + int64 current_bytes_; + + // Keep track of the maximum buffered position so the buffering appears + // smooth. + // TODO(vrk): This is a hack. + double max_buffered_time_; + // Filter factory as passed in by Start(). scoped_refptr<FilterFactory> filter_factory_; |