summaryrefslogtreecommitdiffstats
path: root/content/renderer/media
diff options
context:
space:
mode:
authoracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-16 07:15:12 +0000
committeracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-16 07:15:12 +0000
commitdb66d0097bf0b0a3757056ce8272c0a6f1ae0eab (patch)
tree5c5e5ad3600444fede5560c3f64ca2a8f1fccb09 /content/renderer/media
parentb1248eb73c20ca69fc8e9e88667b416989e413f7 (diff)
downloadchromium_src-db66d0097bf0b0a3757056ce8272c0a6f1ae0eab.zip
chromium_src-db66d0097bf0b0a3757056ce8272c0a6f1ae0eab.tar.gz
chromium_src-db66d0097bf0b0a3757056ce8272c0a6f1ae0eab.tar.bz2
Add WebMediaPlayer::timelineOffset() support to WebMediaPlayerImpl.
These changes add support for the WebMediaPlayer::timelineOffset() method so that HTMLMediaElement::getStartDate() can report this information to JavaScript. FFmpegDemuxer & ChunkDemuxer have been updated to provide "timeline offset" information for WebM. BUG=312699 TESTS=PipelineIntegrationTest.BasicPlayback, PipelineIntegrationTest.BasicPlaybackLive, PipelineIntegrationTest.BasicPlayback_MediaSource, PipelineIntegrationTest, BasicPlayback_MediaSource_Live Review URL: https://codereview.chromium.org/236023003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264145 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/media')
-rw-r--r--content/renderer/media/webmediaplayer_impl.cc9
-rw-r--r--content/renderer/media/webmediaplayer_impl.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc
index 919f636..e81de2e 100644
--- a/content/renderer/media/webmediaplayer_impl.cc
+++ b/content/renderer/media/webmediaplayer_impl.cc
@@ -482,6 +482,15 @@ double WebMediaPlayerImpl::duration() const {
return GetPipelineDuration();
}
+double WebMediaPlayerImpl::timelineOffset() const {
+ DCHECK(main_loop_->BelongsToCurrentThread());
+
+ if (pipeline_metadata_.timeline_offset.is_null())
+ return std::numeric_limits<double>::quiet_NaN();
+
+ return pipeline_metadata_.timeline_offset.ToJsTime();
+}
+
double WebMediaPlayerImpl::currentTime() const {
DCHECK(main_loop_->BelongsToCurrentThread());
return (paused_ ? paused_time_ : pipeline_.GetMediaTime()).InSecondsF();
diff --git a/content/renderer/media/webmediaplayer_impl.h b/content/renderer/media/webmediaplayer_impl.h
index ed089a2..22d4854 100644
--- a/content/renderer/media/webmediaplayer_impl.h
+++ b/content/renderer/media/webmediaplayer_impl.h
@@ -107,6 +107,7 @@ class WebMediaPlayerImpl
virtual bool paused() const;
virtual bool seeking() const;
virtual double duration() const;
+ virtual double timelineOffset() const;
virtual double currentTime() const;
// Internal states of loading and network.