diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-10 21:53:22 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-10 21:53:22 +0000 |
commit | 67cd505bfb5fe7c135f23e273c040e0a031b1d88 (patch) | |
tree | 8ef480ff3bf6b7f124ab04c5e5d5ce5d39081439 /webkit/glue/webmediaplayer_impl.cc | |
parent | 4cfdd73343aaef2f695407f39824da5a6884553e (diff) | |
download | chromium_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.cc | 12 |
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); |