From 7baa40220f710ffe636ea83b6903a9c4f28e7825 Mon Sep 17 00:00:00 2001 From: Steve Heffernan Date: Thu, 14 Aug 2014 16:31:27 -0700 Subject: [PATCH] Release 4.7.2 --- CHANGELOG.md | 5 +- bower.json | 2 +- component.json | 2 +- dist/video-js/video-js.css | 2 +- dist/video-js/video-js.min.css | 2 +- dist/video-js/video-js.swf | Bin 16901 -> 16900 bytes dist/video-js/video.dev.js | 246 ++++++++++++----------- dist/video-js/video.js | 293 ++++++++++++++-------------- docs/api/vjs.Flash.md | 10 +- docs/api/vjs.Html5.md | 10 +- docs/api/vjs.MediaTechController.md | 10 +- docs/api/vjs.Player.md | 76 ++++---- package.json | 2 +- 13 files changed, 329 insertions(+), 331 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5b0d507d4..b29f10a024 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,13 @@ CHANGELOG ========= ## HEAD (Unreleased) -* Fixed a case where timeupdate events were not firing, and fixed and issue with the Flash player version ([view](https://github.com/videojs/video.js/pull/1417)) +_(none)_ -------------------- +## 4.7.2 (2014-08-14) +* Fixed a case where timeupdate events were not firing, and fixed and issue with the Flash player version ([view](https://github.com/videojs/video.js/pull/1417)) + ## 4.7.1 (2014-08-06) * Fixed the broken bower.json config ([view](https://github.com/videojs/video.js/pull/1401)) diff --git a/bower.json b/bower.json index cc73f637cf..87ec796cd4 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "video.js", "description": "An HTML5 and Flash video player with a common API and skin for both.", - "version": "4.7.1", + "version": "4.7.2", "main": [ "dist/video-js/video.js", "dist/video-js/video-js.css" diff --git a/component.json b/component.json index 8230da019d..dba4acf079 100644 --- a/component.json +++ b/component.json @@ -1,7 +1,7 @@ { "name": "video.js", "description": "An HTML5 and Flash video player with a common API and skin for both.", - "version": "4.7.1", + "version": "4.7.2", "keywords": [ "videojs", "html5", diff --git a/dist/video-js/video-js.css b/dist/video-js/video-js.css index 1fb5467ec3..9bd7d83676 100644 --- a/dist/video-js/video-js.css +++ b/dist/video-js/video-js.css @@ -1,6 +1,6 @@ /*! Video.js Default Styles (http://videojs.com) -Version 4.7.1 +Version 4.7.2 Create your own skin at http://designer.videojs.com */ /* SKIN diff --git a/dist/video-js/video-js.min.css b/dist/video-js/video-js.min.css index 5dadb245ae..92df5c750f 100644 --- a/dist/video-js/video-js.min.css +++ b/dist/video-js/video-js.min.css @@ -1,5 +1,5 @@ /*! Video.js Default Styles (http://videojs.com) -Version 4.7.1 +Version 4.7.2 Create your own skin at http://designer.videojs.com */.vjs-default-skin{color:#ccc}@font-face{font-family:VideoJS;src:url(font/vjs.eot);src:url(font/vjs.eot?#iefix) format('embedded-opentype'),url(font/vjs.woff) format('woff'),url(font/vjs.ttf) format('truetype'),url(font/vjs.svg#icomoon) format('svg');font-weight:400;font-style:normal}.vjs-default-skin .vjs-slider{outline:0;position:relative;cursor:pointer;padding:0;background-color:#333;background-color:rgba(51,51,51,.9)}.vjs-default-skin .vjs-slider:focus{-webkit-box-shadow:0 0 2em #fff;-moz-box-shadow:0 0 2em #fff;box-shadow:0 0 2em #fff}.vjs-default-skin .vjs-slider-handle{position:absolute;left:0;top:0}.vjs-default-skin .vjs-slider-handle:before{content:"\e009";font-family:VideoJS;font-size:1em;line-height:1;text-align:center;text-shadow:0 0 1em #fff;position:absolute;top:0;left:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.vjs-default-skin .vjs-control-bar{display:none;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#07141e;background-color:rgba(7,20,30,.7)}.vjs-default-skin.vjs-has-started .vjs-control-bar{display:block;visibility:visible;opacity:1;-webkit-transition:visibility .1s,opacity .1s;-moz-transition:visibility .1s,opacity .1s;-o-transition:visibility .1s,opacity .1s;transition:visibility .1s,opacity .1s}.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{display:block;visibility:hidden;opacity:0;-webkit-transition:visibility 1s,opacity 1s;-moz-transition:visibility 1s,opacity 1s;-o-transition:visibility 1s,opacity 1s;transition:visibility 1s,opacity 1s}.vjs-default-skin.vjs-controls-disabled .vjs-control-bar{display:none}.vjs-default-skin.vjs-using-native-controls .vjs-control-bar{display:none}.vjs-default-skin.vjs-error .vjs-control-bar{display:none}@media \0screen{.vjs-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before{content:""}}.vjs-default-skin .vjs-control{outline:0;position:relative;float:left;text-align:center;margin:0;padding:0;height:3em;width:4em}.vjs-default-skin .vjs-control:before{font-family:VideoJS;font-size:1.5em;line-height:2;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.5)}.vjs-default-skin .vjs-control:focus:before,.vjs-default-skin .vjs-control:hover:before{text-shadow:0 0 1em #fff}.vjs-default-skin .vjs-control:focus{}.vjs-default-skin .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-default-skin .vjs-play-control{width:5em;cursor:pointer}.vjs-default-skin .vjs-play-control:before{content:"\e001"}.vjs-default-skin.vjs-playing .vjs-play-control:before{content:"\e002"}.vjs-default-skin .vjs-playback-rate .vjs-playback-rate-value{font-size:1.5em;line-height:2;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;text-shadow:1px 1px 1px rgba(0,0,0,.5)}.vjs-default-skin .vjs-playback-rate.vjs-menu-button .vjs-menu .vjs-menu-content{width:4em;left:-2em;list-style:none}.vjs-default-skin .vjs-mute-control,.vjs-default-skin .vjs-volume-menu-button{cursor:pointer;float:right}.vjs-default-skin .vjs-mute-control:before,.vjs-default-skin .vjs-volume-menu-button:before{content:"\e006"}.vjs-default-skin .vjs-mute-control.vjs-vol-0:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-0:before{content:"\e003"}.vjs-default-skin .vjs-mute-control.vjs-vol-1:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-1:before{content:"\e004"}.vjs-default-skin .vjs-mute-control.vjs-vol-2:before,.vjs-default-skin .vjs-volume-menu-button.vjs-vol-2:before{content:"\e005"}.vjs-default-skin .vjs-volume-control{width:5em;float:right}.vjs-default-skin .vjs-volume-bar{width:5em;height:.6em;margin:1.1em auto 0}.vjs-default-skin .vjs-volume-menu-button .vjs-menu-content{height:2.9em}.vjs-default-skin .vjs-volume-level{position:absolute;top:0;left:0;height:.5em;width:100%;background:#66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat}.vjs-default-skin .vjs-volume-bar .vjs-volume-handle{width:.5em;height:.5em;left:4.5em}.vjs-default-skin .vjs-volume-handle:before{font-size:.9em;top:-.2em;left:-.2em;width:1em;height:1em}.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content{width:6em;left:-4em}.vjs-default-skin .vjs-progress-control{position:absolute;left:0;right:0;width:auto;font-size:.3em;height:1em;top:-1em;-webkit-transition:all .4s;-moz-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-default-skin:hover .vjs-progress-control{font-size:.9em;-webkit-transition:all .2s;-moz-transition:all .2s;-o-transition:all .2s;transition:all .2s}.vjs-default-skin .vjs-progress-holder{height:100%}.vjs-default-skin .vjs-progress-holder .vjs-play-progress,.vjs-default-skin .vjs-progress-holder .vjs-load-progress,.vjs-default-skin .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0;left:0;top:0}.vjs-default-skin .vjs-play-progress{background:#66a8cc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat}.vjs-default-skin .vjs-load-progress{background:#646464;background:rgba(255,255,255,.2)}.vjs-default-skin .vjs-load-progress div{background:#787878;background:rgba(255,255,255,.1)}.vjs-default-skin .vjs-seek-handle{width:1.5em;height:100%}.vjs-default-skin .vjs-seek-handle:before{padding-top:.1em}.vjs-default-skin.vjs-live .vjs-time-controls,.vjs-default-skin.vjs-live .vjs-time-divider,.vjs-default-skin.vjs-live .vjs-progress-control{display:none}.vjs-default-skin.vjs-live .vjs-live-display{display:block}.vjs-default-skin .vjs-live-display{display:none;font-size:1em;line-height:3em}.vjs-default-skin .vjs-time-controls{font-size:1em;line-height:3em}.vjs-default-skin .vjs-current-time{float:left}.vjs-default-skin .vjs-duration{float:left}.vjs-default-skin .vjs-remaining-time{display:none;float:left}.vjs-time-divider{float:left;line-height:3em}.vjs-default-skin .vjs-fullscreen-control{width:3.8em;cursor:pointer;float:right}.vjs-default-skin .vjs-fullscreen-control:before{content:"\e000"}.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control:before{content:"\e00b"}.vjs-default-skin .vjs-big-play-button{left:.5em;top:.5em;font-size:3em;display:block;z-index:2;position:absolute;width:4em;height:2.6em;text-align:center;vertical-align:middle;cursor:pointer;opacity:1;background-color:#07141e;background-color:rgba(7,20,30,.7);border:.1em solid #3b4249;-webkit-border-radius:.8em;-moz-border-radius:.8em;border-radius:.8em;-webkit-box-shadow:0 0 1em rgba(255,255,255,.25);-moz-box-shadow:0 0 1em rgba(255,255,255,.25);box-shadow:0 0 1em rgba(255,255,255,.25);-webkit-transition:all .4s;-moz-transition:all .4s;-o-transition:all .4s;transition:all .4s}.vjs-default-skin.vjs-big-play-centered .vjs-big-play-button{left:50%;margin-left:-2.1em;top:50%;margin-top:-1.4000000000000001em}.vjs-default-skin.vjs-controls-disabled .vjs-big-play-button{display:none}.vjs-default-skin.vjs-has-started .vjs-big-play-button{display:none}.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-default-skin:hover .vjs-big-play-button,.vjs-default-skin .vjs-big-play-button:focus{outline:0;border-color:#fff;background-color:#505050;background-color:rgba(50,50,50,.75);-webkit-box-shadow:0 0 3em #fff;-moz-box-shadow:0 0 3em #fff;box-shadow:0 0 3em #fff;-webkit-transition:all 0s;-moz-transition:all 0s;-o-transition:all 0s;transition:all 0s}.vjs-default-skin .vjs-big-play-button:before{content:"\e001";font-family:VideoJS;line-height:2.6em;text-shadow:.05em .05em .1em #000;text-align:center;position:absolute;left:0;width:100%;height:100%}.vjs-error .vjs-big-play-button{display:none}.vjs-error-display{display:none}.vjs-error .vjs-error-display{display:block;position:absolute;left:0;top:0;width:100%;height:100%}.vjs-error .vjs-error-display:before{content:'X';font-family:Arial;font-size:4em;color:#666;line-height:1;text-shadow:.05em .05em .1em #000;text-align:center;vertical-align:middle;position:absolute;top:50%;margin-top:-.5em;width:100%}.vjs-error-display div{position:absolute;font-size:1.4em;text-align:center;bottom:1em;right:1em;left:1em}.vjs-error-display a,.vjs-error-display a:visited{color:#F4A460}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;font-size:4em;line-height:1;width:1em;height:1em;margin-left:-.5em;margin-top:-.5em;opacity:.75}.vjs-waiting .vjs-loading-spinner,.vjs-seeking .vjs-loading-spinner{display:block;-webkit-animation:spin 1.5s infinite linear;-moz-animation:spin 1.5s infinite linear;-o-animation:spin 1.5s infinite linear;animation:spin 1.5s infinite linear}.vjs-error .vjs-loading-spinner{display:none;-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none}.vjs-default-skin .vjs-loading-spinner:before{content:"\e01e";font-family:VideoJS;position:absolute;top:0;left:0;width:1em;height:1em;text-align:center;text-shadow:0 0 .1em #000}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.vjs-default-skin .vjs-menu-button{float:right;cursor:pointer}.vjs-default-skin .vjs-menu{display:none;position:absolute;bottom:0;left:0;width:0;height:0;margin-bottom:3em;border-left:2em solid transparent;border-right:2em solid transparent;border-top:1.55em solid #000;border-top-color:rgba(7,40,50,.5)}.vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;position:absolute;width:10em;bottom:1.5em;max-height:15em;overflow:auto;left:-5em;background-color:#07141e;background-color:rgba(7,20,30,.7);-webkit-box-shadow:-.2em -.2em .3em rgba(255,255,255,.2);-moz-box-shadow:-.2em -.2em .3em rgba(255,255,255,.2);box-shadow:-.2em -.2em .3em rgba(255,255,255,.2)}.vjs-default-skin .vjs-menu-button:hover .vjs-menu{display:block}.vjs-default-skin .vjs-menu-button ul li{list-style:none;margin:0;padding:.3em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-default-skin .vjs-menu-button ul li.vjs-selected{background-color:#000}.vjs-default-skin .vjs-menu-button ul li:focus,.vjs-default-skin .vjs-menu-button ul li:hover,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover{outline:0;color:#111;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-default-skin .vjs-subtitles-button:before{content:"\e00c"}.vjs-default-skin .vjs-captions-button:before{content:"\e008"}.vjs-default-skin .vjs-chapters-button:before{content:"\e00c"}.vjs-default-skin .vjs-chapters-button.vjs-menu-button .vjs-menu .vjs-menu-content{width:24em;left:-12em}.vjs-default-skin .vjs-captions-button:focus .vjs-control-content:before,.vjs-default-skin .vjs-captions-button:hover .vjs-control-content:before{-webkit-box-shadow:0 0 1em #fff;-moz-box-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js{background-color:#000;position:relative;padding:0;font-size:10px;vertical-align:middle;font-weight:400;font-style:normal;font-family:Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js:-moz-full-screen{position:absolute}body.vjs-full-window{padding:0;margin:0;height:100%;overflow-y:auto}.video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0;width:100%!important;height:100%!important;_position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-poster{background-repeat:no-repeat;background-position:50% 50%;background-size:contain;cursor:pointer;height:100%;margin:0;padding:0;position:relative;width:100%}.vjs-poster img{display:block;margin:0 auto;max-height:100%;padding:0;width:100%}.video-js.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-text-track-display{text-align:center;position:absolute;bottom:4em;left:1em;right:1em}.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{display:none;font-size:1.4em;text-align:center;margin-bottom:.1em;background-color:#000;background-color:rgba(0,0,0,.5)}.video-js .vjs-subtitles{color:#fff}.video-js .vjs-captions{color:#fc6}.vjs-tt-cue{display:block}.vjs-default-skin .vjs-hidden{display:none}.vjs-lock-showing{display:block!important;opacity:1;visibility:visible}.vjs-no-js{padding:20px;color:#ccc;background-color:#333;font-size:18px;font-family:Arial,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#F4A460} \ No newline at end of file diff --git a/dist/video-js/video-js.swf b/dist/video-js/video-js.swf index cd99f2ee520ad64f64160e79f1f2cc5c93a144ea..bab530d7e6c0a2b27f8b71bbe03c1de328c55439 100644 GIT binary patch delta 16487 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 diff --git a/dist/video-js/video.dev.js b/dist/video-js/video.dev.js index cf70cb73bc..8365a5aa82 100644 --- a/dist/video-js/video.dev.js +++ b/dist/video-js/video.dev.js @@ -1402,15 +1402,6 @@ vjs.parseUrl = function(url) { return details; }; -// if there's no console then don't try to output messages -// they will still be stored in vjs.log.history -var _noop = function(){}; -var _console = window['console'] || { - 'log': _noop, - 'warn': _noop, - 'error': _noop -}; - /** * Log messags to the console and history based on the type of message * @@ -1419,8 +1410,20 @@ var _console = window['console'] || { * @private */ function _logType(type, args){ + var argsArray, noop, console; + // convert args to an array to get array functions - var argsArray = Array.prototype.slice.call(args); + argsArray = Array.prototype.slice.call(args); + // if there's no console then don't try to output messages + // they will still be stored in vjs.log.history + // Was setting these once outside of this function, but containing them + // in the function makes it easier to test cases where console doesn't exist + noop = function(){}; + console = window['console'] || { + 'log': noop, + 'warn': noop, + 'error': noop + }; if (type) { // add the type to the front of the message @@ -1437,11 +1440,11 @@ function _logType(type, args){ argsArray.unshift('VIDEOJS:'); // call appropriate log function - if (_console[type].apply) { - _console[type].apply(_console, argsArray); + if (console[type].apply) { + console[type].apply(console, argsArray); } else { // ie8 doesn't allow error.apply, but it will just join() the array anyway - _console[type](argsArray.join(' ')); + console[type](argsArray.join(' ')); } } @@ -3409,10 +3412,6 @@ vjs.Player.prototype.dispose = function(){ if (this.tag && this.tag['player']) { this.tag['player'] = null; } if (this.el_ && this.el_['player']) { this.el_['player'] = null; } - // Ensure that tracking progress and time progress will stop and plater deleted - this.stopTrackingProgress(); - this.stopTrackingCurrentTime(); - if (this.tech) { this.tech.dispose(); } // Component dispose @@ -3557,16 +3556,6 @@ vjs.Player.prototype.loadTech = function(techName, source){ var techReady = function(){ this.player_.triggerReady(); - - // Manually track progress in cases where the browser/flash player doesn't report it. - if (!this.features['progressEvents']) { - this.player_.manualProgressOn(); - } - - // Manually track timeudpates in cases where the browser/flash player doesn't report it. - if (!this.features['timeupdateEvents']) { - this.player_.manualTimeUpdatesOn(); - } }; // Grab tech-specific options from player options and add source and parent element to use. @@ -3590,11 +3579,6 @@ vjs.Player.prototype.loadTech = function(techName, source){ vjs.Player.prototype.unloadTech = function(){ this.isReady_ = false; - // Turn off any manual progress or timeupdate tracking - if (this.manualProgress) { this.manualProgressOff(); } - - if (this.manualTimeUpdates) { this.manualTimeUpdatesOff(); } - this.tech.dispose(); this.tech = false; @@ -3614,98 +3598,7 @@ vjs.Player.prototype.unloadTech = function(){ // vjs.log('loadedTech') // }, -/* Fallbacks for unsupported event types -================================================================================ */ -// Manually trigger progress events based on changes to the buffered amount -// Many flash players and older HTML5 browsers don't send progress or progress-like events -vjs.Player.prototype.manualProgressOn = function(){ - this.manualProgress = true; - - // Trigger progress watching when a source begins loading - this.trackProgress(); - - // Watch for a native progress event call on the tech element - // In HTML5, some older versions don't support the progress event - // So we're assuming they don't, and turning off manual progress if they do. - // As opposed to doing user agent detection - if (this.tech) { - this.tech.one('progress', function(){ - - // Update known progress support for this playback technology - this.features['progressEvents'] = true; - - // Turn off manual progress tracking - this.player_.manualProgressOff(); - }); - } -}; - -vjs.Player.prototype.manualProgressOff = function(){ - this.manualProgress = false; - this.stopTrackingProgress(); -}; - -vjs.Player.prototype.trackProgress = function(){ - - this.progressInterval = setInterval(vjs.bind(this, function(){ - // Don't trigger unless buffered amount is greater than last time - - var bufferedPercent = this.bufferedPercent(); - - if (this.cache_.bufferedPercent != bufferedPercent) { - this.trigger('progress'); - } - - this.cache_.bufferedPercent = bufferedPercent; - - if (bufferedPercent == 1) { - this.stopTrackingProgress(); - } - }), 500); -}; -vjs.Player.prototype.stopTrackingProgress = function(){ clearInterval(this.progressInterval); }; - -/*! Time Tracking -------------------------------------------------------------- */ -vjs.Player.prototype.manualTimeUpdatesOn = function(){ - this.manualTimeUpdates = true; - - this.on('play', this.trackCurrentTime); - this.on('pause', this.stopTrackingCurrentTime); - // timeupdate is also called by .currentTime whenever current time is set - - // Watch for native timeupdate event - if (this.tech) { - this.tech.one('timeupdate', function(){ - // Update known progress support for this playback technology - this.features['timeupdateEvents'] = true; - // Turn off manual progress tracking - this.player_.manualTimeUpdatesOff(); - }); - } -}; - -vjs.Player.prototype.manualTimeUpdatesOff = function(){ - this.manualTimeUpdates = false; - this.stopTrackingCurrentTime(); - this.off('play', this.trackCurrentTime); - this.off('pause', this.stopTrackingCurrentTime); -}; - -vjs.Player.prototype.trackCurrentTime = function(){ - if (this.currentTimeInterval) { this.stopTrackingCurrentTime(); } - this.currentTimeInterval = setInterval(vjs.bind(this, function(){ - this.trigger('timeupdate'); - }), 250); // 42 = 24 fps // 250 is what Webkit uses // FF uses 15 -}; - -// Turn off play progress tracking (when paused or dragging) -vjs.Player.prototype.stopTrackingCurrentTime = function(){ - clearInterval(this.currentTimeInterval); - // #1002 - if the video ends right before the next timeupdate would happen, - // the progress bar won't make it all the way to the end - this.trigger('timeupdate'); -}; // /* Player event handlers (how the player reacts to certain events) // ================================================================================ */ @@ -4028,9 +3921,6 @@ vjs.Player.prototype.currentTime = function(seconds){ this.techCall('setCurrentTime', seconds); - // improve the accuracy of manual timeupdates - if (this.manualTimeUpdates) { this.trigger('timeupdate'); } - return this; } @@ -5996,6 +5886,16 @@ vjs.MediaTechController = vjs.Component.extend({ options.reportTouchActivity = false; vjs.Component.call(this, player, options, ready); + // Manually track progress in cases where the browser/flash player doesn't report it. + if (!this.features['progressEvents']) { + this.manualProgressOn(); + } + + // Manually track timeudpates in cases where the browser/flash player doesn't report it. + if (!this.features['timeupdateEvents']) { + this.manualTimeUpdatesOn(); + } + this.initControlsListeners(); } }); @@ -6131,6 +6031,96 @@ vjs.MediaTechController.prototype.onTap = function(){ this.player().userActive(!this.player().userActive()); }; +/* Fallbacks for unsupported event types +================================================================================ */ +// Manually trigger progress events based on changes to the buffered amount +// Many flash players and older HTML5 browsers don't send progress or progress-like events +vjs.MediaTechController.prototype.manualProgressOn = function(){ + this.manualProgress = true; + + // Trigger progress watching when a source begins loading + this.trackProgress(); +}; + +vjs.MediaTechController.prototype.manualProgressOff = function(){ + this.manualProgress = false; + this.stopTrackingProgress(); +}; + +vjs.MediaTechController.prototype.trackProgress = function(){ + + this.progressInterval = setInterval(vjs.bind(this, function(){ + // Don't trigger unless buffered amount is greater than last time + + var bufferedPercent = this.player().bufferedPercent(); + + if (this.bufferedPercent_ != bufferedPercent) { + this.player().trigger('progress'); + } + + this.bufferedPercent_ = bufferedPercent; + + if (bufferedPercent === 1) { + this.stopTrackingProgress(); + } + }), 500); +}; +vjs.MediaTechController.prototype.stopTrackingProgress = function(){ clearInterval(this.progressInterval); }; + +/*! Time Tracking -------------------------------------------------------------- */ +vjs.MediaTechController.prototype.manualTimeUpdatesOn = function(){ + this.manualTimeUpdates = true; + + this.player().on('play', vjs.bind(this, this.trackCurrentTime)); + this.player().on('pause', vjs.bind(this, this.stopTrackingCurrentTime)); + // timeupdate is also called by .currentTime whenever current time is set + + // Watch for native timeupdate event + this.one('timeupdate', function(){ + // Update known progress support for this playback technology + this.features['timeupdateEvents'] = true; + // Turn off manual progress tracking + this.manualTimeUpdatesOff(); + }); +}; + +vjs.MediaTechController.prototype.manualTimeUpdatesOff = function(){ + this.manualTimeUpdates = false; + this.stopTrackingCurrentTime(); + this.off('play', this.trackCurrentTime); + this.off('pause', this.stopTrackingCurrentTime); +}; + +vjs.MediaTechController.prototype.trackCurrentTime = function(){ + if (this.currentTimeInterval) { this.stopTrackingCurrentTime(); } + this.currentTimeInterval = setInterval(vjs.bind(this, function(){ + this.player().trigger('timeupdate'); + }), 250); // 42 = 24 fps // 250 is what Webkit uses // FF uses 15 +}; + +// Turn off play progress tracking (when paused or dragging) +vjs.MediaTechController.prototype.stopTrackingCurrentTime = function(){ + clearInterval(this.currentTimeInterval); + + // #1002 - if the video ends right before the next timeupdate would happen, + // the progress bar won't make it all the way to the end + this.player().trigger('timeupdate'); +}; + +vjs.MediaTechController.prototype.dispose = function() { + // Turn off any manual progress or timeupdate tracking + if (this.manualProgress) { this.manualProgressOff(); } + + if (this.manualTimeUpdates) { this.manualTimeUpdatesOff(); } + + vjs.Component.prototype.dispose.call(this); +}; + +vjs.MediaTechController.prototype.setCurrentTime = function() { + // improve the accuracy of manual timeupdates + if (this.manualTimeUpdates) { this.player().trigger('timeupdate'); } +}; + /** * Provide a default setPoster method for techs * @@ -6179,6 +6169,9 @@ vjs.Html5 = vjs.MediaTechController.extend({ // HTML video is able to automatically resize when going to fullscreen this.features['fullscreenResize'] = true; + // HTML video supports progress events + this.features['progressEvents'] = true; + vjs.MediaTechController.call(this, player, options, ready); this.setupTriggers(); @@ -6672,6 +6665,7 @@ vjs.Flash.prototype.src = function(src){ vjs.Flash.prototype['setCurrentTime'] = function(time){ this.lastSeekTarget_ = time; this.el_.vjs_setProperty('currentTime', time); + vjs.MediaTechController.prototype.setCurrentTime.call(this); }; vjs.Flash.prototype['currentTime'] = function(time){ diff --git a/dist/video-js/video.js b/dist/video-js/video.js index 5717993860..35f5e7aee1 100644 --- a/dist/video-js/video.js +++ b/dist/video-js/video.js @@ -1,154 +1,155 @@ -/*! Video.js v4.7.1 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */ +/*! Video.js v4.7.2 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */ (function() {var b=void 0,f=!0,k=null,l=!1;function m(){return function(){}}function p(a){return function(){return this[a]}}function r(a){return function(){return a}}var s;document.createElement("video");document.createElement("audio");document.createElement("track");function t(a,c,d){if("string"===typeof a){0===a.indexOf("#")&&(a=a.slice(1));if(t.Ca[a])return t.Ca[a];a=t.w(a)}if(!a||!a.nodeName)throw new TypeError("The element or ID supplied is not valid. (videojs)");return a.player||new t.Player(a,c,d)} -var videojs=window.videojs=t;t.Wb="4.7";t.Tc="https:"==document.location.protocol?"https://":"http://";t.options={techOrder:["html5","flash"],html5:{},flash:{},width:300,height:150,defaultVolume:0,playbackRates:[],children:{mediaLoader:{},posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{},errorDisplay:{}},language:document.getElementsByTagName("html")[0].getAttribute("lang")||navigator.Wa&&navigator.Wa[0]||navigator.te||navigator.language||"en",languages:{},notSupportedMessage:"No compatible source was found for this video."}; -"GENERATED_CDN_VSN"!==t.Wb&&(videojs.options.flash.swf=t.Tc+"vjs.zencdn.net/"+t.Wb+"/video-js.swf");t.Ca={};"function"===typeof define&&define.amd?define([],function(){return videojs}):"object"===typeof exports&&"object"===typeof module&&(module.exports=videojs);t.ra=t.CoreObject=m(); -t.ra.extend=function(a){var c,d;a=a||{};c=a.init||a.j||this.prototype.init||this.prototype.j||m();d=function(){c.apply(this,arguments)};d.prototype=t.h.create(this.prototype);d.prototype.constructor=d;d.extend=t.ra.extend;d.create=t.ra.create;for(var e in a)a.hasOwnProperty(e)&&(d.prototype[e]=a[e]);return d};t.ra.create=function(){var a=t.h.create(this.prototype);this.apply(a,arguments);return a}; -t.d=function(a,c,d){if(t.h.isArray(c))return u(t.d,a,c,d);var e=t.getData(a);e.F||(e.F={});e.F[c]||(e.F[c]=[]);d.z||(d.z=t.z++);e.F[c].push(d);e.Y||(e.disabled=l,e.Y=function(c){if(!e.disabled){c=t.rc(c);var d=e.F[c.type];if(d)for(var d=d.slice(0),j=0,n=d.length;jt.Vb;t.Wc=/Firefox/i.test(t.M);t.le=/Chrome/i.test(t.M);t.fc=!!("ontouchstart"in window||window.Uc&&document instanceof window.Uc);t.Hc=function(a,c){t.h.Z(c,function(c,e){e===k||"undefined"===typeof e||e===l?a.removeAttribute(c):a.setAttribute(c,e===f?"":e)})}; +var videojs=window.videojs=t;t.Vb="4.7";t.Uc="https:"==document.location.protocol?"https://":"http://";t.options={techOrder:["html5","flash"],html5:{},flash:{},width:300,height:150,defaultVolume:0,playbackRates:[],children:{mediaLoader:{},posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{},errorDisplay:{}},language:document.getElementsByTagName("html")[0].getAttribute("lang")||navigator.Va&&navigator.Va[0]||navigator.ue||navigator.language||"en",languages:{},notSupportedMessage:"No compatible source was found for this video."}; +"GENERATED_CDN_VSN"!==t.Vb&&(videojs.options.flash.swf=t.Uc+"vjs.zencdn.net/"+t.Vb+"/video-js.swf");t.Ca={};"function"===typeof define&&define.amd?define([],function(){return videojs}):"object"===typeof exports&&"object"===typeof module&&(module.exports=videojs);t.ra=t.CoreObject=m(); +t.ra.extend=function(a){var c,d;a=a||{};c=a.init||a.i||this.prototype.init||this.prototype.i||m();d=function(){c.apply(this,arguments)};d.prototype=t.h.create(this.prototype);d.prototype.constructor=d;d.extend=t.ra.extend;d.create=t.ra.create;for(var e in a)a.hasOwnProperty(e)&&(d.prototype[e]=a[e]);return d};t.ra.create=function(){var a=t.h.create(this.prototype);this.apply(a,arguments);return a}; +t.d=function(a,c,d){if(t.h.isArray(c))return u(t.d,a,c,d);var e=t.getData(a);e.D||(e.D={});e.D[c]||(e.D[c]=[]);d.z||(d.z=t.z++);e.D[c].push(d);e.Y||(e.disabled=l,e.Y=function(c){if(!e.disabled){c=t.qc(c);var d=e.D[c.type];if(d)for(var d=d.slice(0),j=0,n=d.length;jt.Ub;t.Xc=/Firefox/i.test(t.M);t.me=/Chrome/i.test(t.M);t.ec=!!("ontouchstart"in window||window.Vc&&document instanceof window.Vc);t.Ic=function(a,c){t.h.Z(c,function(c,e){e===k||"undefined"===typeof e||e===l?a.removeAttribute(c):a.setAttribute(c,e===f?"":e)})}; t.Aa=function(a){var c,d,e,g;c={};if(a&&a.attributes&&0e?"0"+e:e)+":")+(10>d?"0"+d:d)};t.gd=function(){document.body.focus();document.onselectstart=r(l)};t.ge=function(){document.onselectstart=r(f)};t.trim=function(a){return(a+"").replace(/^\s+|\s+$/g,"")};t.round=function(a,c){c||(c=0);return Math.round(a*Math.pow(10,c))/Math.pow(10,c)}; -t.Ab=function(a,c){return{length:1,start:function(){return a},end:function(){return c}}}; -t.get=function(a,c,d,e){var g,h,j,n;d=d||m();"undefined"===typeof XMLHttpRequest&&(window.XMLHttpRequest=function(){try{return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new window.ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest.");});h=new XMLHttpRequest;j=t.Sd(a);n=window.location;j.protocol+j.host!==n.protocol+n.host&&window.XDomainRequest&&!("withCredentials"in -h)?(h=new window.XDomainRequest,h.onload=function(){c(h.responseText)},h.onerror=d,h.onprogress=m(),h.ontimeout=d):(g="file:"==j.protocol||"file:"==n.protocol,h.onreadystatechange=function(){4===h.readyState&&(200===h.status||g&&0===h.status?c(h.responseText):d(h.responseText))});try{h.open("GET",a,f),e&&(h.withCredentials=f)}catch(q){d(q);return}try{h.send()}catch(v){d(v)}}; -t.Xd=function(a){try{var c=window.localStorage||l;c&&(c.volume=a)}catch(d){22==d.code||1014==d.code?t.log("LocalStorage Full (VideoJS)",d):18==d.code?t.log("LocalStorage not allowed (VideoJS)",d):t.log("LocalStorage Error (VideoJS)",d)}};t.tc=function(a){a.match(/^https?:\/\//)||(a=t.e("div",{innerHTML:'x'}).firstChild.href);return a}; -t.Sd=function(a){var c,d,e,g;g="protocol hostname port pathname search hash host".split(" ");d=t.e("a",{href:a});if(e=""===d.host&&"file:"!==d.protocol)c=t.e("div"),c.innerHTML='',d=c.firstChild,c.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(c);a={};for(var h=0;he&&(a.preventDefault(),this.l("tap")))})} -t.t=t.a.extend({j:function(a,c){t.a.call(this,a,c);I(this);this.d("tap",this.r);this.d("click",this.r);this.d("focus",this.Za);this.d("blur",this.Ya)}});s=t.t.prototype; -s.e=function(a,c){var d;c=t.h.A({className:this.T(),role:"button","aria-live":"polite",tabIndex:0},c);d=t.a.prototype.e.call(this,a,c);c.innerHTML||(this.v=t.e("div",{className:"vjs-control-content"}),this.yb=t.e("span",{className:"vjs-control-text",innerHTML:this.s(this.ua)||"Need Text"}),this.v.appendChild(this.yb),d.appendChild(this.v));return d};s.T=function(){return"vjs-control "+t.a.prototype.T.call(this)};s.r=m();s.Za=function(){t.d(document,"keyup",t.bind(this,this.ea))}; -s.ea=function(a){if(32==a.which||13==a.which)a.preventDefault(),this.r()};s.Ya=function(){t.p(document,"keyup",t.bind(this,this.ea))}; -t.Q=t.a.extend({j:function(a,c){t.a.call(this,a,c);this.fd=this.ka(this.k.barName);this.handle=this.ka(this.k.handleName);this.d("mousedown",this.$a);this.d("touchstart",this.$a);this.d("focus",this.Za);this.d("blur",this.Ya);this.d("click",this.r);this.c.d("controlsvisible",t.bind(this,this.update));a.d(this.Cc,t.bind(this,this.update));this.S={};this.S.move=t.bind(this,this.ab);this.S.end=t.bind(this,this.Ob)}});s=t.Q.prototype; -s.e=function(a,c){c=c||{};c.className+=" vjs-slider";c=t.h.A({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},c);return t.a.prototype.e.call(this,a,c)};s.$a=function(a){a.preventDefault();t.gd();this.n("vjs-sliding");t.d(document,"mousemove",this.S.move);t.d(document,"mouseup",this.S.end);t.d(document,"touchmove",this.S.move);t.d(document,"touchend",this.S.end);this.ab(a)};s.ab=m(); -s.Ob=function(){t.ge();this.q("vjs-sliding");t.p(document,"mousemove",this.S.move,l);t.p(document,"mouseup",this.S.end,l);t.p(document,"touchmove",this.S.move,l);t.p(document,"touchend",this.S.end,l);this.update()};s.update=function(){if(this.b){var a,c=this.Gb(),d=this.handle,e=this.fd;isNaN(c)&&(c=0);a=c;if(d){a=this.b.offsetWidth;var g=d.w().offsetWidth;a=g?g/a:0;c*=1-a;a=c+a/2;d.w().style.left=t.round(100*c,2)+"%"}e&&(e.w().style.width=t.round(100*a,2)+"%")}}; -function J(a,c){var d,e,g,h;d=a.b;e=t.ud(d);h=g=d.offsetWidth;d=a.handle;if(a.options().vertical)return h=e.top,e=c.changedTouches?c.changedTouches[0].pageY:c.pageY,d&&(d=d.w().offsetHeight,h+=d/2,g-=d),Math.max(0,Math.min(1,(h-e+g)/g));g=e.left;e=c.changedTouches?c.changedTouches[0].pageX:c.pageX;d&&(d=d.w().offsetWidth,g+=d/2,h-=d);return Math.max(0,Math.min(1,(e-g)/h))}s.Za=function(){t.d(document,"keyup",t.bind(this,this.ea))}; -s.ea=function(a){if(37==a.which||40==a.which)a.preventDefault(),this.Kc();else if(38==a.which||39==a.which)a.preventDefault(),this.Lc()};s.Ya=function(){t.p(document,"keyup",t.bind(this,this.ea))};s.r=function(a){a.stopImmediatePropagation();a.preventDefault()};t.$=t.a.extend();t.$.prototype.defaultValue=0; -t.$.prototype.e=function(a,c){c=c||{};c.className+=" vjs-slider-handle";c=t.h.A({innerHTML:''+this.defaultValue+""},c);return t.a.prototype.e.call(this,"div",c)};t.ha=t.a.extend();function ca(a,c){a.R(c);c.d("click",t.bind(a,function(){G(this)}))} -t.ha.prototype.e=function(){var a=this.options().mc||"ul";this.v=t.e(a,{className:"vjs-menu-content"});a=t.a.prototype.e.call(this,"div",{append:this.v,className:"vjs-menu"});a.appendChild(this.v);t.d(a,"click",function(a){a.preventDefault();a.stopImmediatePropagation()});return a};t.I=t.t.extend({j:function(a,c){t.t.call(this,a,c);this.selected(c.selected)}});t.I.prototype.e=function(a,c){return t.t.prototype.e.call(this,"li",t.h.A({className:"vjs-menu-item",innerHTML:this.k.label},c))}; -t.I.prototype.r=function(){this.selected(f)};t.I.prototype.selected=function(a){a?(this.n("vjs-selected"),this.b.setAttribute("aria-selected",f)):(this.q("vjs-selected"),this.b.setAttribute("aria-selected",l))};t.L=t.t.extend({j:function(a,c){t.t.call(this,a,c);this.Ba=this.xa();this.R(this.Ba);this.O&&0===this.O.length&&this.X();this.d("keyup",this.ea);this.b.setAttribute("aria-haspopup",f);this.b.setAttribute("role","button")}});s=t.L.prototype;s.ta=l; -s.xa=function(){var a=new t.ha(this.c);this.options().title&&a.ja().appendChild(t.e("li",{className:"vjs-menu-title",innerHTML:t.ba(this.options().title),de:-1}));if(this.O=this.createItems())for(var c=0;ce?"0"+e:e)+":")+(10>d?"0"+d:d)};t.hd=function(){document.body.focus();document.onselectstart=r(l)};t.he=function(){document.onselectstart=r(f)};t.trim=function(a){return(a+"").replace(/^\s+|\s+$/g,"")};t.round=function(a,c){c||(c=0);return Math.round(a*Math.pow(10,c))/Math.pow(10,c)}; +t.zb=function(a,c){return{length:1,start:function(){return a},end:function(){return c}}}; +t.get=function(a,c,d,e){var g,h,j,n;d=d||m();"undefined"===typeof XMLHttpRequest&&(window.XMLHttpRequest=function(){try{return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new window.ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest.");});h=new XMLHttpRequest;j=t.Ud(a);n=window.location;j.protocol+j.host!==n.protocol+n.host&&window.XDomainRequest&&!("withCredentials"in +h)?(h=new window.XDomainRequest,h.onload=function(){c(h.responseText)},h.onerror=d,h.onprogress=m(),h.ontimeout=d):(g="file:"==j.protocol||"file:"==n.protocol,h.onreadystatechange=function(){4===h.readyState&&(200===h.status||g&&0===h.status?c(h.responseText):d(h.responseText))});try{h.open("GET",a,f),e&&(h.withCredentials=f)}catch(q){d(q);return}try{h.send()}catch(w){d(w)}}; +t.Yd=function(a){try{var c=window.localStorage||l;c&&(c.volume=a)}catch(d){22==d.code||1014==d.code?t.log("LocalStorage Full (VideoJS)",d):18==d.code?t.log("LocalStorage not allowed (VideoJS)",d):t.log("LocalStorage Error (VideoJS)",d)}};t.sc=function(a){a.match(/^https?:\/\//)||(a=t.e("div",{innerHTML:'x'}).firstChild.href);return a}; +t.Ud=function(a){var c,d,e,g;g="protocol hostname port pathname search hash host".split(" ");d=t.e("a",{href:a});if(e=""===d.host&&"file:"!==d.protocol)c=t.e("div"),c.innerHTML='',d=c.firstChild,c.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(c);a={};for(var h=0;he&&(a.preventDefault(),this.m("tap")))})} +t.t=t.a.extend({i:function(a,c){t.a.call(this,a,c);G(this);this.d("tap",this.r);this.d("click",this.r);this.d("focus",this.Ya);this.d("blur",this.Xa)}});s=t.t.prototype; +s.e=function(a,c){var d;c=t.h.A({className:this.T(),role:"button","aria-live":"polite",tabIndex:0},c);d=t.a.prototype.e.call(this,a,c);c.innerHTML||(this.v=t.e("div",{className:"vjs-control-content"}),this.xb=t.e("span",{className:"vjs-control-text",innerHTML:this.s(this.ua)||"Need Text"}),this.v.appendChild(this.xb),d.appendChild(this.v));return d};s.T=function(){return"vjs-control "+t.a.prototype.T.call(this)};s.r=m();s.Ya=function(){t.d(document,"keyup",t.bind(this,this.ea))}; +s.ea=function(a){if(32==a.which||13==a.which)a.preventDefault(),this.r()};s.Xa=function(){t.p(document,"keyup",t.bind(this,this.ea))}; +t.Q=t.a.extend({i:function(a,c){t.a.call(this,a,c);this.gd=this.ka(this.l.barName);this.handle=this.ka(this.l.handleName);this.d("mousedown",this.Za);this.d("touchstart",this.Za);this.d("focus",this.Ya);this.d("blur",this.Xa);this.d("click",this.r);this.c.d("controlsvisible",t.bind(this,this.update));a.d(this.Cc,t.bind(this,this.update));this.S={};this.S.move=t.bind(this,this.$a);this.S.end=t.bind(this,this.Mb)}});s=t.Q.prototype; +s.e=function(a,c){c=c||{};c.className+=" vjs-slider";c=t.h.A({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},c);return t.a.prototype.e.call(this,a,c)};s.Za=function(a){a.preventDefault();t.hd();this.n("vjs-sliding");t.d(document,"mousemove",this.S.move);t.d(document,"mouseup",this.S.end);t.d(document,"touchmove",this.S.move);t.d(document,"touchend",this.S.end);this.$a(a)};s.$a=m(); +s.Mb=function(){t.he();this.q("vjs-sliding");t.p(document,"mousemove",this.S.move,l);t.p(document,"mouseup",this.S.end,l);t.p(document,"touchmove",this.S.move,l);t.p(document,"touchend",this.S.end,l);this.update()};s.update=function(){if(this.b){var a,c=this.Fb(),d=this.handle,e=this.gd;isNaN(c)&&(c=0);a=c;if(d){a=this.b.offsetWidth;var g=d.w().offsetWidth;a=g?g/a:0;c*=1-a;a=c+a/2;d.w().style.left=t.round(100*c,2)+"%"}e&&(e.w().style.width=t.round(100*a,2)+"%")}}; +function H(a,c){var d,e,g,h;d=a.b;e=t.wd(d);h=g=d.offsetWidth;d=a.handle;if(a.options().vertical)return h=e.top,e=c.changedTouches?c.changedTouches[0].pageY:c.pageY,d&&(d=d.w().offsetHeight,h+=d/2,g-=d),Math.max(0,Math.min(1,(h-e+g)/g));g=e.left;e=c.changedTouches?c.changedTouches[0].pageX:c.pageX;d&&(d=d.w().offsetWidth,g+=d/2,h-=d);return Math.max(0,Math.min(1,(e-g)/h))}s.Ya=function(){t.d(document,"keyup",t.bind(this,this.ea))}; +s.ea=function(a){if(37==a.which||40==a.which)a.preventDefault(),this.Lc();else if(38==a.which||39==a.which)a.preventDefault(),this.Mc()};s.Xa=function(){t.p(document,"keyup",t.bind(this,this.ea))};s.r=function(a){a.stopImmediatePropagation();a.preventDefault()};t.$=t.a.extend();t.$.prototype.defaultValue=0; +t.$.prototype.e=function(a,c){c=c||{};c.className+=" vjs-slider-handle";c=t.h.A({innerHTML:''+this.defaultValue+""},c);return t.a.prototype.e.call(this,"div",c)};t.ha=t.a.extend();function ca(a,c){a.R(c);c.d("click",t.bind(a,function(){E(this)}))} +t.ha.prototype.e=function(){var a=this.options().lc||"ul";this.v=t.e(a,{className:"vjs-menu-content"});a=t.a.prototype.e.call(this,"div",{append:this.v,className:"vjs-menu"});a.appendChild(this.v);t.d(a,"click",function(a){a.preventDefault();a.stopImmediatePropagation()});return a};t.I=t.t.extend({i:function(a,c){t.t.call(this,a,c);this.selected(c.selected)}});t.I.prototype.e=function(a,c){return t.t.prototype.e.call(this,"li",t.h.A({className:"vjs-menu-item",innerHTML:this.l.label},c))}; +t.I.prototype.r=function(){this.selected(f)};t.I.prototype.selected=function(a){a?(this.n("vjs-selected"),this.b.setAttribute("aria-selected",f)):(this.q("vjs-selected"),this.b.setAttribute("aria-selected",l))};t.L=t.t.extend({i:function(a,c){t.t.call(this,a,c);this.Ba=this.xa();this.R(this.Ba);this.O&&0===this.O.length&&this.W();this.d("keyup",this.ea);this.b.setAttribute("aria-haspopup",f);this.b.setAttribute("role","button")}});s=t.L.prototype;s.ta=l; +s.xa=function(){var a=new t.ha(this.c);this.options().title&&a.ja().appendChild(t.e("li",{className:"vjs-menu-title",innerHTML:t.ba(this.options().title),ee:-1}));if(this.O=this.createItems())for(var c=0;ca&&(a=Infinity),this.duration(a),Infinity===a?this.n("vjs-live"):this.q("vjs-live"))};s.Jd=function(){this.isFullscreen()?this.n("vjs-fullscreen"):this.q("vjs-fullscreen")}; -function U(a,c,d){if(a.i&&!a.i.la)a.i.J(function(){this[c](d)});else try{a.i[c](d)}catch(e){throw t.log(e),e;}}function T(a,c){if(a.i&&a.i.la)try{return a.i[c]()}catch(d){throw a.i[c]===b?t.log("Video.js: "+c+" method not defined for "+a.fb+" playback technology.",d):"TypeError"==d.name?(t.log("Video.js: "+c+" unavailable on "+a.fb+" playback technology element.",d),a.i.la=l):t.log(d),d;}}s.play=function(){U(this,"play");return this};s.pause=function(){U(this,"pause");return this}; -s.paused=function(){return T(this,"paused")===l?l:f};s.currentTime=function(a){return a!==b?(U(this,"setCurrentTime",a),this.Mb&&this.l("timeupdate"),this):this.C.currentTime=T(this,"currentTime")||0};s.duration=function(a){if(a!==b)return this.C.duration=parseFloat(a),this;this.C.duration===b&&this.Ac();return this.C.duration||0};s.remainingTime=function(){return this.duration()-this.currentTime()};s.buffered=function(){var a=T(this,"buffered");if(!a||!a.length)a=t.Ab(0,0);return a}; -s.bufferedPercent=function(){var a=this.duration(),c=this.buffered(),d=0,e,g;if(!a)return 0;for(var h=0;ha&&(g=a),d+=g-e;return d/a};s.volume=function(a){if(a!==b)return a=Math.max(0,Math.min(1,parseFloat(a))),this.C.volume=a,U(this,"setVolume",a),t.Xd(a),this;a=parseFloat(T(this,"volume"));return isNaN(a)?1:a};s.muted=function(a){return a!==b?(U(this,"setMuted",a),this):T(this,"muted")||l};s.Fa=function(){return T(this,"supportsFullScreen")||l};s.xc=l; -s.isFullscreen=function(a){return a!==b?(this.xc=!!a,this):this.xc};s.isFullScreen=function(a){t.log.warn('player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")');return this.isFullscreen(a)}; -s.requestFullscreen=function(){var a=t.Qa.Fb;this.isFullscreen(f);a?(t.d(document,a.fullscreenchange,t.bind(this,function(c){this.isFullscreen(document[a.fullscreenElement]);this.isFullscreen()===l&&t.p(document,a.fullscreenchange,arguments.callee);this.l("fullscreenchange")})),this.b[a.requestFullscreen]()):this.i.Fa()?U(this,"enterFullScreen"):(this.qc(),this.l("fullscreenchange"));return this}; -s.exitFullscreen=function(){var a=t.Qa.Fb;this.isFullscreen(l);if(a)document[a.exitFullscreen]();else this.i.Fa()?U(this,"exitFullScreen"):(this.Db(),this.l("fullscreenchange"));return this};s.qc=function(){this.zd=f;this.qd=document.documentElement.style.overflow;t.d(document,"keydown",t.bind(this,this.sc));document.documentElement.style.overflow="hidden";t.n(document.body,"vjs-full-window");this.l("enterFullWindow")}; -s.sc=function(a){27===a.keyCode&&(this.isFullscreen()===f?this.exitFullscreen():this.Db())};s.Db=function(){this.zd=l;t.p(document,"keydown",this.sc);document.documentElement.style.overflow=this.qd;t.q(document.body,"vjs-full-window");this.l("exitFullWindow")}; -s.src=function(a){if(a===b)return T(this,"src");t.h.isArray(a)?fa(this,a):"string"===typeof a?this.src({src:a}):a instanceof Object&&(a.type&&!window.videojs[this.fb].canPlaySource(a)?fa(this,[a]):(this.C.src=a.src,this.oc=a.type||"",this.J(function(){U(this,"src",a.src);"auto"==this.k.preload&&this.load();this.k.autoplay&&this.play()})));return this}; -function fa(a,c){var d;a:{d=0;for(var e=a.k.techOrder;d'+this.s("Stream Type")+""+this.s("LIVE"),"aria-live":"off"});a.appendChild(this.v);return a};t.bc=t.t.extend({j:function(a,c){t.t.call(this,a,c);a.d("play",t.bind(this,this.Qb));a.d("pause",t.bind(this,this.Pb))}});s=t.bc.prototype;s.ua="Play"; -s.T=function(){return"vjs-play-control "+t.t.prototype.T.call(this)};s.r=function(){this.c.paused()?this.c.play():this.c.pause()};s.Qb=function(){t.q(this.b,"vjs-paused");t.n(this.b,"vjs-playing");this.b.children[0].children[0].innerHTML=this.s("Pause")};s.Pb=function(){t.q(this.b,"vjs-playing");t.n(this.b,"vjs-paused");this.b.children[0].children[0].innerHTML=this.s("Play")};t.ib=t.a.extend({j:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}}); -t.ib.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-current-time-display",innerHTML:'Current Time 0:00',"aria-live":"off"});a.appendChild(this.v);return a};t.ib.prototype.ga=function(){var a=this.c.eb?this.c.C.currentTime:this.c.currentTime();this.v.innerHTML=''+this.s("Current Time")+" "+t.za(a,this.c.duration())}; -t.jb=t.a.extend({j:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}});t.jb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-duration vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-duration-display",innerHTML:''+this.s("Duration Time")+" 0:00","aria-live":"off"});a.appendChild(this.v);return a}; -t.jb.prototype.ga=function(){var a=this.c.duration();a&&(this.v.innerHTML=''+this.s("Duration Time")+" "+t.za(a))};t.hc=t.a.extend({j:function(a,c){t.a.call(this,a,c)}});t.hc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-time-divider",innerHTML:"

/
"})};t.qb=t.a.extend({j:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}}); -t.qb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-remaining-time-display",innerHTML:''+this.s("Remaining Time")+" -0:00","aria-live":"off"});a.appendChild(this.v);return a};t.qb.prototype.ga=function(){this.c.duration()&&(this.v.innerHTML=''+this.s("Remaining Time")+" -"+t.za(this.c.remainingTime()))}; -t.La=t.t.extend({j:function(a,c){t.t.call(this,a,c)}});t.La.prototype.ua="Fullscreen";t.La.prototype.T=function(){return"vjs-fullscreen-control "+t.t.prototype.T.call(this)};t.La.prototype.r=function(){this.c.isFullscreen()?(this.c.exitFullscreen(),this.yb.innerHTML=this.s("Fullscreen")):(this.c.requestFullscreen(),this.yb.innerHTML=this.s("Non-Fullscreen"))};t.pb=t.a.extend({j:function(a,c){t.a.call(this,a,c)}});t.pb.prototype.k={children:{seekBar:{}}}; -t.pb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-progress-control vjs-control"})};t.dc=t.Q.extend({j:function(a,c){t.Q.call(this,a,c);a.d("timeupdate",t.bind(this,this.oa));a.J(t.bind(this,this.oa))}});s=t.dc.prototype;s.k={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"};s.Cc="timeupdate";s.e=function(){return t.Q.prototype.e.call(this,"div",{className:"vjs-progress-holder","aria-label":"video progress bar"})}; -s.oa=function(){var a=this.c.eb?this.c.C.currentTime:this.c.currentTime();this.b.setAttribute("aria-valuenow",t.round(100*this.Gb(),2));this.b.setAttribute("aria-valuetext",t.za(a,this.c.duration()))};s.Gb=function(){return this.c.currentTime()/this.c.duration()};s.$a=function(a){t.Q.prototype.$a.call(this,a);this.c.eb=f;this.ie=!this.c.paused();this.c.pause()};s.ab=function(a){a=J(this,a)*this.c.duration();a==this.c.duration()&&(a-=0.1);this.c.currentTime(a)}; -s.Ob=function(a){t.Q.prototype.Ob.call(this,a);this.c.eb=l;this.ie&&this.c.play()};s.Lc=function(){this.c.currentTime(this.c.currentTime()+5)};s.Kc=function(){this.c.currentTime(this.c.currentTime()-5)};t.mb=t.a.extend({j:function(a,c){t.a.call(this,a,c);a.d("progress",t.bind(this,this.update))}});t.mb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-load-progress",innerHTML:''+this.s("Loaded")+": 0%"})}; -t.mb.prototype.update=function(){var a,c,d,e,g=this.c.buffered();a=this.c.duration();var h,j=this.c;h=j.buffered();j=j.duration();h=h.end(h.length-1);h>j&&(h=j);j=this.b.children;this.b.style.width=100*(h/a||0)+"%";for(a=0;ag.length;a--)this.b.removeChild(j[a-1])};t.ac=t.a.extend({j:function(a,c){t.a.call(this,a,c)}}); -t.ac.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-play-progress",innerHTML:''+this.s("Progress")+": 0%"})};t.Na=t.$.extend({j:function(a,c){t.$.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}});t.Na.prototype.defaultValue="00:00";t.Na.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-seek-handle","aria-live":"off"})}; -t.Na.prototype.ga=function(){var a=this.c.eb?this.c.C.currentTime:this.c.currentTime();this.b.innerHTML=''+t.za(a,this.c.duration())+""};t.sb=t.a.extend({j:function(a,c){t.a.call(this,a,c);a.i&&(a.i.o&&a.i.o.volumeControl===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.i.o&&a.i.o.volumeControl===l?this.n("vjs-hidden"):this.q("vjs-hidden")}))}});t.sb.prototype.k={children:{volumeBar:{}}}; -t.sb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-control vjs-control"})};t.rb=t.Q.extend({j:function(a,c){t.Q.call(this,a,c);a.d("volumechange",t.bind(this,this.oa));a.J(t.bind(this,this.oa))}});s=t.rb.prototype;s.oa=function(){this.b.setAttribute("aria-valuenow",t.round(100*this.c.volume(),2));this.b.setAttribute("aria-valuetext",t.round(100*this.c.volume(),2)+"%")};s.k={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"}; -s.Cc="volumechange";s.e=function(){return t.Q.prototype.e.call(this,"div",{className:"vjs-volume-bar","aria-label":"volume level"})};s.ab=function(a){this.c.muted()&&this.c.muted(l);this.c.volume(J(this,a))};s.Gb=function(){return this.c.muted()?0:this.c.volume()};s.Lc=function(){this.c.volume(this.c.volume()+0.1)};s.Kc=function(){this.c.volume(this.c.volume()-0.1)};t.ic=t.a.extend({j:function(a,c){t.a.call(this,a,c)}}); -t.ic.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-level",innerHTML:''})};t.tb=t.$.extend();t.tb.prototype.defaultValue="00:00";t.tb.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-volume-handle"})}; -t.ia=t.t.extend({j:function(a,c){t.t.call(this,a,c);a.d("volumechange",t.bind(this,this.update));a.i&&(a.i.o&&a.i.o.volumeControl===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.i.o&&a.i.o.volumeControl===l?this.n("vjs-hidden"):this.q("vjs-hidden")}))}});t.ia.prototype.e=function(){return t.t.prototype.e.call(this,"div",{className:"vjs-mute-control vjs-control",innerHTML:'
'+this.s("Mute")+"
"})}; +s.e=function(){var a=this.b=t.a.prototype.e.call(this,"div"),c=this.P,d;c.removeAttribute("width");c.removeAttribute("height");if(c.hasChildNodes()){var e,g,h,j,n;e=c.childNodes;g=e.length;for(n=[];g--;)h=e[g],j=h.nodeName.toLowerCase(),"track"===j&&n.push(h);for(e=0;ea&&(a=Infinity),this.duration(a),Infinity===a?this.n("vjs-live"):this.q("vjs-live"))};s.Ld=function(){this.isFullscreen()?this.n("vjs-fullscreen"):this.q("vjs-fullscreen")};function S(a,c,d){if(a.k&&!a.k.la)a.k.J(function(){this[c](d)});else try{a.k[c](d)}catch(e){throw t.log(e),e;}} +function R(a,c){if(a.k&&a.k.la)try{return a.k[c]()}catch(d){throw a.k[c]===b?t.log("Video.js: "+c+" method not defined for "+a.eb+" playback technology.",d):"TypeError"==d.name?(t.log("Video.js: "+c+" unavailable on "+a.eb+" playback technology element.",d),a.k.la=l):t.log(d),d;}}s.play=function(){S(this,"play");return this};s.pause=function(){S(this,"pause");return this};s.paused=function(){return R(this,"paused")===l?l:f}; +s.currentTime=function(a){return a!==b?(S(this,"setCurrentTime",a),this):this.G.currentTime=R(this,"currentTime")||0};s.duration=function(a){if(a!==b)return this.G.duration=parseFloat(a),this;this.G.duration===b&&this.Ac();return this.G.duration||0};s.remainingTime=function(){return this.duration()-this.currentTime()};s.buffered=function(){var a=R(this,"buffered");if(!a||!a.length)a=t.zb(0,0);return a}; +s.bufferedPercent=function(){var a=this.duration(),c=this.buffered(),d=0,e,g;if(!a)return 0;for(var h=0;ha&&(g=a),d+=g-e;return d/a};s.volume=function(a){if(a!==b)return a=Math.max(0,Math.min(1,parseFloat(a))),this.G.volume=a,S(this,"setVolume",a),t.Yd(a),this;a=parseFloat(R(this,"volume"));return isNaN(a)?1:a};s.muted=function(a){return a!==b?(S(this,"setMuted",a),this):R(this,"muted")||l};s.Ea=function(){return R(this,"supportsFullScreen")||l};s.wc=l; +s.isFullscreen=function(a){return a!==b?(this.wc=!!a,this):this.wc};s.isFullScreen=function(a){t.log.warn('player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")');return this.isFullscreen(a)}; +s.requestFullscreen=function(){var a=t.Pa.Eb;this.isFullscreen(f);a?(t.d(document,a.fullscreenchange,t.bind(this,function(c){this.isFullscreen(document[a.fullscreenElement]);this.isFullscreen()===l&&t.p(document,a.fullscreenchange,arguments.callee);this.m("fullscreenchange")})),this.b[a.requestFullscreen]()):this.k.Ea()?S(this,"enterFullScreen"):(this.pc(),this.m("fullscreenchange"));return this}; +s.exitFullscreen=function(){var a=t.Pa.Eb;this.isFullscreen(l);if(a)document[a.exitFullscreen]();else this.k.Ea()?S(this,"exitFullScreen"):(this.Cb(),this.m("fullscreenchange"));return this};s.pc=function(){this.Bd=f;this.sd=document.documentElement.style.overflow;t.d(document,"keydown",t.bind(this,this.rc));document.documentElement.style.overflow="hidden";t.n(document.body,"vjs-full-window");this.m("enterFullWindow")}; +s.rc=function(a){27===a.keyCode&&(this.isFullscreen()===f?this.exitFullscreen():this.Cb())};s.Cb=function(){this.Bd=l;t.p(document,"keydown",this.rc);document.documentElement.style.overflow=this.sd;t.q(document.body,"vjs-full-window");this.m("exitFullWindow")}; +s.src=function(a){if(a===b)return R(this,"src");t.h.isArray(a)?T(this,a):"string"===typeof a?this.src({src:a}):a instanceof Object&&(a.type&&!window.videojs[this.eb].canPlaySource(a)?T(this,[a]):(this.G.src=a.src,this.nc=a.type||"",this.J(function(){S(this,"src",a.src);"auto"==this.l.preload&&this.load();this.l.autoplay&&this.play()})));return this}; +function T(a,c){var d;a:{d=0;for(var e=a.l.techOrder;d'+this.s("Stream Type")+""+this.s("LIVE"),"aria-live":"off"});a.appendChild(this.v);return a};t.ac=t.t.extend({i:function(a,c){t.t.call(this,a,c);a.d("play",t.bind(this,this.Ob));a.d("pause",t.bind(this,this.Nb))}});s=t.ac.prototype;s.ua="Play"; +s.T=function(){return"vjs-play-control "+t.t.prototype.T.call(this)};s.r=function(){this.c.paused()?this.c.play():this.c.pause()};s.Ob=function(){t.q(this.b,"vjs-paused");t.n(this.b,"vjs-playing");this.b.children[0].children[0].innerHTML=this.s("Pause")};s.Nb=function(){t.q(this.b,"vjs-playing");t.n(this.b,"vjs-paused");this.b.children[0].children[0].innerHTML=this.s("Play")};t.hb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}}); +t.hb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-current-time-display",innerHTML:'Current Time 0:00',"aria-live":"off"});a.appendChild(this.v);return a};t.hb.prototype.ga=function(){var a=this.c.bb?this.c.G.currentTime:this.c.currentTime();this.v.innerHTML=''+this.s("Current Time")+" "+t.za(a,this.c.duration())}; +t.ib=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}});t.ib.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-duration vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-duration-display",innerHTML:''+this.s("Duration Time")+" 0:00","aria-live":"off"});a.appendChild(this.v);return a}; +t.ib.prototype.ga=function(){var a=this.c.duration();a&&(this.v.innerHTML=''+this.s("Duration Time")+" "+t.za(a))};t.gc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.gc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-time-divider",innerHTML:"
/
"})};t.pb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}}); +t.pb.prototype.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.v=t.e("div",{className:"vjs-remaining-time-display",innerHTML:''+this.s("Remaining Time")+" -0:00","aria-live":"off"});a.appendChild(this.v);return a};t.pb.prototype.ga=function(){this.c.duration()&&(this.v.innerHTML=''+this.s("Remaining Time")+" -"+t.za(this.c.remainingTime()))}; +t.Ka=t.t.extend({i:function(a,c){t.t.call(this,a,c)}});t.Ka.prototype.ua="Fullscreen";t.Ka.prototype.T=function(){return"vjs-fullscreen-control "+t.t.prototype.T.call(this)};t.Ka.prototype.r=function(){this.c.isFullscreen()?(this.c.exitFullscreen(),this.xb.innerHTML=this.s("Fullscreen")):(this.c.requestFullscreen(),this.xb.innerHTML=this.s("Non-Fullscreen"))};t.ob=t.a.extend({i:function(a,c){t.a.call(this,a,c)}});t.ob.prototype.l={children:{seekBar:{}}}; +t.ob.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-progress-control vjs-control"})};t.cc=t.Q.extend({i:function(a,c){t.Q.call(this,a,c);a.d("timeupdate",t.bind(this,this.oa));a.J(t.bind(this,this.oa))}});s=t.cc.prototype;s.l={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"};s.Cc="timeupdate";s.e=function(){return t.Q.prototype.e.call(this,"div",{className:"vjs-progress-holder","aria-label":"video progress bar"})}; +s.oa=function(){var a=this.c.bb?this.c.G.currentTime:this.c.currentTime();this.b.setAttribute("aria-valuenow",t.round(100*this.Fb(),2));this.b.setAttribute("aria-valuetext",t.za(a,this.c.duration()))};s.Fb=function(){return this.c.currentTime()/this.c.duration()};s.Za=function(a){t.Q.prototype.Za.call(this,a);this.c.bb=f;this.je=!this.c.paused();this.c.pause()};s.$a=function(a){a=H(this,a)*this.c.duration();a==this.c.duration()&&(a-=0.1);this.c.currentTime(a)}; +s.Mb=function(a){t.Q.prototype.Mb.call(this,a);this.c.bb=l;this.je&&this.c.play()};s.Mc=function(){this.c.currentTime(this.c.currentTime()+5)};s.Lc=function(){this.c.currentTime(this.c.currentTime()-5)};t.lb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.d("progress",t.bind(this,this.update))}});t.lb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-load-progress",innerHTML:''+this.s("Loaded")+": 0%"})}; +t.lb.prototype.update=function(){var a,c,d,e,g=this.c.buffered();a=this.c.duration();var h,j=this.c;h=j.buffered();j=j.duration();h=h.end(h.length-1);h>j&&(h=j);j=this.b.children;this.b.style.width=100*(h/a||0)+"%";for(a=0;ag.length;a--)this.b.removeChild(j[a-1])};t.$b=t.a.extend({i:function(a,c){t.a.call(this,a,c)}}); +t.$b.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-play-progress",innerHTML:''+this.s("Progress")+": 0%"})};t.Ma=t.$.extend({i:function(a,c){t.$.call(this,a,c);a.d("timeupdate",t.bind(this,this.ga))}});t.Ma.prototype.defaultValue="00:00";t.Ma.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-seek-handle","aria-live":"off"})}; +t.Ma.prototype.ga=function(){var a=this.c.bb?this.c.G.currentTime:this.c.currentTime();this.b.innerHTML=''+t.za(a,this.c.duration())+""};t.rb=t.a.extend({i:function(a,c){t.a.call(this,a,c);a.k&&(a.k.o&&a.k.o.volumeControl===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.k.o&&a.k.o.volumeControl===l?this.n("vjs-hidden"):this.q("vjs-hidden")}))}});t.rb.prototype.l={children:{volumeBar:{}}}; +t.rb.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-control vjs-control"})};t.qb=t.Q.extend({i:function(a,c){t.Q.call(this,a,c);a.d("volumechange",t.bind(this,this.oa));a.J(t.bind(this,this.oa))}});s=t.qb.prototype;s.oa=function(){this.b.setAttribute("aria-valuenow",t.round(100*this.c.volume(),2));this.b.setAttribute("aria-valuetext",t.round(100*this.c.volume(),2)+"%")};s.l={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"}; +s.Cc="volumechange";s.e=function(){return t.Q.prototype.e.call(this,"div",{className:"vjs-volume-bar","aria-label":"volume level"})};s.$a=function(a){this.c.muted()&&this.c.muted(l);this.c.volume(H(this,a))};s.Fb=function(){return this.c.muted()?0:this.c.volume()};s.Mc=function(){this.c.volume(this.c.volume()+0.1)};s.Lc=function(){this.c.volume(this.c.volume()-0.1)};t.hc=t.a.extend({i:function(a,c){t.a.call(this,a,c)}}); +t.hc.prototype.e=function(){return t.a.prototype.e.call(this,"div",{className:"vjs-volume-level",innerHTML:''})};t.sb=t.$.extend();t.sb.prototype.defaultValue="00:00";t.sb.prototype.e=function(){return t.$.prototype.e.call(this,"div",{className:"vjs-volume-handle"})}; +t.ia=t.t.extend({i:function(a,c){t.t.call(this,a,c);a.d("volumechange",t.bind(this,this.update));a.k&&(a.k.o&&a.k.o.volumeControl===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.k.o&&a.k.o.volumeControl===l?this.n("vjs-hidden"):this.q("vjs-hidden")}))}});t.ia.prototype.e=function(){return t.t.prototype.e.call(this,"div",{className:"vjs-mute-control vjs-control",innerHTML:'
'+this.s("Mute")+"
"})}; t.ia.prototype.r=function(){this.c.muted(this.c.muted()?l:f)};t.ia.prototype.update=function(){var a=this.c.volume(),c=3;0===a||this.c.muted()?c=0:0.33>a?c=1:0.67>a&&(c=2);this.c.muted()?this.b.children[0].children[0].innerHTML!=this.s("Unmute")&&(this.b.children[0].children[0].innerHTML=this.s("Unmute")):this.b.children[0].children[0].innerHTML!=this.s("Mute")&&(this.b.children[0].children[0].innerHTML=this.s("Mute"));for(a=0;4>a;a++)t.q(this.b,"vjs-vol-"+a);t.n(this.b,"vjs-vol-"+c)}; -t.sa=t.L.extend({j:function(a,c){t.L.call(this,a,c);a.d("volumechange",t.bind(this,this.update));a.i&&(a.i.o&&a.i.o.Rc===l)&&this.n("vjs-hidden");a.d("loadstart",t.bind(this,function(){a.i.o&&a.i.o.Rc===l?this.n("vjs-hidden"):this.q("vjs-hidden")}));this.n("vjs-menu-button")}});t.sa.prototype.xa=function(){var a=new t.ha(this.c,{mc:"div"}),c=new t.rb(this.c,t.h.A({vertical:f},this.k.ue));a.R(c);return a};t.sa.prototype.r=function(){t.ia.prototype.r.call(this);t.L.prototype.r.call(this)}; -t.sa.prototype.e=function(){return t.t.prototype.e.call(this,"div",{className:"vjs-volume-menu-button vjs-menu-button vjs-control",innerHTML:'
'+this.s("Mute")+"
"})};t.sa.prototype.update=t.ia.prototype.update;t.cc=t.L.extend({j:function(a,c){t.L.call(this,a,c);this.Qc();this.Pc();a.d("loadstart",t.bind(this,this.Qc));a.d("ratechange",t.bind(this,this.Pc))}});s=t.cc.prototype; -s.e=function(){var a=t.a.prototype.e.call(this,"div",{className:"vjs-playback-rate vjs-menu-button vjs-control",innerHTML:'
'+this.s("Playback Rate")+"
"});this.zc=t.e("div",{className:"vjs-playback-rate-value",innerHTML:1});a.appendChild(this.zc);return a};s.xa=function(){var a=new t.ha(this.m()),c=this.m().options().playbackRates;if(c)for(var d=c.length-1;0<=d;d--)a.R(new t.ob(this.m(),{rate:c[d]+"x"}));return a}; -s.oa=function(){this.w().setAttribute("aria-valuenow",this.m().playbackRate())};s.r=function(){for(var a=this.m().playbackRate(),c=this.m().options().playbackRates,d=c[0],e=0;ea){d=c[e];break}this.m().playbackRate(d)};function ga(a){return a.m().i&&a.m().i.o.playbackRate&&a.m().options().playbackRates&&0