summaryrefslogtreecommitdiffstats
path: root/media/base/pipeline_impl.h
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-25 21:30:39 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-25 21:30:39 +0000
commitf70f8e1b866fc57b29bd317f40e2453e9c9de2a6 (patch)
tree97e5590a23675b4d0b6e3186cf3df43154aa7c79 /media/base/pipeline_impl.h
parentd265369f2b05102f44e88b3586562060973ecf48 (diff)
downloadchromium_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.h13
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_;