mirror of
https://github.com/videojs/video.js.git
synced 2025-02-12 12:16:27 +02:00
118 lines
55 KiB
JavaScript
118 lines
55 KiB
JavaScript
(function() {var c=void 0,f=!0,h=null,j=!1;function k(a){return function(){return this[a]}}function l(a){return function(){return a}}var n,aa=this;aa.$b=f;function s(a,b){var d=a.split("."),e=aa;!(d[0]in e)&&e.execScript&&e.execScript("var "+d[0]);for(var g;d.length&&(g=d.shift());)!d.length&&b!==c?e[g]=b:e=e[g]?e[g]:e[g]={}}function t(a,b){function d(){}d.prototype=b.prototype;a.h=b.prototype;a.prototype=new d;a.prototype.constructor=a};document.createElement("video");document.createElement("audio");function u(a,b,d){if("string"===typeof a){0===a.indexOf("#")&&(a=a.slice(1));if(u.P[a])return u.P[a];a=u.f(a)}if(!a||!a.nodeName)throw new TypeError("The element or ID supplied is not valid. (videojs)");return a.a||new v(a,b,d)}var x=u;
|
|
u.options={techOrder:["html5","flash"],html5:{},flash:{sc:"http://vjs.zencdn.net/c/video-js.swf"},width:300,height:150,defaultVolume:0,children:{mediaLoader:{},posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{}}};u.P={};u.zb={};u.e=function(a,b,d){var e=u.getData(a);e.q||(e.q={});e.q[b]||(e.q[b]=[]);d.p||(d.p=u.p++);e.q[b].push(d);e.J||(e.disabled=j,e.J=function(b){if(!e.disabled){b=u.Ua(b);var d=e.q[b.type];if(d){for(var m=[],r=0,p=d.length;r<p;r++)m[r]=d[r];d=0;for(r=m.length;d<r;d++)m[d].call(a,b)}}});1==e.q[b].length&&(document.addEventListener?a.addEventListener(b,e.J,j):document.attachEvent&&a.attachEvent("on"+b,e.J))};
|
|
u.j=function(a,b,d){if(u.Ya(a)){var e=u.getData(a);if(e.q)if(b){var g=e.q[b];if(g){if(d){if(d.p)for(e=0;e<g.length;e++)g[e].p===d.p&&g.splice(e--,1)}else e.q[b]=[];u.Qa(a,b)}}else for(g in e.q)b=g,e.q[b]=[],u.Qa(a,b)}};u.Qa=function(a,b){var d=u.getData(a);0===d.q[b].length&&(delete d.q[b],document.removeEventListener?a.removeEventListener(b,d.J,j):document.detachEvent&&a.detachEvent("on"+b,d.J));u.ja(d.q)&&(delete d.q,delete d.J,delete d.disabled);u.ja(d)&&u.Ma(a)};
|
|
u.Ua=function(a){function b(){return f}function d(){return j}if(!a||!a.Da){var e=a||window.event,g;for(g in e)a[g]=e[g];a.target||(a.target=a.srcElement||document);a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;a.preventDefault=function(){a.returnValue=j;a.Za=b};a.Za=d;a.stopPropagation=function(){a.cancelBubble=f;a.Da=b};a.Da=d;a.stopImmediatePropagation=function(){a.Db=b;a.stopPropagation()};a.Db=d;a.clientX!=h&&(e=document.documentElement,g=document.body,a.pageX=a.clientX+(e&&
|
|
e.scrollLeft||g&&g.scrollLeft||0)-(e&&e.clientLeft||g&&g.clientLeft||0),a.pageY=a.clientY+(e&&e.scrollTop||g&&g.scrollTop||0)-(e&&e.clientTop||g&&g.clientTop||0));a.which=a.charCode||a.keyCode;a.button!=h&&(a.button=a.button&1?0:a.button&4?1:a.button&2?2:0)}return a};
|
|
u.g=function(a,b){var d=u.Ya(a)?u.getData(a):{},e=a.parentNode||a.ownerDocument;"string"===typeof b&&(b={type:b,target:a});b=u.Ua(b);d.J&&d.J.call(a,b);if(e&&!b.Da())u.g(e,b);else if(!e&&!b.Za()&&(d=u.getData(b.target),b.target[b.type])){d.disabled=f;if("function"===typeof b.target[b.type])b.target[b.type]();d.disabled=j}};u.z=function(a,b,d){u.e(a,b,function(){u.j(a,b,arguments.callee);d.apply(this,arguments)})};u.ic={};u.d=function(a,b){var d=document.createElement(a||"div"),e;for(e in b)b.hasOwnProperty(e)&&(d[e]=b[e]);return d};u.I=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};u.Y=function(a,b){if(a)for(var d in a)a.hasOwnProperty(d)&&b.call(this,d,a[d])};u.s=function(a,b){if(!b)return a;for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a};u.bind=function(a,b,d){function e(){return b.apply(a,arguments)}b.p||(b.p=u.p++);e.p=d?d+"_"+b.p:b.p;return e};u.M={};u.p=1;u.expando="vdata"+(new Date).getTime();
|
|
u.getData=function(a){var b=a[u.expando];b||(b=a[u.expando]=u.p++,u.M[b]={});return u.M[b]};u.Ya=function(a){a=a[u.expando];return!(!a||u.ja(u.M[a]))};u.Ma=function(a){var b=a[u.expando];if(b){delete u.M[b];try{delete a[u.expando]}catch(d){a.removeAttribute?a.removeAttribute(u.expando):a[u.expando]=h}}};u.ja=function(a){for(var b in a)if(a[b]!==h)return j;return f};u.m=function(a,b){-1==(" "+a.className+" ").indexOf(" "+b+" ")&&(a.className=""===a.className?b:a.className+" "+b)};
|
|
u.u=function(a,b){if(-1!=a.className.indexOf(b)){var d=a.className.split(" ");d.splice(d.indexOf(b),1);a.className=d.join(" ")}};u.qb=u.d("video");u.A=navigator.userAgent;u.ob=!!u.A.match(/iPad/i);u.nb=!!u.A.match(/iPhone/i);u.pb=!!u.A.match(/iPod/i);u.mb=u.ob||u.nb||u.pb;var ba=u,ca;var da=u.A.match(/OS (\d+)_/i);ca=da&&da[1]?da[1]:c;ba.bc=ca;u.kb=!!u.A.match(/Android.*AppleWebKit/i);var ea=u,fa=u.A.match(/Android (\d+)\./i);ea.jb=fa&&fa[1]?fa[1]:h;u.lb=function(){return!!u.A.match("Firefox")};
|
|
u.N=function(a){var b={};if(a&&a.attributes&&0<a.attributes.length)for(var d=a.attributes,e,g,q=d.length-1;0<=q;q--){e=d[q].name;g=d[q].value;if("boolean"===typeof a[e]||-1!==",autoplay,controls,loop,muted,default,".indexOf(","+e+","))g=g!==h?f:j;b[e]=g}return b};
|
|
u.Ca=function(a,b){var d="";document.defaultView&&document.defaultView.getComputedStyle?d=document.defaultView.getComputedStyle(a,"").getPropertyValue(b):a.currentStyle&&(b=b.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),d=a.currentStyle[b]);return d};u.$=function(a,b){b.firstChild?b.insertBefore(a,b.firstChild):b.appendChild(a)};u.Na={};u.f=function(a){0===a.indexOf("#")&&(a=a.slice(1));return document.getElementById(a)};
|
|
u.o=function(a,b){b=b||a;var d=Math.floor(a%60),e=Math.floor(a/60%60),g=Math.floor(a/3600),q=Math.floor(b/60%60),m=Math.floor(b/3600),g=0<g||0<m?g+":":"";return g+(((g||10<=q)&&10>e?"0"+e:e)+":")+(10>d?"0"+d:d)};u.ub=function(){document.body.focus();document.onselectstart=l(j)};u.Wb=function(){document.onselectstart=l(f)};u.trim=function(a){return a.toString().replace(/^\s+/,"").replace(/\s+$/,"")};u.round=function(a,b){b||(b=0);return Math.round(a*Math.pow(10,b))/Math.pow(10,b)};
|
|
u.ya=function(a){return{length:1,start:l(0),end:function(){return a}}};
|
|
u.get=function(a,b,d){var e=0===a.indexOf("file:")||0===window.location.href.indexOf("file:")&&-1===a.indexOf("http");"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(b){}try{return new window.ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest.");});var g=new XMLHttpRequest;try{g.open("GET",a)}catch(q){d(q)}g.onreadystatechange=
|
|
function(){4===g.readyState&&(200===g.status||e&&0===g.status?b(g.responseText):d&&d())};try{g.send()}catch(m){d&&d(m)}};u.Rb=function(a){var b=window.localStorage||j;if(b)try{b.volume=a}catch(d){22==d.code||1014==d.code?u.log("LocalStorage Full (VideoJS)",d):u.log("LocalStorage Error (VideoJS)",d)}};u.ia=function(a){a.match(/^https?:\/\//)||(a=u.d("div",{innerHTML:'<a href="'+a+'">x</a>'}).firstChild.href);return a};
|
|
u.log=function(){u.log.history=u.log.history||[];u.log.history.push(arguments);window.console&&window.console.log(Array.prototype.slice.call(arguments))};u.Ab="getBoundingClientRect"in document.documentElement?function(a){var b;try{b=a.getBoundingClientRect()}catch(d){}if(!b)return 0;a=document.body;return b.left+(window.pageXOffset||a.scrollLeft)-(document.documentElement.clientLeft||a.clientLeft||0)}:function(a){for(var b=a.offsetLeft;a=a.offsetParent;)b+=a.offsetLeft;return b};function y(a,b,d){this.a=a;b=this.options=u.s(this.options||{},b);this.K=b.id||(b.f&&b.f.id?b.f.id:a.id+"_component_"+u.p++);this.Hb=b.name||h;this.b=b.f?b.f:this.d();this.B=[];this.ga={};this.D={};if((a=this.options)&&a.children){var e=this;u.Y(a.children,function(a,b){b!==j&&!b.Fb&&(e[a]=e.C(a,b))})}this.G(d)}n=y.prototype;
|
|
n.l=function(){if(this.B)for(var a=this.B.length-1;0<=a;a--)this.B[a].l();this.D=this.ga=this.B=h;this.j();this.b.parentNode&&this.b.parentNode.removeChild(this.b);u.Ma(this.b);this.b=h};n.d=function(a,b){return u.d(a,b)};n.f=k("b");n.id=k("K");n.name=k("Hb");n.children=k("B");
|
|
n.C=function(a,b){var d,e,g;"string"===typeof a?(e=a,b=b||{},d=b.hc||u.I(e),b.name=e,d=new window.videojs[d](this.a||this,b)):d=a;e=d.name();g=d.id();this.B.push(d);g&&(this.ga[g]=d);e&&(this.D[e]=d);this.b.appendChild(d.f());return d};n.removeChild=function(a){"string"===typeof a&&(a=this.D[a]);if(a&&this.B){for(var b=j,d=this.B.length-1;0<=d;d--)if(this.B[d]===a){b=f;this.B.splice(d,1);break}b&&(this.ga[a.id]=h,this.D[a.name]=h,(b=a.f())&&b.parentNode===this.b&&this.b.removeChild(a.f()))}};
|
|
n.v=l("");n.e=function(a,b){u.e(this.b,a,u.bind(this,b));return this};n.j=function(a,b){u.j(this.b,a,b);return this};n.z=function(a,b){u.z(this.b,a,u.bind(this,b));return this};n.g=function(a,b){u.g(this.b,a,b);return this};n.G=function(a){a&&(this.U?a.call(this):(this.qa===c&&(this.qa=[]),this.qa.push(a)));return this};function z(a){a.U=f;var b=a.qa;if(b&&0<b.length){for(var d=0,e=b.length;d<e;d++)b[d].call(a);a.qa=[];a.g("ready")}}n.m=function(a){u.m(this.b,a);return this};
|
|
n.u=function(a){u.u(this.b,a);return this};n.show=function(){this.b.style.display="block";return this};n.t=function(){this.b.style.display="none";return this};n.ha=function(){this.u("vjs-fade-out");this.m("vjs-fade-in");return this};n.Aa=function(){this.u("vjs-fade-in");this.m("vjs-fade-out");return this};n.$a=function(){var a=this.b.style;a.display="block";a.opacity=1;a.Yb="visible";return this};function ga(a){a=a.b.style;a.display="";a.opacity="";a.Yb=""}
|
|
n.width=function(a,b){return ha(this,"width",a,b)};n.height=function(a,b){return ha(this,"height",a,b)};n.xb=function(a,b){return this.width(a,f).height(b)};function ha(a,b,d,e){if(d!==c)return a.b.style[b]=-1!==(""+d).indexOf("%")||-1!==(""+d).indexOf("px")?d:d+"px",e||a.g("resize"),a;if(!a.b)return 0;d=a.b.style[b];e=d.indexOf("px");return-1!==e?parseInt(d.slice(0,e),10):parseInt(a.b["offset"+u.I(b)],10)};function v(a,b,d){this.H=a;var e={};u.s(e,u.options);u.s(e,ia(a));u.s(e,b);this.n={};y.call(this,this,e,d);this.e("ended",this.Jb);this.e("play",this.Ka);this.e("pause",this.Ja);this.e("progress",this.Kb);this.e("durationchange",this.Ib);this.e("error",this.Ha);u.P[this.K]=this}t(v,y);n=v.prototype;n.l=function(){u.P[this.K]=h;this.H&&this.H.a&&(this.H.a=h);this.b&&this.b.a&&(this.b.a=h);clearInterval(this.pa);this.i&&this.i.l();v.h.l.call(this)};
|
|
function ia(a){var b={sources:[],tracks:[]};u.s(b,u.N(a));if(a.hasChildNodes())for(var d,e=a.childNodes,g=0,q=e.length;g<q;g++)a=e[g],d=a.nodeName.toLowerCase(),"source"===d?b.sources.push(u.N(a)):"track"===d&&b.tracks.push(u.N(a));return b}
|
|
n.d=function(){var a=this.b=v.h.d.call(this,"div"),b=this.H;b.removeAttribute("controls");b.removeAttribute("poster");b.removeAttribute("width");b.removeAttribute("height");if(b.hasChildNodes())for(var d=b.childNodes.length,e=0,g=b.childNodes;e<d;e++)("source"==g[0].nodeName.toLowerCase()||"track"==g[0].nodeName.toLowerCase())&&b.removeChild(g[0]);b.id=b.id||"vjs_video_"+u.p++;a.id=b.id;a.className=b.className;b.id+="_html5_api";b.className="vjs-tech";b.a=a.a=this;this.m("vjs-paused");this.width(this.options.width,
|
|
f);this.height(this.options.height,f);b.parentNode&&b.parentNode.insertBefore(a,b);u.$(b,a);return a};
|
|
function ja(a,b,d){a.i?ka(a):"Html5"!==b&&a.H&&(a.b.removeChild(a.H),a.H=h);a.Q=b;a.U=j;var e=u.s({source:d,Lb:a.b},a.options[b.toLowerCase()]);d&&(d.src==a.n.src&&0<a.n.currentTime&&(e.startTime=a.n.currentTime),a.n.src=d.src);a.i=new window.videojs[b](a,e);a.i.G(function(){z(this.a);if(!this.F.bb){var a=this.a;a.Fa=f;a.pa=setInterval(u.bind(a,function(){this.n.wa<this.buffered().end(0)?this.g("progress"):1==la(this)&&(clearInterval(this.pa),this.g("progress"))}),500);a.i.z("progress",function(){this.F.bb=
|
|
f;var a=this.a;a.Fa=j;clearInterval(a.pa)})}this.F.hb||(a=this.a,a.Ga=f,a.e("play",a.ib),a.e("pause",a.sa),a.i.z("timeupdate",function(){this.F.hb=f;ma(this.a)}))})}function ka(a){a.i.l();a.Fa&&(a.Fa=j,clearInterval(a.pa));a.Ga&&ma(a);a.i=j}function ma(a){a.Ga=j;a.sa();a.j("play",a.ib);a.j("pause",a.sa)}n.ib=function(){this.Sa&&this.sa();this.Sa=setInterval(u.bind(this,function(){this.g("timeupdate")}),250)};n.sa=function(){clearInterval(this.Sa)};
|
|
n.Jb=function(){this.options.loop&&(this.currentTime(0),this.play())};n.Ka=function(){u.u(this.b,"vjs-paused");u.m(this.b,"vjs-playing")};n.Ja=function(){u.u(this.b,"vjs-playing");u.m(this.b,"vjs-paused")};n.Kb=function(){1==la(this)&&this.g("loadedalldata")};n.Ib=function(){this.duration(A(this,"duration"))};n.Ha=function(a){u.log("Video Error",a)};function B(a,b,d){if(a.i.U)try{a.i[b](d)}catch(e){u.log(e)}else a.i.G(function(){this[b](d)})}
|
|
function A(a,b){if(a.i.U)try{return a.i[b]()}catch(d){if(a.i[b]===c)u.log("Video.js: "+b+" method not defined for "+a.Q+" playback technology.",d);else{if("TypeError"==d.name)throw u.log("Video.js: "+b+" unavailable on "+a.Q+" playback technology element.",d),a.i.U=j,d;u.log(d)}}}n.play=function(){B(this,"play");return this};n.pause=function(){B(this,"pause");return this};n.paused=function(){return A(this,"paused")===j?j:f};
|
|
n.currentTime=function(a){return a!==c?(this.n.pc=a,B(this,"setCurrentTime",a),this.Ga&&this.g("timeupdate"),this):this.n.currentTime=A(this,"currentTime")||0};n.duration=function(a){return a!==c?(this.n.duration=parseFloat(a),this):this.n.duration};n.buffered=function(){var a=A(this,"buffered"),b=this.n.wa=this.n.wa||0;a&&(0<a.length&&a.end(0)!==b)&&(b=a.end(0),this.n.wa=b);return u.ya(b)};function la(a){return a.duration()?a.buffered().end(0)/a.duration():0}
|
|
n.volume=function(a){if(a!==c)return a=Math.max(0,Math.min(1,parseFloat(a))),this.n.volume=a,B(this,"setVolume",a),u.Rb(a),this;a=parseFloat(A(this,"volume"));return isNaN(a)?1:a};n.muted=function(a){return a!==c?(B(this,"setMuted",a),this):A(this,"muted")||j};n.ta=function(){return A(this,"supportsFullScreen")||j};
|
|
n.ra=function(){var a=u.Na.ra;this.O=f;a?(u.e(document,a.T,u.bind(this,function(){this.O=document[a.O];this.O===j&&u.j(document,a.T,arguments.callee);this.g("fullscreenchange")})),this.i.F.Wa===j&&this.options.flash.iFrameMode!==f&&(this.pause(),ka(this),u.e(document,a.T,u.bind(this,function(){u.j(document,a.T,arguments.callee);ja(this,this.Q,{src:this.n.src})}))),this.b[a.Nb]()):this.i.ta()?(this.g("fullscreenchange"),B(this,"enterFullScreen")):(this.g("fullscreenchange"),this.Cb=f,this.yb=document.documentElement.style.overflow,
|
|
u.e(document,"keydown",u.bind(this,this.Va)),document.documentElement.style.overflow="hidden",u.m(document.body,"vjs-full-window"),u.m(this.b,"vjs-fullscreen"),this.g("enterFullWindow"));return this};function na(a){var b=u.Na.ra;a.O=j;b?(a.i.F.Wa===j&&a.options.flash.iFrameMode!==f&&(a.pause(),ka(a),u.e(document,b.T,u.bind(a,function(){u.j(document,b.T,arguments.callee);ja(this,this.Q,{src:this.n.src})}))),document[b.vb]()):(a.i.ta()?B(a,"exitFullScreen"):oa(a),a.g("fullscreenchange"))}
|
|
n.Va=function(a){27===a.keyCode&&(this.O===f?na(this):oa(this))};function oa(a){a.Cb=j;u.j(document,"keydown",a.Va);document.documentElement.style.overflow=a.yb;u.u(document.body,"vjs-full-window");u.u(a.b,"vjs-fullscreen");a.g("exitFullWindow")}
|
|
n.src=function(a){if(a instanceof Array){var b;a:{b=a;for(var d=0,e=this.options.techOrder;d<e.length;d++){var g=u.I(e[d]),q=window.videojs[g];if(q.isSupported())for(var m=0,r=b;m<r.length;m++){var p=r[m];if(q.canPlaySource(p)){b={source:p,i:g};break a}}}b=j}b?(a=b.source,b=b.i,b==this.Q?this.src(a):ja(this,b,a)):this.b.appendChild(u.d("p",{innerHTML:'Sorry, no compatible source and playback technology were found for this video. Try using another browser like <a href="http://www.google.com/chrome">Google Chrome</a> or download the latest <a href="http://get.adobe.com/flashplayer/">Adobe Flash Player</a>.'}))}else a instanceof
|
|
Object?window.videojs[this.Q].canPlaySource(a)?this.src(a.src):this.src([a]):(this.n.src=a,this.U?(B(this,"src",a),"auto"==this.options.preload&&this.load(),this.options.autoplay&&this.play()):this.G(function(){this.src(a)}));return this};n.load=function(){B(this,"load");return this};n.currentSrc=function(){return A(this,"currentSrc")||this.n.src||""};n.ca=function(a){return a!==c?(B(this,"setPreload",a),this.options.preload=a,this):A(this,"preload")};
|
|
n.autoplay=function(a){return a!==c?(B(this,"setAutoplay",a),this.options.autoplay=a,this):A(this,"autoplay")};n.loop=function(a){return a!==c?(B(this,"setLoop",a),this.options.loop=a,this):A(this,"loop")};n.controls=function(){return this.options.controls};n.poster=function(){return A(this,"poster")};n.error=function(){return A(this,"error")};var pa,qa,ra,sa;
|
|
if(document.fc!==c)pa="requestFullscreen",qa="exitFullscreen",ra="fullscreenchange",sa="fullScreen";else for(var ta=["moz","webkit"],ua=ta.length-1;0<=ua;ua--){var C=ta[ua];if(("moz"!=C||document.mozFullScreenEnabled)&&document[C+"CancelFullScreen"]!==c)pa=C+"RequestFullScreen",qa=C+"CancelFullScreen",ra=C+"fullscreenchange",sa="webkit"==C?C+"IsFullScreen":C+"FullScreen"}pa&&(u.Na.ra={Nb:pa,vb:qa,T:ra,O:sa});
|
|
function va(a,b,d){y.call(this,a,b,d);if(!a.options.sources||0===a.options.sources.length){b=0;for(d=a.options.techOrder;b<d.length;b++){var e=u.I(d[b]),g=window.videojs[e];if(g&&g.isSupported()){ja(a,e);break}}}else a.src(a.options.sources)}t(va,y);function D(a,b){y.call(this,a,b)}t(D,y);D.prototype.v=function(){return"vjs-control "+D.h.v.call(this)};function E(a,b){y.call(this,a,b);a.z("play",u.bind(this,function(){this.ha();this.a.e("mouseover",u.bind(this,this.ha));this.a.e("mouseout",u.bind(this,this.Aa))}))}t(E,y);n=E.prototype;n.options={Fb:"play",children:{playToggle:{},fullscreenToggle:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},remainingTimeDisplay:{},progressControl:{},volumeControl:{},muteToggle:{}}};
|
|
n.d=function(){return u.d("div",{className:"vjs-control-bar"})};n.ha=function(){E.h.ha.call(this);this.a.g("controlsvisible")};n.Aa=function(){E.h.Aa.call(this);this.a.g("controlshidden")};n.$a=function(){this.b.style.opacity="1"};function F(a,b){y.call(this,a,b);this.e("click",this.k);this.e("focus",this.ma);this.e("blur",this.la)}t(F,D);n=F.prototype;
|
|
n.d=function(a,b){b=u.s({className:this.v(),innerHTML:'<div><span class="vjs-control-text">'+(this.L||"Need Text")+"</span></div>",Ob:"button",tabIndex:0},b);return F.h.d.call(this,a,b)};n.k=function(){};n.ma=function(){u.e(document,"keyup",u.bind(this,this.ba))};n.ba=function(a){if(32==a.which||13==a.which)a.preventDefault(),this.k()};n.la=function(){u.j(document,"keyup",u.bind(this,this.ba))};function G(a,b){F.call(this,a,b)}t(G,F);G.prototype.L="Play";
|
|
G.prototype.v=function(){return"vjs-play-button "+G.h.v.call(this)};G.prototype.k=function(){this.a.play()};function H(a,b){F.call(this,a,b)}t(H,F);H.prototype.L="Play";H.prototype.v=function(){return"vjs-pause-button "+H.h.v.call(this)};H.prototype.k=function(){this.a.pause()};function wa(a,b){F.call(this,a,b);a.e("play",u.bind(this,this.Ka));a.e("pause",u.bind(this,this.Ja))}t(wa,F);n=wa.prototype;n.L="Play";n.v=function(){return"vjs-play-control "+wa.h.v.call(this)};
|
|
n.k=function(){this.a.paused()?this.a.play():this.a.pause()};n.Ka=function(){u.u(this.b,"vjs-paused");u.m(this.b,"vjs-playing")};n.Ja=function(){u.u(this.b,"vjs-playing");u.m(this.b,"vjs-paused")};function I(a,b){F.call(this,a,b)}t(I,F);I.prototype.L="Fullscreen";I.prototype.v=function(){return"vjs-fullscreen-control "+I.h.v.call(this)};I.prototype.k=function(){this.a.O?na(this.a):this.a.ra()};function J(a,b){F.call(this,a,b);a.e("play",u.bind(this,this.t));a.e("ended",u.bind(this,this.show))}
|
|
t(J,F);J.prototype.d=function(){return J.h.d.call(this,"div",{className:"vjs-big-play-button",innerHTML:"<span></span>"})};J.prototype.k=function(){this.a.currentTime()&&this.a.currentTime(0);this.a.play()};
|
|
function K(a,b){y.call(this,a,b);a.e("canplay",u.bind(this,this.t));a.e("canplaythrough",u.bind(this,this.t));a.e("playing",u.bind(this,this.t));a.e("seeked",u.bind(this,this.t));a.e("seeking",u.bind(this,this.show));a.e("seeked",u.bind(this,this.t));a.e("error",u.bind(this,this.show));a.e("waiting",u.bind(this,this.show))}t(K,y);
|
|
K.prototype.d=function(){var a,b;"string"==typeof this.a.f().style.WebkitBorderRadius||"string"==typeof this.a.f().style.MozBorderRadius||"string"==typeof this.a.f().style.cc||"string"==typeof this.a.f().style.ec?(a="vjs-loading-spinner",b='<div class="ball1"></div><div class="ball2"></div><div class="ball3"></div><div class="ball4"></div><div class="ball5"></div><div class="ball6"></div><div class="ball7"></div><div class="ball8"></div>'):(a="vjs-loading-spinner-fallback",b="");return K.h.d.call(this,
|
|
"div",{className:a,innerHTML:b})};function L(a,b){y.call(this,a,b);a.e("timeupdate",u.bind(this,this.ea))}t(L,y);L.prototype.d=function(){var a=L.h.d.call(this,"div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.content=u.d("div",{className:"vjs-current-time-display",innerHTML:"0:00"});a.appendChild(u.d("div").appendChild(this.content));return a};L.prototype.ea=function(){var a=this.a.cb?this.a.n.currentTime:this.a.currentTime();this.content.innerHTML=u.o(a,this.a.duration())};
|
|
function M(a,b){y.call(this,a,b);a.e("timeupdate",u.bind(this,this.ea))}t(M,y);M.prototype.d=function(){var a=M.h.d.call(this,"div",{className:"vjs-duration vjs-time-controls vjs-control"});this.content=u.d("div",{className:"vjs-duration-display",innerHTML:"0:00"});a.appendChild(u.d("div").appendChild(this.content));return a};M.prototype.ea=function(){this.a.duration()&&(this.content.innerHTML=u.o(this.a.duration()))};function xa(a,b){y.call(this,a,b)}t(xa,y);
|
|
xa.prototype.d=function(){return xa.h.d.call(this,"div",{className:"vjs-time-divider",innerHTML:"<div><span>/</span></div>"})};function N(a,b){y.call(this,a,b);a.e("timeupdate",u.bind(this,this.ea))}t(N,y);N.prototype.d=function(){var a=N.h.d.call(this,"div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.content=u.d("div",{className:"vjs-remaining-time-display",innerHTML:"-0:00"});a.appendChild(u.d("div").appendChild(this.content));return a};
|
|
N.prototype.ea=function(){this.a.duration()&&(this.content.innerHTML="-"+u.o(this.a.duration()-this.a.currentTime()))};function O(a,b){y.call(this,a,b);this.tb=this.D[this.options.barName];this.handle=this.D[this.options.handleName];a.e(this.ab,u.bind(this,this.update));this.e("mousedown",this.Ia);this.e("focus",this.ma);this.e("blur",this.la);this.a.e("controlsvisible",u.bind(this,this.update));a.G(u.bind(this,this.update))}t(O,y);n=O.prototype;
|
|
n.d=function(a,b){b=u.s({Ob:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},b);return O.h.d.call(this,a,b)};n.Ia=function(a){a.preventDefault();u.ub();u.e(document,"mousemove",u.bind(this,this.na));u.e(document,"mouseup",u.bind(this,this.oa));this.na(a)};n.oa=function(){u.Wb();u.j(document,"mousemove",this.na,j);u.j(document,"mouseup",this.oa,j);this.update()};
|
|
n.update=function(){var a,b=this.Xa(),d=this.handle,e=this.tb;isNaN(b)&&(b=0);a=b;if(d){a=this.b.offsetWidth;var g=d.f().offsetWidth;a=g?g/a:0;b*=1-a;a=b+a/2;d.f().style.left=u.round(100*b,2)+"%"}e.f().style.width=u.round(100*a,2)+"%"};function ya(a,b){var d=a.b,e=u.Ab(d),d=d.offsetWidth,g=a.handle;g&&(g=g.f().offsetWidth,e+=g/2,d-=g);return Math.max(0,Math.min(1,(b.pageX-e)/d))}n.ma=function(){u.e(document,"keyup",u.bind(this,this.ba))};
|
|
n.ba=function(a){37==a.which?(a.preventDefault(),this.fb()):39==a.which&&(a.preventDefault(),this.gb())};n.la=function(){u.j(document,"keyup",u.bind(this,this.ba))};function P(a,b){y.call(this,a,b)}t(P,y);P.prototype.options={children:{seekBar:{}}};P.prototype.d=function(){return P.h.d.call(this,"div",{className:"vjs-progress-control vjs-control"})};function Q(a,b){O.call(this,a,b)}t(Q,O);n=Q.prototype;
|
|
n.options={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"};n.ab="timeupdate";n.d=function(){return Q.h.d.call(this,"div",{className:"vjs-progress-holder"})};n.Xa=function(){return this.a.currentTime()/this.a.duration()};n.Ia=function(a){Q.h.Ia.call(this,a);this.a.cb=f;this.Xb=!this.a.paused();this.a.pause()};n.na=function(a){a=ya(this,a)*this.a.duration();a==this.a.duration()&&(a-=0.1);this.a.currentTime(a)};
|
|
n.oa=function(a){Q.h.oa.call(this,a);this.a.cb=j;this.Xb&&this.a.play()};n.gb=function(){this.a.currentTime(this.a.currentTime()+1)};n.fb=function(){this.a.currentTime(this.a.currentTime()-1)};function za(a,b){y.call(this,a,b);a.e("progress",u.bind(this,this.update))}t(za,y);za.prototype.d=function(){return za.h.d.call(this,"div",{className:"vjs-load-progress",innerHTML:'<span class="vjs-control-text">Loaded: 0%</span>'})};
|
|
za.prototype.update=function(){this.b.style&&(this.b.style.width=u.round(100*la(this.a),2)+"%")};function Aa(a,b){y.call(this,a,b)}t(Aa,y);Aa.prototype.d=function(){return Aa.h.d.call(this,"div",{className:"vjs-play-progress",innerHTML:'<span class="vjs-control-text">Progress: 0%</span>'})};function Ba(a,b){y.call(this,a,b)}t(Ba,y);Ba.prototype.d=function(){return Ba.h.d.call(this,"div",{className:"vjs-seek-handle",innerHTML:'<span class="vjs-control-text">00:00</span>'})};
|
|
function Ca(a,b){y.call(this,a,b)}t(Ca,y);Ca.prototype.options={children:{volumeBar:{}}};Ca.prototype.d=function(){return Ca.h.d.call(this,"div",{className:"vjs-volume-control vjs-control"})};function Da(a,b){O.call(this,a,b)}t(Da,O);n=Da.prototype;n.options={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"};n.ab="volumechange";n.d=function(){return Da.h.d.call(this,"div",{className:"vjs-volume-bar"})};n.na=function(a){this.a.volume(ya(this,a))};n.Xa=function(){return this.a.volume()};
|
|
n.gb=function(){this.a.volume(this.a.volume()+0.1)};n.fb=function(){this.a.volume(this.a.volume()-0.1)};function Ea(a,b){y.call(this,a,b)}t(Ea,y);Ea.prototype.d=function(){return Ea.h.d.call(this,"div",{className:"vjs-volume-level",innerHTML:'<span class="vjs-control-text"></span>'})};function Fa(a,b){y.call(this,a,b)}t(Fa,y);Fa.prototype.d=function(){return Fa.h.d.call(this,"div",{className:"vjs-volume-handle",innerHTML:'<span class="vjs-control-text"></span>'})};
|
|
function R(a,b){F.call(this,a,b);a.e("volumechange",u.bind(this,this.update))}t(R,F);R.prototype.d=function(){return R.h.d.call(this,"div",{className:"vjs-mute-control vjs-control",innerHTML:'<div><span class="vjs-control-text">Mute</span></div>'})};R.prototype.k=function(){this.a.muted(this.a.muted()?j:f)};R.prototype.update=function(){var a=this.a.volume(),b=3;0===a||this.a.muted()?b=0:0.33>a?b=1:0.67>a&&(b=2);for(a=0;4>a;a++)u.u(this.b,"vjs-vol-"+a);u.m(this.b,"vjs-vol-"+b)};
|
|
function Ga(a,b){F.call(this,a,b);this.a.options.poster||this.t();a.e("play",u.bind(this,this.t))}t(Ga,F);Ga.prototype.d=function(){var a=u.d("img",{className:"vjs-poster",tabIndex:-1});this.a.options.poster&&(a.src=this.a.options.poster);return a};Ga.prototype.k=function(){this.a.play()};function S(a,b){y.call(this,a,b)}t(S,y);function Ha(a,b){a.C(b);b.e("click",u.bind(a,function(){ga(this)}))}S.prototype.d=function(){return S.h.d.call(this,"ul",{className:"vjs-menu"})};
|
|
function T(a,b){F.call(this,a,b);b.selected&&this.m("vjs-selected")}t(T,F);T.prototype.d=function(a,b){return T.h.d.call(this,"li",u.s({className:"vjs-menu-item",innerHTML:this.options.label},b))};T.prototype.k=function(){this.selected(f)};T.prototype.selected=function(a){a?this.m("vjs-selected"):this.u("vjs-selected")};function U(a,b,d){y.call(this,a,b,d)}t(U,y);U.prototype.k=function(){this.a.options.controls&&(this.a.paused()?this.a.play():this.a.pause())};u.media={};u.media.ua="play pause paused currentTime setCurrentTime duration buffered volume setVolume muted setMuted width height supportsFullScreen enterFullScreen src load currentSrc preload setPreload autoplay setAutoplay loop setLoop error networkState readyState seeking initialTime startOffsetTime played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks defaultPlaybackRate playbackRate mediaGroup controller controls defaultMuted".split(" ");
|
|
function Ia(){var a=u.media.ua[i];return function(){throw Error('The "'+a+"\" method is not available on the playback technology's API");}}for(var i=u.media.ua.length-1;0<=i;i--)U.prototype[u.media.ua[i]]=Ia();function V(a,b,d){y.call(this,a,b,d);(b=b.source)&&this.b.currentSrc==b.src?a.g("loadstart"):b&&(this.b.src=b.src);a.G(function(){this.options.autoplay&&this.paused()&&(this.H.poster=h,this.play())});this.e("click",this.k);for(a=Ja.length-1;0<=a;a--)u.e(this.b,Ja[a],u.bind(this.a,this.Ta));z(this)}t(V,U);n=V.prototype;n.l=function(){for(var a=Ja.length-1;0<=a;a--)u.j(this.b,Ja[a],u.bind(this.a,this.Ta));V.h.l.call(this)};
|
|
n.d=function(){var a=this.a,b=a.H;if(!b||this.F.Gb===j)b&&a.f().removeChild(b),b=u.createElement("video",{id:b.id||a.id+"_html5_api",className:b.className||"vjs-tech"}),u.$(b,a.f);for(var d=["autoplay","preload","loop","muted"],e=d.length-1;0<=e;e--){var g=d[e];a.options[g]!==h&&(b[g]=a.options[g])}return b};n.Ta=function(a){this.g(a);a.stopPropagation()};n.play=function(){this.b.play()};n.pause=function(){this.b.pause()};n.paused=function(){return this.b.paused};n.currentTime=function(){return this.b.currentTime};
|
|
n.Qb=function(a){try{this.b.currentTime=a}catch(b){u.log(b,"Video is not ready. (Video.js)")}};n.duration=function(){return this.b.duration||0};n.buffered=function(){return this.b.buffered};n.volume=function(){return this.b.volume};n.Vb=function(a){this.b.volume=a};n.muted=function(){return this.b.muted};n.Tb=function(a){this.b.muted=a};n.width=function(){return this.b.offsetWidth};n.height=function(){return this.b.offsetHeight};
|
|
n.ta=function(){return"function"==typeof this.b.webkitEnterFullScreen&&!navigator.userAgent.match("Chrome")&&!navigator.userAgent.match("Mac OS X 10.5")?f:j};n.src=function(a){this.b.src=a};n.load=function(){this.b.load()};n.currentSrc=function(){return this.b.currentSrc};n.ca=function(){return this.b.ca};n.Ub=function(a){this.b.ca=a};n.autoplay=function(){return this.b.autoplay};n.Pb=function(a){this.b.autoplay=a};n.loop=function(){return this.b.loop};n.Sb=function(a){this.b.loop=a};n.error=function(){return this.b.error};
|
|
n.controls=function(){return this.a.options.controls};var Ja="loadstart suspend abort error emptied stalled loadedmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate progress play pause ratechange volumechange".split(" ");V.prototype.F={kc:u.qb.webkitEnterFullScreen?!u.A.match("Chrome")&&!u.A.match("Mac OS X 10.5")?f:j:j,Gb:!u.mb};
|
|
u.kb&&3>u.jb&&(document.createElement("video").constructor.prototype.canPlayType=function(a){return a&&-1!=a.toLowerCase().indexOf("video/mp4")?"maybe":""});function W(a,b,d){y.call(this,a,b,d);var e=b.source,g=b.Lb;d=this.b=u.d("div",{id:a.id()+"_temp_flash"});var q=a.id()+"_flash_api";a=a.options;var m=u.s({readyFunction:"videojs.Flash.onReady",eventProxyFunction:"videojs.Flash.onEvent",errorEventProxyFunction:"videojs.Flash.onError",autoplay:a.autoplay,preload:a.ca,loop:a.loop,muted:a.muted},b.flashVars),r=u.s({wmode:"opaque",bgcolor:"#000000"},b.params),p=u.s({id:q,name:q,"class":"vjs-tech"},b.attributes);e&&(m.src=encodeURIComponent(u.ia(e.src)));
|
|
u.$(d,g);b.startTime&&this.G(function(){this.load();this.play();this.currentTime(b.startTime)});if(b.nc===f&&!u.lb){var w=u.d("iframe",{id:q+"_iframe",name:q+"_iframe",className:"vjs-tech",scrolling:"no",marginWidth:0,marginHeight:0,frameBorder:0});m.readyFunction="ready";m.eventProxyFunction="events";m.errorEventProxyFunction="errors";u.e(w,"load",u.bind(this,function(){var a,d=w.contentWindow;a=w.contentDocument?w.contentDocument:w.contentWindow.document;a.write(Ka(b.swf,m,r,p));d.a=this.a;d.G=
|
|
u.bind(this.a,function(b){b=a.getElementById(b);var d=this.i;d.f=b;u.e(b,"click",d.bind(d.k));La(d)});d.zb=u.bind(this.a,function(a,b){this&&"flash"===this.Q&&this.g(b)});d.jc=u.bind(this.a,function(a,b){u.log("Flash Error",b)})}));d.parentNode.replaceChild(w,d)}else{a=Ka(b.swf,m,r,p);a=u.d("div",{innerHTML:a}).childNodes[0];e=d.parentNode;d.parentNode.replaceChild(a,d);var eb=e.childNodes[0];setTimeout(function(){eb.style.display="block"},1E3)}}t(W,U);n=W.prototype;n.l=function(){W.h.l.call(this)};
|
|
n.play=function(){this.b.vjs_play()};n.pause=function(){this.b.vjs_pause()};n.src=function(a){a=u.ia(a);this.b.vjs_src(a);if(this.a.autoplay()){var b=this;setTimeout(function(){b.play()},0)}};n.load=function(){this.b.vjs_load()};n.poster=function(){this.b.vjs_getProperty("poster")};n.buffered=function(){return u.ya(this.b.vjs_getProperty("buffered"))};n.ta=l(j);
|
|
var Ma=W.prototype,Na="preload currentTime defaultPlaybackRate playbackRate autoplay loop mediaGroup controller controls volume muted defaultMuted".split(" "),Oa="error currentSrc networkState readyState seeking initialTime duration startOffsetTime paused played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks".split(" ");function Pa(){var a=Na[i],b=a.charAt(0).toUpperCase()+a.slice(1);Ma["set"+b]=function(b){return this.b.vjs_setProperty(a,b)}}
|
|
function Qa(a){Ma[a]=function(){return this.b.vjs_getProperty(a)}}for(i=0;i<Na.length;i++)Qa(Na[i]),Pa();for(i=0;i<Oa.length;i++)Qa(Oa[i]);W.prototype.F={Bb:{"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"},bb:j,hb:j,Wa:j,qc:!u.A.match("Firefox")};W.onReady=function(a){a=u.f(a);var b=a.a||a.parentNode.a,d=b.i;a.a=b;d.b=a;d.e("click",d.k);La(d)};function La(a){a.f().vjs_getProperty?z(a):setTimeout(function(){La(a)},50)}W.onEvent=function(a,b){u.f(a).a.g(b)};
|
|
W.onError=function(a,b){u.f(a).a.g("error");u.log("Flash Error",b,a)};function Ka(a,b,d,e){var g="",q="",m="";b&&u.Y(b,function(a,b){g+=a+"="+b+"&"});d=u.s({movie:a,flashvars:g,allowScriptAccess:"always",allowNetworking:"all"},d);u.Y(d,function(a,b){q+='<param name="'+a+'" value="'+b+'" />'});e=u.s({data:a,width:"100%",height:"100%"},e);u.Y(e,function(a,b){m+=a+'="'+b+'" '});return'<object type="application/x-shockwave-flash"'+m+">"+q+"</object>"};function X(a){a.da=a.da||[];return a.da}function Ra(a,b,d){for(var e=a.da,g=0,q=e.length,m,r;g<q;g++)m=e[g],m.id()===b?(m.show(),r=m):d&&(m.w()==d&&0<m.mode())&&m.disable();(b=r?r.w():d?d:j)&&a.g(b+"trackchange")}function Y(a,b){y.call(this,a,b);this.K=b.id||"vjs_"+b.kind+"_"+b.language+"_"+u.p++;this.eb=b.src;this.wb=b["default"]||b.dflt;this.tc=b.title;this.oc=b.srclang;this.Eb=b.label;this.S=[];this.Oa=[];this.W=this.X=0}t(Y,y);n=Y.prototype;n.w=k("r");n.src=k("eb");n.za=k("wb");n.label=k("Eb");
|
|
n.readyState=k("X");n.mode=k("W");n.d=function(){return Y.h.d.call(this,"div",{className:"vjs-"+this.r+" vjs-text-track"})};n.show=function(){Sa(this);this.W=2;Y.h.show.call(this)};n.t=function(){Sa(this);this.W=1;Y.h.t.call(this)};n.disable=function(){2==this.W&&this.t();this.a.j("timeupdate",u.bind(this,this.update,this.K));this.a.j("ended",u.bind(this,this.reset,this.K));this.reset();this.a.D.textTrackDisplay.removeChild(this);this.W=0};
|
|
function Sa(a){0===a.X&&a.load();0===a.W&&(a.a.e("timeupdate",u.bind(a,a.update,a.K)),a.a.e("ended",u.bind(a,a.reset,a.K)),("captions"===a.r||"subtitles"===a.r)&&a.a.D.textTrackDisplay.C(a))}n.load=function(){0===this.X&&(this.X=1,u.get(this.eb,u.bind(this,this.Mb),u.bind(this,this.Ha)))};n.Ha=function(a){this.error=a;this.X=3;this.g("error")};
|
|
n.Mb=function(a){var b,d;a=a.split("\n");for(var e="",g=1,q=a.length;g<q;g++)if(e=u.trim(a[g])){-1==e.indexOf("--\x3e")?(b=e,e=u.trim(a[++g])):b=this.S.length;b={id:b,index:this.S.length};d=e.split(" --\x3e ");b.startTime=Ta(d[0]);b.Z=Ta(d[1]);for(d=[];a[++g]&&(e=u.trim(a[g]));)d.push(e);b.text=d.join("<br/>");this.S.push(b)}this.X=2;this.g("loaded")};
|
|
function Ta(a){var b=a.split(":");a=0;var d,e,g;3==b.length?(d=b[0],e=b[1],b=b[2]):(d=0,e=b[0],b=b[1]);b=b.split(/\s+/);b=b.splice(0,1)[0];b=b.split(/\.|,/);g=parseFloat(b[1]);b=b[0];a+=3600*parseFloat(d);a+=60*parseFloat(e);a+=parseFloat(b);g&&(a+=g/1E3);return a}
|
|
n.update=function(){if(0<this.S.length){var a=this.a.currentTime();if(this.La===c||a<this.La||this.ka<=a){var b=this.S,d=this.a.duration(),e=0,g=j,q=[],m,r,p,w;a>=this.ka||this.ka===c?w=this.Ba!==c?this.Ba:0:(g=f,w=this.Ea!==c?this.Ea:b.length-1);for(;;){p=b[w];if(p.Z<=a)e=Math.max(e,p.Z),p.fa&&(p.fa=j);else if(a<p.startTime){if(d=Math.min(d,p.startTime),p.fa&&(p.fa=j),!g)break}else g?(q.splice(0,0,p),r===c&&(r=w),m=w):(q.push(p),m===c&&(m=w),r=w),d=Math.min(d,p.Z),e=Math.max(e,p.startTime),p.fa=
|
|
f;if(g)if(0===w)break;else w--;else if(w===b.length-1)break;else w++}this.Oa=q;this.ka=d;this.La=e;this.Ba=m;this.Ea=r;a=this.Oa;b="";d=0;for(e=a.length;d<e;d++)b+='<span class="vjs-tt-cue">'+a[d].text+"</span>";this.b.innerHTML=b;this.g("cuechange")}}};n.reset=function(){this.ka=0;this.La=this.a.duration();this.Ea=this.Ba=0};function Ua(a,b){Y.call(this,a,b)}t(Ua,Y);Ua.prototype.r="captions";function Va(a,b){Y.call(this,a,b)}t(Va,Y);Va.prototype.r="subtitles";function Wa(a,b){Y.call(this,a,b)}
|
|
t(Wa,Y);Wa.prototype.r="chapters";function Xa(a,b,d){y.call(this,a,b,d);if(a.options.tracks&&0<a.options.tracks.length){b=this.a;a=a.options.tracks;var e;for(d=0;d<a.length;d++){e=a[d];var g=b,q=e.kind,m=e.label,r=e.language,p=e;e=g.da=g.da||[];p=p||{};p.kind=q;p.label=m;p.language=r;q=u.I(q||"subtitles");g=new window.videojs[q+"Track"](g,p);e.push(g)}}}t(Xa,y);Xa.prototype.d=function(){return Xa.h.d.call(this,"div",{className:"vjs-text-track-display"})};
|
|
function Z(a,b){var d=this.R=b.track;b.label=d.label();b.selected=d.za();T.call(this,a,b);this.a.e(d.w()+"trackchange",u.bind(this,this.update))}t(Z,T);Z.prototype.k=function(){Z.h.k.call(this);Ra(this.a,this.R.id(),this.R.w())};Z.prototype.update=function(){2==this.R.mode()?this.selected(f):this.selected(j)};function Ya(a,b){b.track={w:function(){return b.kind},a:a,label:l("Off"),za:l(j),mode:l(j)};Z.call(this,a,b)}t(Ya,Z);Ya.prototype.k=function(){Ya.h.k.call(this);Ra(this.a,this.R.id(),this.R.w())};
|
|
Ya.prototype.update=function(){for(var a=X(this.a),b=0,d=a.length,e,g=f;b<d;b++)e=a[b],e.w()==this.R.w()&&2==e.mode()&&(g=j);g?this.selected(f):this.selected(j)};function $(a,b){F.call(this,a,b);this.V=this.xa();0===this.aa.length&&this.t()}t($,F);n=$.prototype;n.xa=function(){var a=new S(this.a);a.f().appendChild(u.d("li",{className:"vjs-menu-title",innerHTML:u.I(this.r)}));Ha(a,new Ya(this.a,{kind:this.r}));this.aa=this.Ra();for(var b=0;b<this.aa.length;b++)Ha(a,this.aa[b]);this.C(a);return a};
|
|
n.Ra=function(){for(var a=[],b,d=0;d<X(this.a).length;d++)b=X(this.a)[d],b.w()===this.r&&a.push(new Z(this.a,{track:b}));return a};n.v=function(){return this.className+" vjs-menu-button "+$.h.v.call(this)};n.ma=function(){this.V.$a();u.z(this.V.b.childNodes[this.V.b.childNodes.length-1],"blur",u.bind(this,function(){ga(this.V)}))};n.la=function(){};n.k=function(){this.z("mouseout",u.bind(this,function(){ga(this.V);this.b.blur()}))};function Za(a,b){$.call(this,a,b)}t(Za,$);Za.prototype.r="captions";
|
|
Za.prototype.L="Captions";Za.prototype.className="vjs-captions-button";function $a(a,b){$.call(this,a,b)}t($a,$);$a.prototype.r="subtitles";$a.prototype.L="Subtitles";$a.prototype.className="vjs-subtitles-button";function ab(a,b){$.call(this,a,b)}t(ab,$);n=ab.prototype;n.r="chapters";n.L="Chapters";n.className="vjs-chapters-button";n.Ra=function(){for(var a=[],b,d=0;d<X(this.a).length;d++)b=X(this.a)[d],b.w()===this.r&&a.push(new Z(this.a,{track:b}));return a};
|
|
n.xa=function(){for(var a=X(this.a),b=0,d=a.length,e,g,q=this.aa=[];b<d;b++)if(e=a[b],e.w()==this.r&&e.za()){if(2>e.readyState()){this.gc=e;e.e("loaded",u.bind(this,this.xa));return}g=e;break}a=this.V=new S(this.a);a.b.appendChild(u.d("li",{className:"vjs-menu-title",innerHTML:u.I(this.r)}));if(g){e=g.S;for(var m,b=0,d=e.length;b<d;b++)m=e[b],m=new bb(this.a,{track:g,cue:m}),q.push(m),a.C(m)}this.C(a);0<this.aa.length&&this.show();return a};
|
|
function bb(a,b){var d=this.R=b.track,e=this.cue=b.cue,g=a.currentTime();b.label=e.text;b.selected=e.startTime<=g&&g<e.Z;T.call(this,a,b);d.e("cuechange",u.bind(this,this.update))}t(bb,T);bb.prototype.k=function(){bb.h.k.call(this);this.a.currentTime(this.cue.startTime);this.update(this.cue.startTime)};bb.prototype.update=function(){var a=this.cue,b=this.a.currentTime();a.startTime<=b&&b<a.Z?this.selected(f):this.selected(j)};
|
|
u.s(E.prototype.options.children,{subtitlesButton:{},captionsButton:{},chaptersButton:{}});if(JSON&&"function"===JSON.parse)u.JSON=JSON;else{u.JSON={};var cb=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;u.JSON.parse=function(a,b){function d(a,e){var m,r,p=a[e];if(p&&"object"===typeof p)for(m in p)Object.prototype.hasOwnProperty.call(p,m)&&(r=d(p,m),r!==c?p[m]=r:delete p[m]);return b.call(a,e,p)}var e;a=String(a);cb.lastIndex=0;cb.test(a)&&(a=a.replace(cb,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));
|
|
if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?d({"":e},""):e;throw new SyntaxError("JSON.parse");}};u.va=function(){var a,b,d=document.getElementsByTagName("video");if(d&&0<d.length)for(var e=0,g=d.length;e<g;e++)if((b=d[e])&&b.getAttribute)b.a===c&&(a=b.getAttribute("data-setup"),a!==h&&(a=u.JSON.parse(a||"{}"),x(b,a)));else{u.Pa();break}else u.Zb||u.Pa()};u.Pa=function(){setTimeout(u.va,1)};u.z(window,"load",function(){u.Zb=f});u.va();s("videojs",u);s("_V_",u);s("videojs.options",u.options);s("videojs.cache",u.M);s("videojs.Component",y);y.prototype.dispose=y.prototype.l;y.prototype.createEl=y.prototype.d;y.prototype.getEl=y.prototype.mc;y.prototype.addChild=y.prototype.C;y.prototype.getChildren=y.prototype.lc;y.prototype.on=y.prototype.e;y.prototype.off=y.prototype.j;y.prototype.one=y.prototype.z;y.prototype.trigger=y.prototype.g;y.prototype.show=y.prototype.show;y.prototype.hide=y.prototype.t;y.prototype.width=y.prototype.width;
|
|
y.prototype.height=y.prototype.height;y.prototype.dimensions=y.prototype.xb;s("videojs.Player",v);s("videojs.MediaLoader",va);s("videojs.PosterImage",Ga);s("videojs.LoadingSpinner",K);s("videojs.BigPlayButton",J);s("videojs.ControlBar",E);s("videojs.TextTrackDisplay",Xa);s("videojs.Control",D);s("videojs.ControlBar",E);s("videojs.Button",F);s("videojs.PlayButton",G);s("videojs.PauseButton",H);s("videojs.PlayToggle",wa);s("videojs.FullscreenToggle",I);s("videojs.BigPlayButton",J);
|
|
s("videojs.LoadingSpinner",K);s("videojs.CurrentTimeDisplay",L);s("videojs.DurationDisplay",M);s("videojs.TimeDivider",xa);s("videojs.RemainingTimeDisplay",N);s("videojs.Slider",O);s("videojs.ProgressControl",P);s("videojs.SeekBar",Q);s("videojs.LoadProgressBar",za);s("videojs.PlayProgressBar",Aa);s("videojs.SeekHandle",Ba);s("videojs.VolumeControl",Ca);s("videojs.VolumeBar",Da);s("videojs.VolumeLevel",Ea);s("videojs.VolumeHandle",Fa);s("videojs.MuteToggle",R);s("videojs.PosterImage",Ga);
|
|
s("videojs.Menu",S);s("videojs.MenuItem",T);s("videojs.SubtitlesButton",$a);s("videojs.CaptionsButton",Za);s("videojs.ChaptersButton",ab);s("videojs.MediaTechController",U);s("videojs.Html5",V);V.Events=Ja;V.isSupported=function(){return!!document.createElement("video").canPlayType};V.canPlaySource=function(a){return!!document.createElement("video").canPlayType(a.type)};V.prototype.setCurrentTime=V.prototype.Qb;V.prototype.setVolume=V.prototype.Vb;V.prototype.setMuted=V.prototype.Tb;
|
|
V.prototype.setPreload=V.prototype.Ub;V.prototype.setAutoplay=V.prototype.Pb;V.prototype.setLoop=V.prototype.Sb;s("videojs.Flash",W);W.Events=W.ac;
|
|
W.isSupported=function(){var a="0,0,0";try{a=(new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(b){try{navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin&&(a=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1])}catch(d){}}return 10<=a.split(",")[0]};W.canPlaySource=function(a){if(a.type in W.prototype.F.Bb)return"maybe"};
|
|
W.onReady=W.onReady;s("videojs.TextTrack",Y);Y.prototype.label=Y.prototype.label;s("videojs.CaptionsTrack",Ua);s("videojs.SubtitlesTrack",Va);s("videojs.ChaptersTrack",Wa);s("videojs.autoSetup",u.va);module("Component");test("should create an element",function(){var a=new y({},{});ok(a.f().nodeName)});test("should add a child component",function(){var a=new y({}),b=a.C("component");ok(1===a.children().length);ok(a.children()[0]===b);ok(a.f().childNodes[0]===b.f());ok(a.D.component===b);var d=ok,e=b.id();d(a.ga[e]===b)});test("should init child coponents from options",function(){var a=new y({},{children:{component:f}});ok(1===a.children().length);ok(1===a.f().childNodes.length)});
|
|
test("should dispose of component and children",function(){var a=new y({}),b=a.C("Component");ok(1===a.children().length);a.e("click",l(f));var d=u.getData(a.f()),e=a.f()[u.expando];a.l();ok(!a.children(),"component children were deleted");ok(!a.f(),"component element was deleted");ok(!b.children(),"child children were deleted");ok(!b.f(),"child element was deleted");ok(!u.M[e],"listener cache nulled");ok(u.ja(d),"original listener cache object was emptied")});
|
|
test("should add and remove event listeners to element",function(){function a(){ok(f,"fired event once");ok(this===b,"listener has the component as context")}var b=new y({},{});expect(2);b.e("test-event",a);b.g("test-event");b.j("test-event",a);b.g("test-event")});test("should trigger a listener once using one()",function(){var a=new y({},{});expect(1);a.z("test-event",function(){ok(f,"fired event once")});a.g("test-event");a.g("test-event")});
|
|
test("should trigger a listener when ready",function(){expect(2);var a=new y({},{},function(){ok(f,"options listener fired")});z(a);a.G(function(){ok(f,"ready method listener fired")});z(a)});test("should add and remove a CSS class",function(){var a=new y({},{});a.m("test-class");ok(-1!==a.f().className.indexOf("test-class"));a.u("test-class");ok(-1===a.f().className.indexOf("test-class"))});
|
|
test("should show and hide an element",function(){var a=new y({},{});a.t();ok("none"===a.f().style.display);a.show();ok("block"===a.f().style.display)});
|
|
test("should change the width and height of a component",function(){var a=document.createElement("div"),b=new y({},{}),d=b.f();document.getElementById("qunit-fixture").appendChild(a);a.appendChild(d);a.style.width="1000px";a.style.height="1000px";b.width("50%");b.height("123px");ok(500===b.width(),"percent values working");ok(u.Ca(d,"width")===b.width()+"px","matches computed style");ok(123===b.height(),"px values working");b.width(321);ok(321===b.width(),"integer values working")});module("Core");test("should create a video tag and have access children in old IE",function(){document.getElementById("qunit-fixture").innerHTML+="<video id='test_vid_id'><source type='video/mp4'></video>";vid=document.getElementById("test_vid_id");ok(1===vid.childNodes.length);ok("video/mp4"===vid.childNodes[0].getAttribute("type"))});
|
|
test("should return a video player instance",function(){document.getElementById("qunit-fixture").innerHTML+="<video id='test_vid_id'></video><video id='test_vid_id2'></video>";var a=x("test_vid_id");ok(a,"created player from tag");ok("test_vid_id"===a.id());ok(x.P.test_vid_id===a,"added player to global reference");var b=x("test_vid_id");ok(a===b,"did not create a second player from same tag");a=x(document.getElementById("test_vid_id2"));ok("test_vid_id2"===a.id(),"created player from element")});module("Events");test("should add and remove an event listener to an element",function(){function a(){ok(f,"Click Triggered")}expect(1);var b=document.createElement("div");u.e(b,"click",a);u.g(b,"click");u.j(b,"click",a);u.g(b,"click")});test("should remove all listeners of a type",function(){var a=document.createElement("div"),b=0;u.e(a,"click",function(){b++});u.e(a,"click",function(){b++});u.g(a,"click");ok(2===b,"both click listeners fired");u.j(a,"click");u.g(a,"click");ok(2===b,"no click listeners fired")});
|
|
test("should remove all listeners from an element",function(){expect(2);var a=document.createElement("div");u.e(a,"fake1",function(){ok(f,"Fake1 Triggered")});u.e(a,"fake2",function(){ok(f,"Fake2 Triggered")});u.g(a,"fake1");u.g(a,"fake2");u.j(a);u.g(a,"fake1");u.g(a,"fake2")});test("should listen only once",function(){expect(1);var a=document.createElement("div");u.z(a,"click",function(){ok(f,"Click Triggered")});u.g(a,"click");u.g(a,"click")});module("Lib");test("should create an element",function(){var a=u.d(),b=u.d("span",{"data-test":"asdf",innerHTML:"fdsa"});ok("DIV"===a.nodeName);ok("SPAN"===b.nodeName);ok("asdf"===b["data-test"]);ok("fdsa"===b.innerHTML)});test("should make a string start with an uppercase letter",function(){var a=u.I("bar");ok("Bar"===a)});test("should loop through each property on an object",function(){var a={rb:1,sb:2,c:3};u.Y(a,function(b,d){a[b]=d+3});deepEqual(a,{rb:4,sb:5,c:6})});
|
|
test("should add context to a function",function(){var a={test:"obj"};u.bind(a,function(){ok(this===a)})()});test("should add and remove a class name on an element",function(){var a=document.createElement("div");u.m(a,"test-class");ok("test-class"===a.className,"class added");u.m(a,"test-class");ok("test-class"===a.className,"same class not duplicated");u.m(a,"test-class2");ok("test-class test-class2"===a.className,"added second class");u.u(a,"test-class");ok("test-class2"===a.className,"removed first class")});
|
|
test("should get and remove data from an element",function(){var a=document.createElement("div"),b=u.getData(a),d=a[u.expando];ok("object"===typeof b,"data object created");var e={dc:"fdsa"};b.test=e;ok(u.getData(a).test===e,"data added");u.Ma(a);ok(!u.M[d],"cached item nulled");ok(a[u.expando]===h||a[u.expando]===c,"element data id removed")});
|
|
test("should read tag attributes from elements, including HTML5 in all browsers",function(){var a=document.createElement("div"),b;b='<video id="vid1" controls autoplay loop muted preload="none" src="http://google.com" poster="http://www2.videojs.com/img/video-js-html5-video-player.png" data-test="asdf" data-empty-string=""></video><video id="vid2"><source id="source" src="http://google.com" type="video/mp4" media="fdsa" title="test" >';b+='<track id="track" default src="http://google.com" kind="captions" srclang="en" label="testlabel" title="test" >';
|
|
a.innerHTML+=b;document.getElementById("qunit-fixture").appendChild(a);a=u.N(document.getElementById("vid2"));b=u.N(document.getElementById("source"));var d=u.N(document.getElementById("track"));deepEqual(u.N(document.getElementById("vid1")),{autoplay:f,controls:f,"data-test":"asdf","data-empty-string":"",id:"vid1",loop:f,muted:f,poster:"http://www2.videojs.com/img/video-js-html5-video-player.png",preload:"none",src:"http://google.com"});deepEqual(a,{id:"vid2"});deepEqual(b,{title:"test",media:"fdsa",
|
|
type:"video/mp4",src:"http://google.com",id:"source"});deepEqual(d,{"default":f,id:"track",kind:"captions",label:"testlabel",src:"http://google.com",srclang:"en",title:"test"})});
|
|
test("should get the right style values for an element",function(){var a=document.createElement("div"),b=document.createElement("div"),d=document.getElementById("qunit-fixture");b.appendChild(a);d.appendChild(b);b.style.width="1000px";b.style.height="1000px";a.style.height="100%";a.style.width="123px";ok("1000px"===u.Ca(a,"height"));ok("123px"===u.Ca(a,"width"))});
|
|
test("should insert an element first in another",function(){var a=document.createElement("div"),b=document.createElement("div"),d=document.createElement("div");u.$(a,d);ok(d.firstChild===a,"inserts first into empty parent");u.$(b,d);ok(d.firstChild===b,"inserts first into parent with child")});
|
|
test("should return the element with the ID",function(){var a=document.createElement("div"),b=document.createElement("div"),d=document.getElementById("qunit-fixture");d.appendChild(a);d.appendChild(b);a.id="test_id1";b.id="test_id2";ok(u.f("test_id1")===a,"found element for ID");ok(u.f("#test_id2")===b,"found element for CSS ID")});test("should trim whitespace from a string",function(){ok("asdf asdf asdf"===u.trim(" asdf asdf asdf \t\n\r"))});
|
|
test("should round a number",function(){ok(1===u.round(1.01));ok(2===u.round(1.5));ok(1.55===u.round(1.55,2));ok(10.55===u.round(10.551,2))});
|
|
test("should format time as a string",function(){ok("0:01"===u.o(1));ok("0:10"===u.o(10));ok("1:00"===u.o(60));ok("10:00"===u.o(600));ok("1:00:00"===u.o(3600));ok("10:00:00"===u.o(36E3));ok("100:00:00"===u.o(36E4));ok("0:01"===u.o(1,1));ok("0:01"===u.o(1,10));ok("0:01"===u.o(1,60));ok("00:01"===u.o(1,600));ok("0:00:01"===u.o(1,3600));ok("0:00:01"===u.o(1,36E3));ok("0:00:01"===u.o(1,36E4))});test("should create a fake timerange",function(){var a=u.ya(10);ok(0===a.start());ok(10===a.end())});
|
|
test("should get an absolute URL",function(){ok("http://asdf.com"===u.ia("http://asdf.com"));ok("https://asdf.com/index.html"===u.ia("https://asdf.com/index.html"))});module("HTML5");module("Player");function db(){var a=document.createElement("video");a.id="example_1";a.className="video-js vjs-default-skin";return a}function fb(a){var b=db();document.getElementById("qunit-fixture").appendChild(b);return player=new v(b,a)}test("should create player instance that inherits from component and dispose it",function(){var a=fb();ok("DIV"===a.f().nodeName);ok(a.e,"component function exists");a.l();ok(a.f()===h,"element disposed")});
|
|
test("should accept options from multiple sources and override in correct order",function(){u.options.attr=1;var a=db(),a=new v(a);ok(1===a.options.attr,"global option was set");a.l();a=db();a.setAttribute("attr","asdf");a=new v(a);ok("asdf"===a.options.attr,"Tag options overrode global options");a.l();a=db();a.setAttribute("attr","asdf");a=new v(a,{attr:"fdsa"});ok("fdsa"===a.options.attr,"Init options overrode tag and global options");a.l()});
|
|
test("should get tag, source, and track settings",function(){var a=document.getElementById("qunit-fixture"),b;b='<video id="example_1" class="video-js" autoplay preload="metadata"><source src="http://google.com" type="video/mp4"><source src="http://google.com" type="video/webm">';b+='<track src="http://google.com" kind="captions" default>';b+="</video>";a.innerHTML+=b;a=document.getElementById("example_1");b=new v(a);ok(b.options.autoplay===f);ok("metadata"===b.options.preload);ok("example_1"===b.options.id);
|
|
ok(2===b.options.sources.length);ok("http://google.com"===b.options.sources[0].src);ok("video/mp4"===b.options.sources[0].type);ok("video/webm"===b.options.sources[1].type);ok(1===b.options.tracks.length);ok("captions"===b.options.tracks[0].kind);ok(b.options.tracks[0]["default"]===f);ok(-1!==b.f().className.indexOf("video-js"),"transferred class from tag to player div");ok("example_1"===b.f().id,"transferred id from tag to player div");ok(a.a===b,"player referenceable on original tag");ok(u.P[b.id()]===
|
|
b,"player referenceable from global list");ok(a.id!==b.id,"tag ID no longer is the same as player ID");ok(a.className!==b.f().className,"tag classname updated");b.l();ok(a.a===h,"tag player ref killed");ok(!u.P.example_1,"global player ref killed");ok(b.f()===h,"player el killed")});
|
|
test("should set the width and height of the player",function(){var a=fb({width:123,height:"100%"});ok(123===a.width());ok("123px"===a.f().style.width);var b=document.getElementById("qunit-fixture"),d=document.createElement("div");b.appendChild(d);d.appendChild(a.f());d.style.height="1000px";ok(1E3===a.height());a.l()});
|
|
test("should accept options from multiple sources and override in correct order",function(){var a=db(),b=document.createElement("div"),d=document.getElementById("qunit-fixture");b.appendChild(a);d.appendChild(b);var d=new v(a),e=d.f();ok(e.parentNode===b,"player placed at same level as tag");ok(a.parentNode!==b,"tag removed from original place");d.l()});
|
|
test("should load a media controller",function(){var a=fb({ca:"none",rc:[{src:"http://google.com",type:"video/mp4"},{src:"http://google.com",type:"video/webm"}]});ok(-1!==a.f().children[0].className.indexOf("vjs-tech"),"media controller loaded");a.l()});module("Setup");})();//@ sourceMappingURL=video.js.map
|