summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorvrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-12 01:12:13 +0000
committervrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-12 01:12:13 +0000
commit69a83853994057c9bb81fbc8e184cf36650293db (patch)
treeafc6527c83b5ce29a7513d6a71c3b5d7b5da19da /webkit
parent2e8cfe2f5ac7075bc8ec76dbbcad60a1183c71cb (diff)
downloadchromium_src-69a83853994057c9bb81fbc8e184cf36650293db.zip
chromium_src-69a83853994057c9bb81fbc8e184cf36650293db.tar.gz
chromium_src-69a83853994057c9bb81fbc8e184cf36650293db.tar.bz2
Fixed edgecase bugs for WebMediaPlayer buffered()
Fixed some bugs with buffered() in WebMediaPlayer regarding edge cases: making sure buffered_ is always initialized before trying to write, and making sure buffered_.end is never after buffered_.start. Review URL: http://codereview.chromium.org/2691005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49621 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/webmediaplayer_impl.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc
index d6f24ed..56067df 100644
--- a/webkit/glue/webmediaplayer_impl.cc
+++ b/webkit/glue/webmediaplayer_impl.cc
@@ -452,8 +452,12 @@ const WebKit::WebTimeRanges& WebMediaPlayerImpl::buffered() {
DCHECK(MessageLoop::current() == main_loop_);
// Update buffered_ with the most recent buffered time.
- buffered_[0].end = static_cast<float>(
- pipeline_->GetBufferedTime().InSecondsF());
+ if (buffered_.size() > 0) {
+ float buffered_time = static_cast<float>(
+ pipeline_->GetBufferedTime().InSecondsF());
+ if (buffered_time >= buffered_[0].start)
+ buffered_[0].end = buffered_time;
+ }
return buffered_;
}