diff options
author | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-16 07:15:12 +0000 |
---|---|---|
committer | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-16 07:15:12 +0000 |
commit | db66d0097bf0b0a3757056ce8272c0a6f1ae0eab (patch) | |
tree | 5c5e5ad3600444fede5560c3f64ca2a8f1fccb09 /content/renderer/media | |
parent | b1248eb73c20ca69fc8e9e88667b416989e413f7 (diff) | |
download | chromium_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.cc | 9 | ||||
-rw-r--r-- | content/renderer/media/webmediaplayer_impl.h | 1 |
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. |