mirror of
https://github.com/videojs/video.js.git
synced 2024-12-12 11:15:04 +02:00
120 lines
56 KiB
JavaScript
120 lines
56 KiB
JavaScript
(function() {var c=void 0,f=!0,h=null,k=!1;function l(a){return function(){return this[a]}}function m(a){return function(){return a}}var n,aa=this;aa.Yb=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.O[a])return u.O[a];a=u.f(a)}if(!a||!a.nodeName)throw new TypeError("The element or ID supplied is not valid. (videojs)");return a.player||new v(a,b,d)}var x=u;
|
|
u.options={techOrder:["html5","flash"],html5:{},flash:{rc:"http://vjs.zencdn.net/c/video-js.swf"},width:300,height:150,defaultVolume:0,children:{mediaLoader:{},posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{}}};u.O={};u.hc={};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.I||(e.disabled=k,e.I=function(b){if(!e.disabled){b=u.Ta(b);var d=e.q[b.type];if(d){for(var j=[],r=0,q=d.length;r<q;r++)j[r]=d[r];d=0;for(r=j.length;d<r;d++)j[d].call(a,b)}}});1==e.q[b].length&&(document.addEventListener?a.addEventListener(b,e.I,k):document.attachEvent&&a.attachEvent("on"+b,e.I))};
|
|
u.j=function(a,b,d){if(u.Xa(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.Pa(a,b)}}else for(g in e.q)b=g,e.q[b]=[],u.Pa(a,b)}};u.Pa=function(a,b){var d=u.getData(a);0===d.q[b].length&&(delete d.q[b],document.removeEventListener?a.removeEventListener(b,d.I,k):document.detachEvent&&a.detachEvent("on"+b,d.I));u.ia(d.q)&&(delete d.q,delete d.I,delete d.disabled);u.ia(d)&&u.La(a)};
|
|
u.Ta=function(a){function b(){return f}function d(){return k}if(!a||!a.Ca){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=k;a.Ya=b};a.Ya=d;a.stopPropagation=function(){a.cancelBubble=f;a.Ca=b};a.Ca=d;a.stopImmediatePropagation=function(){a.Bb=b;a.stopPropagation()};a.Bb=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.Xa(a)?u.getData(a):{},e=a.parentNode||a.ownerDocument;"string"===typeof b&&(b={type:b,target:a});b=u.Ta(b);d.I&&d.I.call(a,b);if(e&&!b.Ca())u.g(e,b);else if(!e&&!b.Ya()&&(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=k}};u.z=function(a,b,d){u.e(a,b,function(){u.j(a,b,arguments.callee);d.apply(this,arguments)})};u.gc={};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.H=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};u.S=function(a,b){if(a)for(var d in a)a.hasOwnProperty(d)&&b.call(this,d,a[d])};u.t=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.L={};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.L[b]={});return u.L[b]};u.Xa=function(a){a=a[u.expando];return!(!a||u.ia(u.L[a]))};u.La=function(a){var b=a[u.expando];if(b){delete u.L[b];try{delete a[u.expando]}catch(d){a.removeAttribute?a.removeAttribute(u.expando):a[u.expando]=h}}};u.ia=function(a){for(var b in a)if(a[b]!==h)return k;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.pb=u.d("video");u.A=navigator.userAgent;u.nb=!!u.A.match(/iPad/i);u.mb=!!u.A.match(/iPhone/i);u.ob=!!u.A.match(/iPod/i);u.lb=u.nb||u.mb||u.ob;var ba=u,ca;var da=u.A.match(/OS (\d+)_/i);ca=da&&da[1]?da[1]:c;ba.$b=ca;u.jb=!!u.A.match(/Android.*AppleWebKit/i);var ea=u,fa=u.A.match(/Android (\d+)\./i);ea.ib=fa&&fa[1]?fa[1]:h;u.kb=function(){return!!u.A.match("Firefox")};
|
|
u.M=function(a){var b={};if(a&&a.attributes&&0<a.attributes.length)for(var d=a.attributes,e,g,p=d.length-1;0<=p;p--){e=d[p].name;g=d[p].value;if("boolean"===typeof a[e]||-1!==",autoplay,controls,loop,muted,default,".indexOf(","+e+","))g=g!==h?f:k;b[e]=g}return b};
|
|
u.Ba=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.Z=function(a,b){b.firstChild?b.insertBefore(a,b.firstChild):b.appendChild(a)};u.Ma={};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),p=Math.floor(b/60%60),j=Math.floor(b/3600),g=0<g||0<j?g+":":"";return g+(((g||10<=p)&&10>e?"0"+e:e)+":")+(10>d?"0"+d:d)};u.tb=function(){document.body.focus();document.onselectstart=m(k)};u.Ub=function(){document.onselectstart=m(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.xa=function(a){return{length:1,start:m(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(p){d(p)}g.onreadystatechange=
|
|
function(){4===g.readyState&&(200===g.status||e&&0===g.status?b(g.responseText):d&&d())};try{g.send()}catch(j){d&&d(j)}};u.Pb=function(a){var b=window.localStorage||k;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.ha=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.yb="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=ga(this,this.options,b);this.J=b.id||(b.f&&b.f.id?b.f.id:a.id+"_component_"+u.p++);this.Fb=b.name||h;this.b=b.f?b.f:this.d();this.B=[];this.fa={};this.D={};if((a=this.options)&&a.children){var e=this;u.S(a.children,function(a,b){b!==k&&!b.Db&&(e[a]=e.C(a,b))})}z(this,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.fa=this.B=h;this.j();this.b.parentNode&&this.b.parentNode.removeChild(this.b);u.La(this.b);this.b=h};function ga(a,b,d){var e,g,p,j,r;p=Object.prototype.hasOwnProperty;g=Object.prototype.toString;b=b||{};e={};u.S(b,function(a,b){e[a]=b});if(!d)return e;for(j in d)p.call(d,j)&&(b=e[j],r=d[j],e[j]="[object Object]"===g.call(b)&&"[object Object]"===g.call(r)?ga(a,b,r):d[j]);return e}n.d=function(a,b){return u.d(a,b)};
|
|
n.f=l("b");n.id=l("J");n.name=l("Fb");n.children=l("B");n.C=function(a,b){var d,e,g;"string"===typeof a?(e=a,b=b||{},d=b.fc||u.H(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.fa[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=k,d=this.B.length-1;0<=d;d--)if(this.B[d]===a){b=f;this.B.splice(d,1);break}b&&(this.fa[a.id]=h,this.D[a.name]=h,(b=a.f())&&b.parentNode===this.b&&this.b.removeChild(a.f()))}};n.v=m("");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};
|
|
function z(a,b){b&&(a.U?b.call(a):(a.pa===c&&(a.pa=[]),a.pa.push(b)))}function A(a){a.U=f;var b=a.pa;if(b&&0<b.length){for(var d=0,e=b.length;d<e;d++)b[d].call(a);a.pa=[];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.s=function(){this.b.style.display="none";return this};n.ga=function(){this.u("vjs-fade-out");this.m("vjs-fade-in");return this};
|
|
n.za=function(){this.u("vjs-fade-in");this.m("vjs-fade-out");return this};n.Za=function(){var a=this.b.style;a.display="block";a.opacity=1;a.Wb="visible";return this};function ha(a){a=a.b.style;a.display="";a.opacity="";a.Wb=""}n.width=function(a,b){return ia(this,"width",a,b)};n.height=function(a,b){return ia(this,"height",a,b)};n.wb=function(a,b){return this.width(a,f).height(b)};
|
|
function ia(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.H(b)],10)};function v(a,b,d){this.G=a;var e={};u.t(e,u.options);u.t(e,ja(a));u.t(e,b);this.n={};y.call(this,this,e,d);this.e("ended",this.Hb);this.e("play",this.Ja);this.e("pause",this.Ia);this.e("progress",this.Ib);this.e("durationchange",this.Gb);this.e("error",this.Ga);u.O[this.J]=this}t(v,y);n=v.prototype;n.l=function(){u.O[this.J]=h;this.G&&this.G.player&&(this.G.player=h);this.b&&this.b.player&&(this.b.player=h);clearInterval(this.oa);this.i&&this.i.l();v.h.l.call(this)};
|
|
function ja(a){var b={sources:[],tracks:[]};u.t(b,u.M(a));if(a.hasChildNodes())for(var d,e=a.childNodes,g=0,p=e.length;g<p;g++)a=e[g],d=a.nodeName.toLowerCase(),"source"===d?b.sources.push(u.M(a)):"track"===d&&b.tracks.push(u.M(a));return b}
|
|
n.d=function(){var a=this.b=v.h.d.call(this,"div"),b=this.G;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.player=a.player=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.Z(b,a);return a};
|
|
function ka(a,b,d){a.i?la(a):"Html5"!==b&&a.G&&(a.b.removeChild(a.G),a.G=h);a.P=b;a.U=k;var e=u.t({source:d,Jb: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);z(a.i,function(){A(this.a);if(!this.F.ab){var a=this.a;a.Ea=f;a.oa=setInterval(u.bind(a,function(){this.n.va<this.buffered().end(0)?this.g("progress"):1==ma(this)&&(clearInterval(this.oa),this.g("progress"))}),500);a.i.z("progress",function(){this.F.ab=
|
|
f;var a=this.a;a.Ea=k;clearInterval(a.oa)})}this.F.gb||(a=this.a,a.Fa=f,a.e("play",a.hb),a.e("pause",a.ra),a.i.z("timeupdate",function(){this.F.gb=f;na(this.a)}))})}function la(a){a.i.l();a.Ea&&(a.Ea=k,clearInterval(a.oa));a.Fa&&na(a);a.i=k}function na(a){a.Fa=k;a.ra();a.j("play",a.hb);a.j("pause",a.ra)}n.hb=function(){this.Ra&&this.ra();this.Ra=setInterval(u.bind(this,function(){this.g("timeupdate")}),250)};n.ra=function(){clearInterval(this.Ra)};
|
|
n.Hb=function(){this.options.loop&&(this.currentTime(0),this.play())};n.Ja=function(){u.u(this.b,"vjs-paused");u.m(this.b,"vjs-playing")};n.Ia=function(){u.u(this.b,"vjs-playing");u.m(this.b,"vjs-paused")};n.Ib=function(){1==ma(this)&&this.g("loadedalldata")};n.Gb=function(){this.duration(B(this,"duration"))};n.Ga=function(a){u.log("Video Error",a)};function C(a,b,d){if(a.i.U)try{a.i[b](d)}catch(e){u.log(e)}else z(a.i,function(){this[b](d)})}
|
|
function B(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.P+" playback technology.",d);else{if("TypeError"==d.name)throw u.log("Video.js: "+b+" unavailable on "+a.P+" playback technology element.",d),a.i.U=k,d;u.log(d)}}}n.play=function(){C(this,"play");return this};n.pause=function(){C(this,"pause");return this};n.paused=function(){return B(this,"paused")===k?k:f};
|
|
n.currentTime=function(a){return a!==c?(this.n.nc=a,C(this,"setCurrentTime",a),this.Fa&&this.g("timeupdate"),this):this.n.currentTime=B(this,"currentTime")||0};n.duration=function(a){return a!==c?(this.n.duration=parseFloat(a),this):this.n.duration};n.buffered=function(){var a=B(this,"buffered"),b=this.n.va=this.n.va||0;a&&(0<a.length&&a.end(0)!==b)&&(b=a.end(0),this.n.va=b);return u.xa(b)};function ma(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,C(this,"setVolume",a),u.Pb(a),this;a=parseFloat(B(this,"volume"));return isNaN(a)?1:a};n.muted=function(a){return a!==c?(C(this,"setMuted",a),this):B(this,"muted")||k};n.sa=function(){return B(this,"supportsFullScreen")||k};
|
|
n.qa=function(){var a=u.Ma.qa;this.N=f;a?(u.e(document,a.T,u.bind(this,function(){this.N=document[a.N];this.N===k&&u.j(document,a.T,arguments.callee);this.g("fullscreenchange")})),this.i.F.Va===k&&this.options.flash.iFrameMode!==f&&(this.pause(),la(this),u.e(document,a.T,u.bind(this,function(){u.j(document,a.T,arguments.callee);ka(this,this.P,{src:this.n.src})}))),this.b[a.Lb]()):this.i.sa()?(this.g("fullscreenchange"),C(this,"enterFullScreen")):(this.g("fullscreenchange"),this.Ab=f,this.xb=document.documentElement.style.overflow,
|
|
u.e(document,"keydown",u.bind(this,this.Ua)),document.documentElement.style.overflow="hidden",u.m(document.body,"vjs-full-window"),u.m(this.b,"vjs-fullscreen"),this.g("enterFullWindow"));return this};function oa(a){var b=u.Ma.qa;a.N=k;b?(a.i.F.Va===k&&a.options.flash.iFrameMode!==f&&(a.pause(),la(a),u.e(document,b.T,u.bind(a,function(){u.j(document,b.T,arguments.callee);ka(this,this.P,{src:this.n.src})}))),document[b.ub]()):(a.i.sa()?C(a,"exitFullScreen"):pa(a),a.g("fullscreenchange"))}
|
|
n.Ua=function(a){27===a.keyCode&&(this.N===f?oa(this):pa(this))};function pa(a){a.Ab=k;u.j(document,"keydown",a.Ua);document.documentElement.style.overflow=a.xb;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.H(e[d]),p=window.videojs[g];if(p.isSupported())for(var j=0,r=b;j<r.length;j++){var q=r[j];if(p.canPlaySource(q)){b={source:q,i:g};break a}}}b=k}b?(a=b.source,b=b.i,b==this.P?this.src(a):ka(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.P].canPlaySource(a)?this.src(a.src):this.src([a]):(this.n.src=a,this.U?(C(this,"src",a),"auto"==this.options.preload&&this.load(),this.options.autoplay&&this.play()):z(this,function(){this.src(a)}));return this};n.load=function(){C(this,"load");return this};n.currentSrc=function(){return B(this,"currentSrc")||this.n.src||""};n.ba=function(a){return a!==c?(C(this,"setPreload",a),this.options.preload=a,this):B(this,"preload")};
|
|
n.autoplay=function(a){return a!==c?(C(this,"setAutoplay",a),this.options.autoplay=a,this):B(this,"autoplay")};n.loop=function(a){return a!==c?(C(this,"setLoop",a),this.options.loop=a,this):B(this,"loop")};n.controls=function(){return this.options.controls};n.poster=function(){return B(this,"poster")};n.error=function(){return B(this,"error")};var qa,ra,sa,ta;
|
|
if(document.dc!==c)qa="requestFullscreen",ra="exitFullscreen",sa="fullscreenchange",ta="fullScreen";else for(var ua=["moz","webkit"],va=ua.length-1;0<=va;va--){var D=ua[va];if(("moz"!=D||document.mozFullScreenEnabled)&&document[D+"CancelFullScreen"]!==c)qa=D+"RequestFullScreen",ra=D+"CancelFullScreen",sa=D+"fullscreenchange",ta="webkit"==D?D+"IsFullScreen":D+"FullScreen"}qa&&(u.Ma.qa={Lb:qa,ub:ra,T:sa,N:ta});
|
|
function wa(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.H(d[b]),g=window.videojs[e];if(g&&g.isSupported()){ka(a,e);break}}}else a.src(a.options.sources)}t(wa,y);function E(a,b){y.call(this,a,b)}t(E,y);E.prototype.v=function(){return"vjs-control "+E.h.v.call(this)};function F(a,b){y.call(this,a,b);a.z("play",u.bind(this,function(){this.ga();this.a.e("mouseover",u.bind(this,this.ga));this.a.e("mouseout",u.bind(this,this.za))}))}t(F,y);n=F.prototype;n.options={Db:"play",children:{playToggle:{},fullscreenToggle:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},remainingTimeDisplay:{},progressControl:{},volumeControl:{},muteToggle:{}}};
|
|
n.d=function(){return u.d("div",{className:"vjs-control-bar"})};n.ga=function(){F.h.ga.call(this);this.a.g("controlsvisible")};n.za=function(){F.h.za.call(this);this.a.g("controlshidden")};n.Za=function(){this.b.style.opacity="1"};function G(a,b){y.call(this,a,b);this.e("click",this.k);this.e("focus",this.la);this.e("blur",this.ka)}t(G,E);n=G.prototype;
|
|
n.d=function(a,b){b=u.t({className:this.v(),innerHTML:'<div><span class="vjs-control-text">'+(this.K||"Need Text")+"</span></div>",Mb:"button",tabIndex:0},b);return G.h.d.call(this,a,b)};n.k=function(){};n.la=function(){u.e(document,"keyup",u.bind(this,this.aa))};n.aa=function(a){if(32==a.which||13==a.which)a.preventDefault(),this.k()};n.ka=function(){u.j(document,"keyup",u.bind(this,this.aa))};function H(a,b){G.call(this,a,b)}t(H,G);H.prototype.K="Play";
|
|
H.prototype.v=function(){return"vjs-play-button "+H.h.v.call(this)};H.prototype.k=function(){this.a.play()};function I(a,b){G.call(this,a,b)}t(I,G);I.prototype.K="Play";I.prototype.v=function(){return"vjs-pause-button "+I.h.v.call(this)};I.prototype.k=function(){this.a.pause()};function xa(a,b){G.call(this,a,b);a.e("play",u.bind(this,this.Ja));a.e("pause",u.bind(this,this.Ia))}t(xa,G);n=xa.prototype;n.K="Play";n.v=function(){return"vjs-play-control "+xa.h.v.call(this)};
|
|
n.k=function(){this.a.paused()?this.a.play():this.a.pause()};n.Ja=function(){u.u(this.b,"vjs-paused");u.m(this.b,"vjs-playing")};n.Ia=function(){u.u(this.b,"vjs-playing");u.m(this.b,"vjs-paused")};function J(a,b){G.call(this,a,b)}t(J,G);J.prototype.K="Fullscreen";J.prototype.v=function(){return"vjs-fullscreen-control "+J.h.v.call(this)};J.prototype.k=function(){this.a.N?oa(this.a):this.a.qa()};function K(a,b){G.call(this,a,b);a.e("play",u.bind(this,this.s));a.e("ended",u.bind(this,this.show))}
|
|
t(K,G);K.prototype.d=function(){return K.h.d.call(this,"div",{className:"vjs-big-play-button",innerHTML:"<span></span>"})};K.prototype.k=function(){this.a.currentTime()&&this.a.currentTime(0);this.a.play()};
|
|
function L(a,b){y.call(this,a,b);a.e("canplay",u.bind(this,this.s));a.e("canplaythrough",u.bind(this,this.s));a.e("playing",u.bind(this,this.s));a.e("seeked",u.bind(this,this.s));a.e("seeking",u.bind(this,this.show));a.e("seeked",u.bind(this,this.s));a.e("error",u.bind(this,this.show));a.e("waiting",u.bind(this,this.show))}t(L,y);
|
|
L.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.ac||"string"==typeof this.a.f().style.cc?(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 L.h.d.call(this,
|
|
"div",{className:a,innerHTML:b})};function M(a,b){y.call(this,a,b);a.e("timeupdate",u.bind(this,this.da))}t(M,y);M.prototype.d=function(){var a=M.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};M.prototype.da=function(){var a=this.a.bb?this.a.n.currentTime:this.a.currentTime();this.content.innerHTML=u.o(a,this.a.duration())};
|
|
function N(a,b){y.call(this,a,b);a.e("timeupdate",u.bind(this,this.da))}t(N,y);N.prototype.d=function(){var a=N.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};N.prototype.da=function(){this.a.duration()&&(this.content.innerHTML=u.o(this.a.duration()))};function ya(a,b){y.call(this,a,b)}t(ya,y);
|
|
ya.prototype.d=function(){return ya.h.d.call(this,"div",{className:"vjs-time-divider",innerHTML:"<div><span>/</span></div>"})};function O(a,b){y.call(this,a,b);a.e("timeupdate",u.bind(this,this.da))}t(O,y);O.prototype.d=function(){var a=O.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};
|
|
O.prototype.da=function(){this.a.duration()&&(this.content.innerHTML="-"+u.o(this.a.duration()-this.a.currentTime()))};function P(a,b){y.call(this,a,b);this.sb=this.D[this.options.barName];this.handle=this.D[this.options.handleName];a.e(this.$a,u.bind(this,this.update));this.e("mousedown",this.Ha);this.e("focus",this.la);this.e("blur",this.ka);this.a.e("controlsvisible",u.bind(this,this.update));z(a,u.bind(this,this.update))}t(P,y);n=P.prototype;
|
|
n.d=function(a,b){b=u.t({Mb:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},b);return P.h.d.call(this,a,b)};n.Ha=function(a){a.preventDefault();u.tb();u.e(document,"mousemove",u.bind(this,this.ma));u.e(document,"mouseup",u.bind(this,this.na));this.ma(a)};n.na=function(){u.Ub();u.j(document,"mousemove",this.ma,k);u.j(document,"mouseup",this.na,k);this.update()};
|
|
n.update=function(){var a,b=this.Wa(),d=this.handle,e=this.sb;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 za(a,b){var d=a.b,e=u.yb(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.la=function(){u.e(document,"keyup",u.bind(this,this.aa))};
|
|
n.aa=function(a){37==a.which?(a.preventDefault(),this.eb()):39==a.which&&(a.preventDefault(),this.fb())};n.ka=function(){u.j(document,"keyup",u.bind(this,this.aa))};function Aa(a,b){y.call(this,a,b)}t(Aa,y);Aa.prototype.options={children:{seekBar:{}}};Aa.prototype.d=function(){return Aa.h.d.call(this,"div",{className:"vjs-progress-control vjs-control"})};function Q(a,b){P.call(this,a,b)}t(Q,P);n=Q.prototype;
|
|
n.options={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"};n.$a="timeupdate";n.d=function(){return Q.h.d.call(this,"div",{className:"vjs-progress-holder"})};n.Wa=function(){return this.a.currentTime()/this.a.duration()};n.Ha=function(a){Q.h.Ha.call(this,a);this.a.bb=f;this.Vb=!this.a.paused();this.a.pause()};n.ma=function(a){a=za(this,a)*this.a.duration();a==this.a.duration()&&(a-=0.1);this.a.currentTime(a)};
|
|
n.na=function(a){Q.h.na.call(this,a);this.a.bb=k;this.Vb&&this.a.play()};n.fb=function(){this.a.currentTime(this.a.currentTime()+1)};n.eb=function(){this.a.currentTime(this.a.currentTime()-1)};function Ba(a,b){y.call(this,a,b);a.e("progress",u.bind(this,this.update))}t(Ba,y);Ba.prototype.d=function(){return Ba.h.d.call(this,"div",{className:"vjs-load-progress",innerHTML:'<span class="vjs-control-text">Loaded: 0%</span>'})};
|
|
Ba.prototype.update=function(){this.b.style&&(this.b.style.width=u.round(100*ma(this.a),2)+"%")};function Ca(a,b){y.call(this,a,b)}t(Ca,y);Ca.prototype.d=function(){return Ca.h.d.call(this,"div",{className:"vjs-play-progress",innerHTML:'<span class="vjs-control-text">Progress: 0%</span>'})};function Da(a,b){y.call(this,a,b)}t(Da,y);Da.prototype.d=function(){return Da.h.d.call(this,"div",{className:"vjs-seek-handle",innerHTML:'<span class="vjs-control-text">00:00</span>'})};
|
|
function Ea(a,b){y.call(this,a,b)}t(Ea,y);Ea.prototype.options={children:{volumeBar:{}}};Ea.prototype.d=function(){return Ea.h.d.call(this,"div",{className:"vjs-volume-control vjs-control"})};function Fa(a,b){P.call(this,a,b)}t(Fa,P);n=Fa.prototype;n.options={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"};n.$a="volumechange";n.d=function(){return Fa.h.d.call(this,"div",{className:"vjs-volume-bar"})};n.ma=function(a){this.a.volume(za(this,a))};n.Wa=function(){return this.a.volume()};
|
|
n.fb=function(){this.a.volume(this.a.volume()+0.1)};n.eb=function(){this.a.volume(this.a.volume()-0.1)};function Ga(a,b){y.call(this,a,b)}t(Ga,y);Ga.prototype.d=function(){return Ga.h.d.call(this,"div",{className:"vjs-volume-level",innerHTML:'<span class="vjs-control-text"></span>'})};function Ha(a,b){y.call(this,a,b)}t(Ha,y);Ha.prototype.d=function(){return Ha.h.d.call(this,"div",{className:"vjs-volume-handle",innerHTML:'<span class="vjs-control-text"></span>'})};
|
|
function R(a,b){G.call(this,a,b);a.e("volumechange",u.bind(this,this.update))}t(R,G);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()?k: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 Ia(a,b){G.call(this,a,b);this.a.options.poster||this.s();a.e("play",u.bind(this,this.s))}t(Ia,G);Ia.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};Ia.prototype.k=function(){this.a.play()};function S(a,b){y.call(this,a,b)}t(S,y);function Ja(a,b){a.C(b);b.e("click",u.bind(a,function(){ha(this)}))}S.prototype.d=function(){return S.h.d.call(this,"ul",{className:"vjs-menu"})};
|
|
function T(a,b){G.call(this,a,b);b.selected&&this.m("vjs-selected")}t(T,G);T.prototype.d=function(a,b){return T.h.d.call(this,"li",u.t({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.ta="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 Ka(){var a=u.media.ta[i];return function(){throw Error('The "'+a+"\" method is not available on the playback technology's API");}}for(var i=u.media.ta.length-1;0<=i;i--)U.prototype[u.media.ta[i]]=Ka();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);z(a,function(){this.options.autoplay&&this.paused()&&(this.G.poster=h,this.play())});this.e("click",this.k);for(a=La.length-1;0<=a;a--)u.e(this.b,La[a],u.bind(this.a,this.Sa));A(this)}t(V,U);n=V.prototype;n.l=function(){for(var a=La.length-1;0<=a;a--)u.j(this.b,La[a],u.bind(this.a,this.Sa));V.h.l.call(this)};
|
|
n.d=function(){var a=this.a,b=a.G;if(!b||this.F.Eb===k)b&&a.f().removeChild(b),b=u.createElement("video",{id:b.id||a.id+"_html5_api",className:b.className||"vjs-tech"}),u.Z(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.Sa=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.Ob=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.Tb=function(a){this.b.volume=a};n.muted=function(){return this.b.muted};n.Rb=function(a){this.b.muted=a};n.width=function(){return this.b.offsetWidth};n.height=function(){return this.b.offsetHeight};
|
|
n.sa=function(){return"function"==typeof this.b.webkitEnterFullScreen&&!navigator.userAgent.match("Chrome")&&!navigator.userAgent.match("Mac OS X 10.5")?f:k};n.src=function(a){this.b.src=a};n.load=function(){this.b.load()};n.currentSrc=function(){return this.b.currentSrc};n.ba=function(){return this.b.ba};n.Sb=function(a){this.b.ba=a};n.autoplay=function(){return this.b.autoplay};n.Nb=function(a){this.b.autoplay=a};n.loop=function(){return this.b.loop};n.Qb=function(a){this.b.loop=a};n.error=function(){return this.b.error};
|
|
n.controls=function(){return this.a.options.controls};var La="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={ic:u.pb.webkitEnterFullScreen?!u.A.match("Chrome")&&!u.A.match("Mac OS X 10.5")?f:k:k,Eb:!u.lb};
|
|
u.jb&&3>u.ib&&(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.Jb;d=this.b=u.d("div",{id:a.id()+"_temp_flash"});var p=a.id()+"_flash_api";a=a.options;var j=u.t({readyFunction:"videojs.Flash.onReady",eventProxyFunction:"videojs.Flash.onEvent",errorEventProxyFunction:"videojs.Flash.onError",autoplay:a.autoplay,preload:a.ba,loop:a.loop,muted:a.muted},b.flashVars),r=u.t({wmode:"opaque",bgcolor:"#000000"},b.params),q=u.t({id:p,name:p,"class":"vjs-tech"},b.attributes);e&&(j.src=encodeURIComponent(u.ha(e.src)));
|
|
u.Z(d,g);b.startTime&&z(this,function(){this.load();this.play();this.currentTime(b.startTime)});if(b.lc===f&&!u.kb){var w=u.d("iframe",{id:p+"_iframe",name:p+"_iframe",className:"vjs-tech",scrolling:"no",marginWidth:0,marginHeight:0,frameBorder:0});j.readyFunction="ready";j.eventProxyFunction="events";j.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(Ma(b.swf,j,r,q));d.player=this.a;
|
|
d.ready=u.bind(this.a,function(b){b=a.getElementById(b);var d=this.i;d.b=b;u.e(b,"click",d.bind(d.k));Na(d)});d.events=u.bind(this.a,function(a,b){this&&"flash"===this.P&&this.g(b)});d.errors=u.bind(this.a,function(a,b){u.log("Flash Error",b)})}));d.parentNode.replaceChild(w,d)}else{a=Ma(b.swf,j,r,q);a=u.d("div",{innerHTML:a}).childNodes[0];e=d.parentNode;d.parentNode.replaceChild(a,d);var gb=e.childNodes[0];setTimeout(function(){gb.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.ha(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.xa(this.b.vjs_getProperty("buffered"))};n.sa=m(k);
|
|
var Oa=W.prototype,Pa="preload currentTime defaultPlaybackRate playbackRate autoplay loop mediaGroup controller controls volume muted defaultMuted".split(" "),Qa="error currentSrc networkState readyState seeking initialTime duration startOffsetTime paused played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks".split(" ");function Ra(){var a=Pa[i],b=a.charAt(0).toUpperCase()+a.slice(1);Oa["set"+b]=function(b){return this.b.vjs_setProperty(a,b)}}
|
|
function Sa(a){Oa[a]=function(){return this.b.vjs_getProperty(a)}}for(i=0;i<Pa.length;i++)Sa(Pa[i]),Ra();for(i=0;i<Qa.length;i++)Sa(Qa[i]);W.prototype.F={zb:{"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"},ab:k,gb:k,Va:k,oc:!u.A.match("Firefox")};W.onReady=function(a){a=u.f(a);var b=a.player||a.parentNode.player,d=b.i;a.player=b;d.b=a;d.e("click",d.k);Na(d)};function Na(a){a.f().vjs_getProperty?A(a):setTimeout(function(){Na(a)},50)}W.onEvent=function(a,b){u.f(a).player.g(b)};
|
|
W.onError=function(a,b){u.f(a).player.g("error");u.log("Flash Error",b,a)};function Ma(a,b,d,e){var g="",p="",j="";b&&u.S(b,function(a,b){g+=a+"="+b+"&"});d=u.t({movie:a,flashvars:g,allowScriptAccess:"always",allowNetworking:"all"},d);u.S(d,function(a,b){p+='<param name="'+a+'" value="'+b+'" />'});e=u.t({data:a,width:"100%",height:"100%"},e);u.S(e,function(a,b){j+=a+'="'+b+'" '});return'<object type="application/x-shockwave-flash"'+j+">"+p+"</object>"};function X(a){a.ca=a.ca||[];return a.ca}function Ta(a,b,d){for(var e=a.ca,g=0,p=e.length,j,r;g<p;g++)j=e[g],j.id()===b?(j.show(),r=j):d&&(j.w()==d&&0<j.mode())&&j.disable();(b=r?r.w():d?d:k)&&a.g(b+"trackchange")}function Y(a,b){y.call(this,a,b);this.J=b.id||"vjs_"+b.kind+"_"+b.language+"_"+u.p++;this.cb=b.src;this.vb=b["default"]||b.dflt;this.sc=b.title;this.mc=b.srclang;this.Cb=b.label;this.R=[];this.Na=[];this.W=this.X=0}t(Y,y);n=Y.prototype;n.w=l("r");n.src=l("cb");n.ya=l("vb");n.label=l("Cb");
|
|
n.readyState=l("X");n.mode=l("W");n.d=function(){return Y.h.d.call(this,"div",{className:"vjs-"+this.r+" vjs-text-track"})};n.show=function(){Ua(this);this.W=2;Y.h.show.call(this)};n.s=function(){Ua(this);this.W=1;Y.h.s.call(this)};n.disable=function(){2==this.W&&this.s();this.a.j("timeupdate",u.bind(this,this.update,this.J));this.a.j("ended",u.bind(this,this.reset,this.J));this.reset();this.a.D.textTrackDisplay.removeChild(this);this.W=0};
|
|
function Ua(a){0===a.X&&a.load();0===a.W&&(a.a.e("timeupdate",u.bind(a,a.update,a.J)),a.a.e("ended",u.bind(a,a.reset,a.J)),("captions"===a.r||"subtitles"===a.r)&&a.a.D.textTrackDisplay.C(a))}n.load=function(){0===this.X&&(this.X=1,u.get(this.cb,u.bind(this,this.Kb),u.bind(this,this.Ga)))};n.Ga=function(a){this.error=a;this.X=3;this.g("error")};
|
|
n.Kb=function(a){var b,d;a=a.split("\n");for(var e="",g=1,p=a.length;g<p;g++)if(e=u.trim(a[g])){-1==e.indexOf("--\x3e")?(b=e,e=u.trim(a[++g])):b=this.R.length;b={id:b,index:this.R.length};d=e.split(" --\x3e ");b.startTime=Va(d[0]);b.Y=Va(d[1]);for(d=[];a[++g]&&(e=u.trim(a[g]));)d.push(e);b.text=d.join("<br/>");this.R.push(b)}this.X=2;this.g("loaded")};
|
|
function Va(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.R.length){var a=this.a.currentTime();if(this.Ka===c||a<this.Ka||this.ja<=a){var b=this.R,d=this.a.duration(),e=0,g=k,p=[],j,r,q,w;a>=this.ja||this.ja===c?w=this.Aa!==c?this.Aa:0:(g=f,w=this.Da!==c?this.Da:b.length-1);for(;;){q=b[w];if(q.Y<=a)e=Math.max(e,q.Y),q.ea&&(q.ea=k);else if(a<q.startTime){if(d=Math.min(d,q.startTime),q.ea&&(q.ea=k),!g)break}else g?(p.splice(0,0,q),r===c&&(r=w),j=w):(p.push(q),j===c&&(j=w),r=w),d=Math.min(d,q.Y),e=Math.max(e,q.startTime),q.ea=
|
|
f;if(g)if(0===w)break;else w--;else if(w===b.length-1)break;else w++}this.Na=p;this.ja=d;this.Ka=e;this.Aa=j;this.Da=r;a=this.Na;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.ja=0;this.Ka=this.a.duration();this.Da=this.Aa=0};function Wa(a,b){Y.call(this,a,b)}t(Wa,Y);Wa.prototype.r="captions";function Xa(a,b){Y.call(this,a,b)}t(Xa,Y);Xa.prototype.r="subtitles";function Ya(a,b){Y.call(this,a,b)}
|
|
t(Ya,Y);Ya.prototype.r="chapters";function Za(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,p=e.kind,j=e.label,r=e.language,q=e;e=g.ca=g.ca||[];q=q||{};q.kind=p;q.label=j;q.language=r;p=u.H(p||"subtitles");g=new window.videojs[p+"Track"](g,q);e.push(g)}}}t(Za,y);Za.prototype.d=function(){return Za.h.d.call(this,"div",{className:"vjs-text-track-display"})};
|
|
function Z(a,b){var d=this.Q=b.track;b.label=d.label();b.selected=d.ya();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);Ta(this.a,this.Q.id(),this.Q.w())};Z.prototype.update=function(){2==this.Q.mode()?this.selected(f):this.selected(k)};function $a(a,b){b.track={w:function(){return b.kind},pc:a,label:m("Off"),ya:m(k),mode:m(k)};Z.call(this,a,b)}t($a,Z);$a.prototype.k=function(){$a.h.k.call(this);Ta(this.a,this.Q.id(),this.Q.w())};
|
|
$a.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.Q.w()&&2==e.mode()&&(g=k);g?this.selected(f):this.selected(k)};function $(a,b){G.call(this,a,b);this.V=this.wa();0===this.$.length&&this.s()}t($,G);n=$.prototype;n.wa=function(){var a=new S(this.a);a.f().appendChild(u.d("li",{className:"vjs-menu-title",innerHTML:u.H(this.r)}));Ja(a,new $a(this.a,{kind:this.r}));this.$=this.Qa();for(var b=0;b<this.$.length;b++)Ja(a,this.$[b]);this.C(a);return a};
|
|
n.Qa=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.la=function(){this.V.Za();u.z(this.V.b.childNodes[this.V.b.childNodes.length-1],"blur",u.bind(this,function(){ha(this.V)}))};n.ka=function(){};n.k=function(){this.z("mouseout",u.bind(this,function(){ha(this.V);this.b.blur()}))};function ab(a,b){$.call(this,a,b)}t(ab,$);ab.prototype.r="captions";
|
|
ab.prototype.K="Captions";ab.prototype.className="vjs-captions-button";function bb(a,b){$.call(this,a,b)}t(bb,$);bb.prototype.r="subtitles";bb.prototype.K="Subtitles";bb.prototype.className="vjs-subtitles-button";function cb(a,b){$.call(this,a,b)}t(cb,$);n=cb.prototype;n.r="chapters";n.K="Chapters";n.className="vjs-chapters-button";n.Qa=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.wa=function(){for(var a=X(this.a),b=0,d=a.length,e,g,p=this.$=[];b<d;b++)if(e=a[b],e.w()==this.r&&e.ya()){if(2>e.readyState()){this.ec=e;e.e("loaded",u.bind(this,this.wa));return}g=e;break}a=this.V=new S(this.a);a.b.appendChild(u.d("li",{className:"vjs-menu-title",innerHTML:u.H(this.r)}));if(g){e=g.R;for(var j,b=0,d=e.length;b<d;b++)j=e[b],j=new db(this.a,{track:g,cue:j}),p.push(j),a.C(j)}this.C(a);0<this.$.length&&this.show();return a};
|
|
function db(a,b){var d=this.Q=b.track,e=this.cue=b.cue,g=a.currentTime();b.label=e.text;b.selected=e.startTime<=g&&g<e.Y;T.call(this,a,b);d.e("cuechange",u.bind(this,this.update))}t(db,T);db.prototype.k=function(){db.h.k.call(this);this.a.currentTime(this.cue.startTime);this.update(this.cue.startTime)};db.prototype.update=function(){var a=this.cue,b=this.a.currentTime();a.startTime<=b&&b<a.Y?this.selected(f):this.selected(k)};
|
|
u.t(F.prototype.options.children,{subtitlesButton:{},captionsButton:{},chaptersButton:{}});if(JSON&&"function"===JSON.parse)u.JSON=JSON;else{u.JSON={};var eb=/[\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 j,r,q=a[e];if(q&&"object"===typeof q)for(j in q)Object.prototype.hasOwnProperty.call(q,j)&&(r=d(q,j),r!==c?q[j]=r:delete q[j]);return b.call(a,e,q)}var e;a=String(a);eb.lastIndex=0;eb.test(a)&&(a=a.replace(eb,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.ua=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.player===c&&(a=b.getAttribute("data-setup"),a!==h&&(a=u.JSON.parse(a||"{}"),x(b,a)));else{u.Oa();break}else u.Xb||u.Oa()};u.Oa=function(){setTimeout(u.ua,1)};u.z(window,"load",function(){u.Xb=f});u.ua();s("videojs",u);s("_V_",u);s("videojs.options",u.options);s("videojs.cache",u.L);s("videojs.Component",y);y.prototype.dispose=y.prototype.l;y.prototype.createEl=y.prototype.d;y.prototype.getEl=y.prototype.kc;y.prototype.addChild=y.prototype.C;y.prototype.getChildren=y.prototype.jc;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.s;y.prototype.width=y.prototype.width;
|
|
y.prototype.height=y.prototype.height;y.prototype.dimensions=y.prototype.wb;s("videojs.Player",v);s("videojs.MediaLoader",wa);s("videojs.PosterImage",Ia);s("videojs.LoadingSpinner",L);s("videojs.BigPlayButton",K);s("videojs.ControlBar",F);s("videojs.TextTrackDisplay",Za);s("videojs.Control",E);s("videojs.ControlBar",F);s("videojs.Button",G);s("videojs.PlayButton",H);s("videojs.PauseButton",I);s("videojs.PlayToggle",xa);s("videojs.FullscreenToggle",J);s("videojs.BigPlayButton",K);
|
|
s("videojs.LoadingSpinner",L);s("videojs.CurrentTimeDisplay",M);s("videojs.DurationDisplay",N);s("videojs.TimeDivider",ya);s("videojs.RemainingTimeDisplay",O);s("videojs.Slider",P);s("videojs.ProgressControl",Aa);s("videojs.SeekBar",Q);s("videojs.LoadProgressBar",Ba);s("videojs.PlayProgressBar",Ca);s("videojs.SeekHandle",Da);s("videojs.VolumeControl",Ea);s("videojs.VolumeBar",Fa);s("videojs.VolumeLevel",Ga);s("videojs.VolumeHandle",Ha);s("videojs.MuteToggle",R);s("videojs.PosterImage",Ia);
|
|
s("videojs.Menu",S);s("videojs.MenuItem",T);s("videojs.SubtitlesButton",bb);s("videojs.CaptionsButton",ab);s("videojs.ChaptersButton",cb);s("videojs.MediaTechController",U);s("videojs.Html5",V);V.Events=La;V.isSupported=function(){return!!document.createElement("video").canPlayType};V.canPlaySource=function(a){return!!document.createElement("video").canPlayType(a.type)};V.prototype.setCurrentTime=V.prototype.Ob;V.prototype.setVolume=V.prototype.Tb;V.prototype.setMuted=V.prototype.Rb;
|
|
V.prototype.setPreload=V.prototype.Sb;V.prototype.setAutoplay=V.prototype.Nb;V.prototype.setLoop=V.prototype.Qb;s("videojs.Flash",W);W.Events=W.Zb;
|
|
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.zb)return"maybe"};
|
|
W.onReady=W.onReady;s("videojs.TextTrack",Y);Y.prototype.label=Y.prototype.label;s("videojs.CaptionsTrack",Wa);s("videojs.SubtitlesTrack",Xa);s("videojs.ChaptersTrack",Ya);s("videojs.autoSetup",u.ua);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.fa[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 do a deep merge of child options",function(){var a=ga(y.prototype,{children:{childOne:{foo:"bar",asdf:"fdsa"},childTwo:{},childThree:{}}},{children:{childOne:{foo:"baz",abc:"123"},childThree:h,childFour:{}}}).children;ok("baz"===a.childOne.foo,"value three levels deep overridden");ok("fdsa"===a.childOne.asdf,"value three levels deep maintained");ok("123"===a.childOne.abc,"value three levels deep added");ok(a.childTwo,"object two levels deep maintained");ok(a.childThree===h,"object two levels deep removed");
|
|
ok(a.childFour,"object two levels deep added")});test("should dispose of component and children",function(){var a=new y({}),b=a.C("Component");ok(1===a.children().length);a.e("click",m(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.L[e],"listener cache nulled");ok(u.ia(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")});A(a);z(a,function(){ok(f,"ready method listener fired")});A(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.s();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.Ba(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.O.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.H("bar");ok("Bar"===a)});test("should loop through each property on an object",function(){var a={qb:1,rb:2,c:3};u.S(a,function(b,d){a[b]=d+3});deepEqual(a,{qb:4,rb: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={bc:"fdsa"};b.test=e;ok(u.getData(a).test===e,"data added");u.La(a);ok(!u.L[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.M(document.getElementById("vid2"));b=u.M(document.getElementById("source"));var d=u.M(document.getElementById("track"));deepEqual(u.M(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.Ba(a,"height"));ok("123px"===u.Ba(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.Z(a,d);ok(d.firstChild===a,"inserts first into empty parent");u.Z(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.xa(10);ok(0===a.start());ok(10===a.end())});
|
|
test("should get an absolute URL",function(){ok("http://asdf.com"===u.ha("http://asdf.com"));ok("https://asdf.com/index.html"===u.ha("https://asdf.com/index.html"))});module("HTML5");module("Player");function fb(){var a=document.createElement("video");a.id="example_1";a.className="video-js vjs-default-skin";return a}function hb(a){var b=fb();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=hb();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=fb(),a=new v(a);ok(1===a.options.attr,"global option was set");a.l();a=fb();a.setAttribute("attr","asdf");a=new v(a);ok("asdf"===a.options.attr,"Tag options overrode global options");a.l();a=fb();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.player===b,"player referenceable on original tag");ok(u.O[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.player===h,"tag player ref killed");ok(!u.O.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=hb({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=fb(),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=hb({ba:"none",qc:[{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
|