summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webmediaplayer_impl.cc
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-10 21:53:22 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-10 21:53:22 +0000
commit67cd505bfb5fe7c135f23e273c040e0a031b1d88 (patch)
tree8ef480ff3bf6b7f124ab04c5e5d5ce5d39081439 /webkit/glue/webmediaplayer_impl.cc
parent4cfdd73343aaef2f695407f39824da5a6884553e (diff)
downloadchromium_src-67cd505bfb5fe7c135f23e273c040e0a031b1d88.zip
chromium_src-67cd505bfb5fe7c135f23e273c040e0a031b1d88.tar.gz
chromium_src-67cd505bfb5fe7c135f23e273c040e0a031b1d88.tar.bz2
Buffered time ranges for <video>
API change and related changes to support multiple buffered time ranges. This change doesn't change any behavior. BUG=21305 TEST=Open a video or audio file, you see the full bar of buffered ranges. Review URL: http://codereview.chromium.org/199037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25932 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webmediaplayer_impl.cc')
-rw-r--r--webkit/glue/webmediaplayer_impl.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc
index 49d29e0..3b1b298 100644
--- a/webkit/glue/webmediaplayer_impl.cc
+++ b/webkit/glue/webmediaplayer_impl.cc
@@ -368,7 +368,7 @@ bool WebMediaPlayerImpl::seeking() const {
if (ready_state_ == WebKit::WebMediaPlayer::HaveNothing)
return false;
-
+
return ready_state_ == WebKit::WebMediaPlayer::HaveMetadata;
}
@@ -391,10 +391,10 @@ int WebMediaPlayerImpl::dataRate() const {
return 0;
}
-float WebMediaPlayerImpl::maxTimeBuffered() const {
+const WebKit::WebTimeRanges& WebMediaPlayerImpl::buffered() const {
DCHECK(MessageLoop::current() == main_loop_);
- return static_cast<float>(pipeline_->GetBufferedTime().InSecondsF());
+ return buffered_;
}
float WebMediaPlayerImpl::maxTimeSeekable() const {
@@ -471,6 +471,12 @@ void WebMediaPlayerImpl::Repaint() {
void WebMediaPlayerImpl::OnPipelineInitialize() {
DCHECK(MessageLoop::current() == main_loop_);
if (pipeline_->GetError() == media::PIPELINE_OK) {
+ // Only keep one time range starting from 0.
+ buffered_.push_back(
+ WebKit::WebTimeRange(
+ 0.0f,
+ static_cast<float>(pipeline_->GetBufferedTime().InSecondsF())));
+
// Since we have initialized the pipeline, say we have everything.
// TODO(hclam): change this to report the correct status.
SetReadyState(WebKit::WebMediaPlayer::HaveMetadata);