From 5583779de65fde191bd1f4e571ce888025244ae9 Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 17 Jun 2015 11:16:08 -0700 Subject: [PATCH] Do not assign currentTime of video unless MetaData is available. Fixes #101 Required for Firefox's and IE's MediaElement implementations. --- lib/player/stream_video_source.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/player/stream_video_source.js b/lib/player/stream_video_source.js index 024387d2b57..f08f46e66e7 100644 --- a/lib/player/stream_video_source.js +++ b/lib/player/stream_video_source.js @@ -1110,7 +1110,17 @@ shaka.player.StreamVideoSource.prototype.startStreams_ = function( // Set the video's current time before starting the streams so that the // streams begin buffering at the stream start time. shaka.log.info('Starting each stream from', streamStartTime); - this.video.currentTime = streamStartTime; + + function setInitialCurrentTime() { + this.currentTime = streamStartTime; + this.removeEventListener('loadedmetadata', setInitialCurrentTime); + } + + if (this.video.readyState >= HTMLMediaElement.HAVE_METADATA) { + this.currentTime = streamStartTime; + } else { + this.video.addEventListener('loadedmetadata', setInitialCurrentTime); + } // Start the streams. for (var type in this.streamsByType_) {