diff --git a/dash-shaka-playback.js b/dash-shaka-playback.js index b2d09c3..4b002e5 100644 --- a/dash-shaka-playback.js +++ b/dash-shaka-playback.js @@ -1,3 +1,3 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("Clappr")):"function"==typeof define&&define.amd?define(["Clappr"],e):"object"==typeof exports?exports.DashShakaPlayback=e(require("Clappr")):t.DashShakaPlayback=e(t.Clappr)}(this,function(t){return function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i=720,this.trigger(u.Events.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinition),this.trigger(u.Events.PLAYBACK_BITRATE,{bandwidth:t.bandwidth,width:t.width,height:t.height,level:t.id})}},{key:"_destroy",value:function(){o(Object.getPrototypeOf(e.prototype),"destroy",this).call(this),this.isReadyState=!1,u.Log.debug("shaka was destroyed")}},{key:"_ready",value:function(){o(Object.getPrototypeOf(e.prototype),"ready",this).call(this)}},{key:"isReady",get:function(){return this.isReadyState}},{key:"textTracks",get:function(){return this._player.getTracks().filter(function(t){return"text"===t.type})}},{key:"audioTracks",get:function(){return this._player.getTracks().filter(function(t){return"audio"===t.type})}},{key:"videoTracks",get:function(){return this._player.getTracks().filter(function(t){return"video"===t.type})}}]),e}(u.HTML5Video);e["default"]=d,d.canPlay=function(t){var e=arguments.length<=1||void 0===arguments[1]?"":arguments[1];c["default"].polyfill.installAll(),c["default"].Player.support().then(function(t){d.support=t});var i=!!window.Promise&&!!window.Uint8Array&&!!Array.prototype.forEach,n=window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),r=i&&n,s=t.split("?")[0].match(/.*\.(.*)$/)||[];return r&&("mpd"===s[1]||e.indexOf("application/dash+xml")>-1)},t.exports=e["default"]},function(t,e,i){var n;!function(){var r={};(function(t){function e(t,e){var i=t.split("."),n=gn;i[0]in n||!n.execScript||n.execScript("var "+i[0]);for(var r;i.length&&(r=i.shift());)i.length||void 0===e?n=n[r]?n[r]:n[r]={}:n[r]=e}function i(t){function e(){}var i=It;e.prototype=i.prototype,t.Ib=i.prototype,t.prototype=new e,t.prototype.constructor=t,t.Fb=function(t,e,n){return i.prototype[e].apply(t,Array.prototype.slice.call(arguments,2))}}function n(t){this.c=Math.exp(Math.log(.5)/t),this.a=this.b=0}function r(t,e,i){var n=Math.pow(t.c,e);t.b=i*(1-n)+n*t.b,t.a+=e}function s(t){return t.b/(1-Math.pow(t.c,t.a))}function a(){this.a=new n(3),this.c=new n(10),this.b=5e5}function o(t){return.5>t.a.a?t.b:Math.min(s(t.a),s(t.c))}function u(){this.h=null,this.c=!1,this.b=new a,this.g={},this.a={},this.i=!1,this.f=null}function h(t){var e,i={};if((e=t.g.audio)?(e=c(e),e=e[Math.floor(e.length/2)]):e=null,e&&(i.audio=e,t.a.audio=e),e=t.g.video){e=c(e);for(var n=t.a.audio,n=n&&n.bandwidth||0,r=o(t.b),s=e[0],a=0;a=(u.bandwidth+n)/.95&&h>=r&&(s=u))}e=s}else e=null;return e&&(i.video=e,t.a.video=e),t.f=Date.now(),i}function c(t){return t.streams.slice(0).sort(function(t,e){return t.bandwidth-e.bandwidth})}function l(){var t,e={basic:!0};for(t in vn)e[t]=!0;for(t in wn)e[t]=!0;return["application/dash+xml","application/x-mpegurl","application/vnd.apple.mpegurl","application/vnd.ms-sstr+xml"].forEach(function(t){e[t]=!!vn[t]}),["mpd","m3u8","ism"].forEach(function(t){e[t]=!!wn[t]}),e}function f(t,e,i,n,r){this.a=t,this.c=e,this.b=i,this.g=n,this.f=r}function d(t){return null==t.c||t.b==Number.POSITIVE_INFINITY?0:Math.max(0,p(t)-t.b)}function p(t){return null==t.c?t.a:Math.min(Math.max(0,(Date.now()+t.f)/1e3-t.g-t.c),t.a)}function m(t,e,i){this.uris=t,this.c=e,this.b=i}function b(t,e,i,n,r,s){this.position=t,this.startTime=e,this.a=i,this.uris=n,this.c=r,this.b=s}function y(t,e){if(!t)return 0;for(var i=0;i=t.start(i)&&e2097151)throw new x(3,3001);return t.a+=8,i*Math.pow(2,32)+e}function q(t){t.a+16>t.b.byteLength&&H();var e=new Uint8Array(t.b.buffer,t.a,16);return t.a+=16,e}function V(t,e){t.a+e>t.b.byteLength&&H(),t.a+=e}function H(){throw new x(3,3e3)}function G(t){this.b=t,this.a=new j(t),kn||(kn=[new Uint8Array([255]),new Uint8Array([127,255]),new Uint8Array([63,255,255]),new Uint8Array([31,255,255,255]),new Uint8Array([15,255,255,255,255]),new Uint8Array([7,255,255,255,255,255]),new Uint8Array([3,255,255,255,255,255,255]),new Uint8Array([1,255,255,255,255,255,255,255])])}function Y(t){var e;if(e=z(t),7=e&&!(i&1<<8-e);e++);if(e>8)throw new x(3,3002);var n=new Uint8Array(e);for(n[0]=i,i=1;e>i;i++)n[i]=F(t.a);return n}function W(t,e){this.id=t,this.a=e}function $(t){if(8a.startTime||(s.a!=a.a?i.push(a):i.push(s),n++),r++)}for(;ne);++i);t.a.splice(0,i)}function st(t,e){this.g=_n[e],this.c=t,this.h=0,this.f=Number.POSITIVE_INFINITY,this.a=this.b=null}function at(t,e,i,n){var r=t.h;return i+=r,n+=r,Promise.resolve().then(function(){for(var t=this.g(e),s=0;s=this.f));++s)this.c.addCue(t[s]);null==this.b&&(this.b=i),this.a=Math.min(n,this.f)}.bind(t))}function ot(t,e,i){return Promise.resolve().then(function(){ht(this,function(t){return!(t.startTime>=i||t.endTime<=e)}),null==this.b||i<=this.b||e>=this.a||(e<=this.b&&i>=this.a?this.b=this.a=null:e<=this.b&&ithis.b&&i>=this.a&&(this.a=e))}.bind(t))}function ut(t,e){return null==t.a||t.a=n&&r>=e||0!=y(t.a.buffered,e)&&e>=i&&r>=e?e:e>r?r:n>r&&e>=i&&r>=e?e:Math.min(n+2,r)):n>e?n:e>r?r:e}function Et(t,e){var i=d(t.b);return i>e?i:(i=p(t.b),e>i?i:e)}function It(){this.v=new dt}function kt(){var t,e,i=new Promise(function(i,n){t=i,e=n});return i.resolve=t,i.reject=e,i}function Pt(t,e,i){this.i=t,this.f=e,this.l=i,this.c={},this.b=null,this.a={},this.g=new mt,this.h=!1}function _t(){var e={basic:!!t.MediaSource},i=navigator.vendor,n=navigator.appVersion;return i&&0<=i.indexOf("Apple")&&n&&0<=n.indexOf("Version/8")&&(e.basic=!1),e.basic&&'video/mp4; codecs="avc1.42E01E",audio/mp4; codecs="mp4a.40.2",video/webm; codecs="vp8",video/webm; codecs="vp9",audio/webm; codecs="vorbis",audio/webm; codecs="opus",video/mp2t; codecs="avc1.42E01E",video/mp2t; codecs="mp4a.40.2",text/vtt,application/mp4; codecs="wvtt",application/ttml+xml,application/mp4; codecs="stpp"'.split(",").forEach(function(t){e[t]=!!_n[t]||MediaSource.isTypeSupported(t);var i=t.split(";")[0];e[i]=e[i]||e[t]}),e}function At(t,e){var i;return i="text"==e?t.b.b:(i=t.c[e].buffered)&&i.length?i.start(0):null}function Nt(t,e,i,n){return"text"==e?(e=ut(t.b,i),!e&&n&&(e=ut(t.b,i+n))&&(e+=n)):(t=t.c[e].buffered,e=y(t,i),!e&&n&&(e=y(t,i+n))&&(e+=n)),e}function Mt(t,e,i,n,r){return"text"==e?at(t.b,i,n,r):Lt(t,e,t.yb.bind(t,e,i))}function Dt(t,e){return"text"==e?ot(t.b,0,Number.POSITIVE_INFINITY):Lt(t,e,t.Ha.bind(t,e,0,t.f.duration))}function Rt(t,e,i){return"text"==e?(t.b.h=i,Promise.resolve()):Lt(t,e,t.rb.bind(t,e,i))}function Ot(t,e,i){return"text"==e?(t.b.f=i,Promise.resolve()):Lt(t,e,t.pb.bind(t,e,i))}function Ct(t,e){xt(t,function(){this.f.duration=e}.bind(t))}function Lt(t,e,i){if(t.h)return Promise.reject();if(i={start:i,p:new kt},t.a[e].push(i),1==t.a[e].length)try{i.start()}catch(n){i.p.reject(new x(3,3015,n)),jt(t,e)}return i.p}function xt(t,e){if(t.h)return Promise.reject();var i,n=[];for(i in t.c){var r=new kt,s={start:function(t){t.resolve()}.bind(null,r),p:r};t.a[i].push(s),n.push(r),1==t.a[i].length&&s.start()}return Promise.all(n).then(function(){var t,i;try{e()}catch(n){i=Promise.reject(new x(3,3015,n))}for(t in this.c)jt(this,t);return i}.bind(t),function(){return Promise.reject()}.bind(t))}function jt(t,e){t.a[e].shift();var i=t.a[e][0];if(i)try{i.start()}catch(n){i.p.reject(new x(3,3015,n)),jt(t,e)}}function Ut(t){if(!t)return"";t=String.fromCharCode.apply(null,new Uint8Array(t)),t=escape(t);try{return decodeURIComponent(t)}catch(e){throw new x(2,2004)}}function Ft(t,e){if(!t)return"";if(0!=t.byteLength%2)throw new x(2,2004);var i;if(t instanceof ArrayBuffer)i=t;else{var n=new Uint8Array(t.byteLength);n.set(new Uint8Array(t)),i=n.buffer}var n=[],r=t.byteLength/2;i=new DataView(i);for(var s=0;r>s;s++)n[s]=i.getUint16(2*s,e);return String.fromCharCode.apply(null,n)}function Kt(t){var e=new Uint8Array(t);if(239==e[0]&&187==e[1]&&191==e[2])return Ut(e.subarray(3));if(254==e[0]&&255==e[1])return Ft(e.subarray(2),!1);if(255==e[0]&&254==e[1])return Ft(e.subarray(2),!0);var i=function(t,e){return t.byteLength<=e||32<=t[e]&&126>=t[e]}.bind(null,e);if(0==e[0]&&0==e[2])return Ft(t,!1);if(0==e[1]&&0==e[3])return Ft(t,!0);if(i(0)&&i(1)&&i(2)&&i(3))return Ut(t);throw new x(2,2003)}function Bt(t){t=unescape(encodeURIComponent(t));for(var e=new Uint8Array(t.length),i=0;i1)V(t,i-(t.a-e));else{V(t,3);var n=$t(q(t)),s=[];if(r>0)for(var r=K(t),a=0;r>a;++a){var o=$t(q(t));s.push(o)}r=K(t),V(t,r),this.cencKeyIds.push.apply(this.cencKeyIds,s),this.systemIds.push(n),this.a.push({start:e,end:t.a-1}),t.a!=e+i&&V(t,i-(t.a-e))}}}}function ge(t,e){try{var i=new ve(t,e);return Promise.resolve(i)}catch(n){return Promise.reject(n)}}function ve(t,e){this.keySystem=t;for(var i=!1,n=0;n=i.a.length)){for(var n=[],r=0;r0?t:null}function je(t){return t=Number(t),0===t%1&&t>=0?t:null}function Ue(t,e){var i=qe(t),n=null,r=i.filter(function(t){return"urn:mpeg:dash:mp4protection:2011"==t.Ia?(n=t.init||n,!1):!0}),s=i.map(function(t){return t.keyId}).filter(tt),a=null;if(0e)throw Error("Bad port number "+e);t.ca=e}else t.ca=null}function Ye(t){return t.F}function ze(t,e,i){e instanceof Je?t.a=e:(i||(e=$e(e,xn)),t.a=new Je(e))}function We(t,e){return t?e?decodeURI(t):decodeURIComponent(t):""}function $e(t,e,i){return"string"==typeof t?(t=encodeURI(t).replace(e,Xe),i&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function Xe(t){return t=t.charCodeAt(0),"%"+(t>>4&15).toString(16)+(15&t).toString(16)}function Je(t){this.b=t||null}function Ze(t){var e=new Je;if(e.b=t.b,t.a){var i,n={};for(i in t.a)n[i]=t.a[i].concat();e.a=n,e.c=t.c}return e}function Qe(e,i,n,r,s){null!==s&&(s=Math.round(s));var a={RepresentationID:i,Number:n,Bandwidth:r,Time:s};return e.replace(/\$(RepresentationID|Number|Bandwidth|Time)?(?:%0([0-9]+)d)?\$/g,function(e,i,n){if("$$"==e)return"$";var r=a[i];return null==r?e:("RepresentationID"==i&&n&&(n=void 0),e=r.toString(),n=t.parseInt(n,10)||1,Array(Math.max(0,n-e.length)+1).join("0")+e)})}function ti(t,e){if(0!=e.length){var i=e[0];i.startTime<=Un&&(e[0]=new b(i.position,0,i.a,i.uris,i.c,i.b)),null!=t&&t!=Number.POSITIVE_INFINITY&&(i=e[e.length-1],i.startTime>t||(e[e.length-1]=new b(i.position,i.startTime,t,i.uris,i.c,i.b)))}}function ei(t,e){if(0==e.length)return t;var i=e.map(function(t){return new Ve(t)});return t.map(function(t){return new Ve(t)}).map(function(t){return i.map(t.resolve.bind(t))}).reduce(Z,[]).map(function(t){return t.toString()})}function ii(t,e){var i=ni(t,e,"timescale"),n=1;i&&(n=xe(i)||1),i=ni(t,e,"duration"),(i=xe(i||""))&&(i/=n);var r=ni(t,e,"startNumber"),s=ni(t,e,"presentationTimeOffset"),a=je(r||"");null!=r&&null!=a||(a=1);var o=ri(t,e,"SegmentTimeline"),r=null;if(o){for(var r=n,u=Number(s),h=t.M.duration||Number.POSITIVE_INFINITY,o=Ne(o,"S"),c=[],l=0,f=0;fd)if(f+1=d)break;d=Math.ceil((d-p)/m)-1}else{if(h==Number.POSITIVE_INFINITY)break;if(p/r>=h)break;d=Math.ceil((h*r-p)/m)-1}0=b;++b)l=p+m,c.push({start:p/r,end:l/r}),p=l}r=c}return{ra:n,w:i,X:a,presentationTimeOffset:Number(s)/n||0,s:r}}function ni(t,e,i){return[e(t.j),e(t.A),e(t.H)].filter(tt).map(function(t){return t.getAttribute(i)}).reduce(function(t,e){return t||e})}function ri(t,e,i){return[e(t.j),e(t.A),e(t.H)].filter(tt).map(function(t){return Ae(t,i)}).reduce(function(t,e){return t||e})}function si(t,e){var i=ri(t,e,"Initialization");if(!i)return null;var n=t.j.D,r=i.getAttribute("sourceURL");r&&(n=ei(t.j.D,[r]));var r=0,s=null;return(i=De(i,"range",Ce))&&(r=i.start,s=i.end),new m(n,r,s)}function ai(t,e){var i,n=ni(t,ui,"presentationTimeOffset"),r=si(t,ui);i=Number(n);var s=t.j.mimeType.split("/")[1];if("text"!=t.j.contentType&&"mp4"!=s&&"webm"!=s)throw new x(4,4006);if("webm"==s&&!r)throw new x(4,4005);var a=ri(t,ui,"RepresentationIndex"),o=ni(t,ui,"indexRange"),u=t.j.D,o=Ce(o||"");if(a){var h=a.getAttribute("sourceURL");h&&(u=ei(t.j.D,[h])),o=De(a,"range",Ce,o)}if(!o)throw new x(4,4002);return i=oi(t,e,r,u,o.start,o.end,s,i),{createSegmentIndex:i.createSegmentIndex,findSegmentPosition:i.findSegmentPosition,getSegmentReference:i.getSegmentReference,initSegmentReference:r,presentationTimeOffset:Number(n)||0}}function oi(t,e,i,n,r,s,a,o){var u=t.M.duration,h=e,c=null;return{createSegmentIndex:function(){var t=[h(n,r,s),"webm"==a?h(i.uris,i.c,i.b):null];return h=null,Promise.all(t).then(function(t){var e,i,s,h=t[0];t=t[1]||null;var l=null;if("mp4"==a){t=[];var l=new j(new DataView(h)),f=K(l);if(1936286840!=K(l))throw new x(3,3004);if(1==f&&(f=B(l)),h=F(l),V(l,3),V(l,4),e=K(l),0==e)throw new x(3,3005);var d;0==h?(i=K(l),d=K(l)):(i=B(l),d=B(l)),V(l,2);try{var p=l.b.getUint16(l.a,l.c)}catch(m){H()}for(l.a+=2,h=p,p=i-o,f=r+f+d,d=0;h>d;d++){s=K(l),i=(2147483648&s)>>>31,s&=2147483647;var y=K(l);if(V(l,4),1==i)throw new x(3,3006);t.push(new b(t.length,p/e,(p+y)/e,n,f,f+s-1)),p+=y,f+=s}l=t}else{if(t=new G(new DataView(t)),440786851!=Y(t).id)throw new x(3,3008);if(l=Y(t),408125543!=l.id)throw new x(3,3009);for(t=l.a.byteOffset,l=new G(l.a),e=null;U(l.a);)if(p=Y(l),357149030==p.id){e=p;break}if(!e)throw new x(3,3010);for(l=new G(e.a),e=1e6,p=null;U(l.a);)if(f=Y(l),2807729==f.id)e=$(f);else if(17545==f.id)if(p=f,4==p.a.byteLength)p=p.a.getFloat32(0);else{if(8!=p.a.byteLength)throw new x(3,3003);p=p.a.getFloat64(0)}if(null==p)throw new x(3,3011);if(l=e/1e9,e=p*l,p=Y(new G(new DataView(h))),475249515!=p.id)throw new x(3,3007);for(h=[],p=new G(p.a),d=f=-1;U(p.a);)if(i=Y(p),187==i.id){if(s=new G(i.a),i=Y(s),179!=i.id)throw new x(3,3013);if(i=$(i),s=Y(s),183!=s.id)throw new x(3,3012);for(y=new G(s.a),s=0;U(y.a);){var g=Y(y);if(241==g.id){s=$(g);break}}i=l*(i-o),s=t+s,f>=0&&h.push(new b(h.length,f,i,n,d,s-1)),f=i,d=s}f>=0&&h.push(new b(h.length,f,e,n,d,null)),l=h}ti(u,l),c=new it(l)})},findSegmentPosition:function(t){return c.b(t)},getSegmentReference:function(t){return c.get(t)}}}function ui(t){return t.ia}function hi(t,e,i){var n=si(t,ci),r=li(t);fi(t,r);var s=null,a=null;t.H.id&&t.j.id&&(a=t.H.id+","+t.j.id,s=e[a]);var o=di(t.M.duration,r.X,t.j.D,r);return ti(t.M.duration,o),s?(nt(s,o),rt(s,d(i.presentationTimeline))):(t.ga=o.reduce(function(t,e){return Math.max(t,e.a-e.startTime)},t.ga),s=new it(o),a&&(e[a]=s)),{createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:s.b.bind(s),getSegmentReference:s.get.bind(s),initSegmentReference:n,presentationTimeOffset:r.presentationTimeOffset}}function ci(t){return t.S}function li(t){var e=pi(t);t=ii(t,ci);var i=t.X;0===i&&(i=1);var n=0;return t.w?n=t.w*(i-1)-t.presentationTimeOffset:t.s&&0o;o++){var u,h=n.aa[o],c=ei(i,[h.Va]);u=null!=n.w?a+n.w:n.s?n.s[o].end:a+t,s.push(new b(o+e,a,u,c,h.start,h.end)),a=u}return s}function pi(t){return[t.j.S,t.A.S,t.H.S].filter(tt).map(function(t){return Ne(t,"SegmentURL")}).reduce(function(t,e){return 0t||i&&t>=i?null:Math.floor(t/n)},getSegmentReference:function(t){var e=t*n,i=Qe(a,u,t+r,o,e*s),i=ei(h,[i]);return new b(t,e,e+n,i,0,null)}}}function Ti(t,e){for(var i=[],n=0;n=Math.max(r,t.l.bufferingGoal))return e.ha=!1,.5;var s=t.c,a=e.type;t:{if(s="text"==a?s.b.a:(s=s.c[a].buffered)&&s.length?s.end(s.length-1):null,0==n){if(null==s){if(null!=e.W||e.L)throw new x(5,5e3,e.type);s=i;break t}if(s>i){s=null;break t}}if(null==e.W||null==e.L)throw new x(5,5e3,e.type);s=t.a.periods[e.W].startTime+e.L.a}if(null==s)return null;if(a=t.a.presentationTimeline,s>=a.a)return e.ha=!1,e.endOfStream=!0,null;if(e.endOfStream=!1,!t.o&&r>n||1>=n?e.ha=!0:n>=r&&(e.ha=!1),n=en(t,e.stream),r=tn(t,s),r!=n)return e.qa=r,null;if(r=p(a),sr)return 1;if(r=e.L?n==e.W?e.L.position+1:Yi(t,e,t.a.periods[e.W].startTime+e.L.a,n):Yi(t,e,i,n),s=e.stream.getSegmentReference(r),!s)throw new x(5,5001,e.type,n,r);return zi(t,e,i,n,s),null}function Yi(t,e,i,n){if(t=i-t.a.periods[n].startTime-e.oa,t=Math.max(t,0),t=e.stream.findSegmentPosition(t),null==t)throw new x(5,5002,e.type,n,i);return t}function zi(t,e,i,n,r){var s=t.a.periods[n+1],a=null,a=s?s.startTime:t.a.presentationTimeline.a,s=Wi(t,e,n,a);e.ba=!0,e.ya=!1,a=nn(t,r),Promise.all([s,a]).then(function(t){return this.f?void 0:$i(this,e,i,n,r,t[1])}.bind(t)).then(function(){if(!this.f){var t;if(null!=e.oa)t=Promise.resolve();else{t=this.a.periods[n];var s=At(this.c,e.type);null==s?t=Promise.reject(new x(5,5004,e.type)):(e.oa=s-r.startTime-t.startTime,0==Nt(this.c,e.type,i)&&(e.J=!0),t=Promise.resolve())}return t}}.bind(t)).then(function(){e.ba=!1,sn(this,e,0),this.f||Ji(this,e)}.bind(t))["catch"](function(t){this.f||this.m(t)}.bind(t))}function Wi(t,e,i,n){return e.ya?(i=Rt(t.c,e.type,t.a.periods[i].startTime-e.stream.presentationTimeOffset),n=null!=n?Ot(t.c,e.type,n):Promise.resolve(),e.stream.initSegmentReference?(t=nn(t,e.stream.initSegmentReference).then(function(t){return this.f?void 0:Mt(this.c,e.type,t,null,null)}.bind(t)),Promise.all([i,n,t])):Promise.all([i,n])):Promise.resolve()}function $i(t,e,i,n,r,s){return Xi(t,i).then(function(){return this.f?void 0:Mt(this.c,e.type,s,r.startTime,r.a)}.bind(t)).then(function(){return this.f?void 0:(e.W=n,e.L=r,Promise.resolve())}.bind(t))}function Xi(t,e){var i=lt(t.b),n=i.map(function(t){return At(this.c,t.type)}.bind(t)).filter(tt);if(0==n.length)return Promise.resolve();var r=Math.min.apply(Math,n),s=e-r-t.l.bufferBehind;return 0>=s?Promise.resolve():(i=i.map(function(t){var e=this.c;t=t.type;var i=r+s;return"text"==t?ot(e.b,r,i):Lt(e,t,e.Ha.bind(e,t,r,i))}.bind(t)),Promise.all(i).then(function(){}.bind(t)))}function Ji(t,e){if(!t.o&&(t.o=lt(t.b).every(function(t){return null!=t.oa&&!t.J&&!t.U&&t.L}),t.o)){var i=en(t,e.stream);for(t.g[i]||qi(t,i).then(function(){this.v()}.bind(t))["catch"](Q),i=0;i0;--i)if(e>=t.a.periods[i].startTime)return i;return 0}function en(t,e){for(var i=0;i=e.status){var r=e.getAllResponseHeaders().split("\r\n").reduce(function(t,e){var i=e.split(": ");return t[i[0].toLowerCase()]=i.slice(1).join(": "),t},{});e.mb&&(t=e.mb),i({uri:t,data:e.response,headers:r})}else n(new x(1,1001,t,e.status))},r.onerror=function(){n(new x(1,1002,t))},r.ontimeout=function(){n(new x(1,1003,t))};for(var s in e.headers)r.setRequestHeader(s,e.headers[s]);r.send(e.body)})}function un(t){for(this.v=new dt,this.c=t,this.i=null,this.o=new mt,this.Ea=new u,this.l=new Ei(this.wb.bind(this)),this.f=this.m=this.b=this.O=this.ma=this.G=this.B=this.g=null,this.La=1e9,this.ta=!1,this.R=!0,this.pa=!1,this.h={},this.a=fn(this),this.P=[],this.la=this.$=this.na=0,this.ma=hn(this),t=0;t=1&&s==r.split("-")[0]||t>=2&&s.split("-")[0]==r.split("-")[0])&&(n[e.type]=!0,i[e.type]=e)}}.bind(this))}.bind(t));var r=t.a.abr.manager.chooseStreams(i);return i.text&&(r.text=i.text.streams[0],i.audio&&n.text&&i.text.language!=i.audio.language&&(t.i.mode="showing")),r}function mn(t){Promise.resolve().then(function(){this.c&&this.dispatchEvent(new X("adaptation"))}.bind(t))}function bn(t){Promise.resolve().then(function(){this.c&&this.dispatchEvent(new X("trackschanged"))}.bind(t))}var yn,gn=this;gn.Eb=!0,yn=u.prototype,yn.stop=function(){this.h=null,this.c=!1,this.g={},this.a={},this.f=null},yn.init=function(t){this.h=t},yn.chooseStreams=function(t){return this.g=t,this.a={},h(this)},yn.enable=function(){this.c=!0},yn.disable=function(){this.c=!1},yn.segmentDownloaded=function(t,e,i){var n=this.b;if(t=e-t,65536>i||(t=Math.max(t,50),i=8e3*i/t,t/=1e3,r(n.a,t,i),r(n.c,t,i)),null!=this.f&&this.c)t:{if(n=Date.now()-this.f,this.i){if(8e3>n)break t}else{if(4e3>n)break t;this.i=!0}n=this.a.audio,i=this.a.video,t=h(this),t.audio==n&&t.video==i||this.h(t)}},yn.getBandwidthEstimate=function(){return o(this.b)},yn.setDefaultEstimate=function(t){this.b.b=t};var vn={},wn={};e("shaka.media.ManifestParser.registerParserByExtension",function(t,e){wn[t]=e}),e("shaka.media.ManifestParser.registerParserByMime",function(t,e){vn[t]=e}),e("shaka.media.PresentationTimeline",f),e("shaka.media.InitSegmentReference",m),e("shaka.media.SegmentReference",b),e("shaka.polyfill.installAll",function(){for(var t=0;t=0;--e){var i=this.a[e];if(t>=i.startTime&&tt||t>=this.a.length?null:this.a[t])};var _n={};e("shaka.media.TextEngine.registerParser",function(t,e){_n[t]=e}),e("shaka.media.TextEngine.unregisterParser",function(t){delete _n[t]}),st.prototype.u=function(){return this.c&&ht(this,function(){return!0}),this.c=this.g=null,Promise.resolve()};var An={aar:"aa",abk:"ab",afr:"af",aka:"ak",alb:"sq",amh:"am",ara:"ar",arg:"an",arm:"hy",asm:"as",ava:"av",ave:"ae",aym:"ay",aze:"az",bak:"ba",bam:"bm",baq:"eu",bel:"be",ben:"bn",bih:"bh",bis:"bi",bod:"bo",bos:"bs",bre:"br",bul:"bg",bur:"my",cat:"ca",ces:"cs",cha:"ch",che:"ce",chi:"zh",chu:"cu",chv:"cv",cor:"kw",cos:"co",cre:"cr",cym:"cy",cze:"cs",dan:"da",deu:"de",div:"dv",dut:"nl",dzo:"dz",ell:"el",eng:"en",epo:"eo",est:"et",eus:"eu",ewe:"ee",fao:"fo",fas:"fa",fij:"fj",fin:"fi",fra:"fr",fre:"fr",fry:"fy",ful:"ff",geo:"ka",ger:"de",gla:"gd",gle:"ga",glg:"gl",glv:"gv",gre:"el",grn:"gn",guj:"gu",hat:"ht",hau:"ha",heb:"he",her:"hz",hin:"hi",hmo:"ho",hrv:"hr",hun:"hu",hye:"hy",ibo:"ig",ice:"is",ido:"io",iii:"ii",iku:"iu",ile:"ie",ina:"ia",ind:"id",ipk:"ik",isl:"is",ita:"it",jav:"jv",jpn:"ja",kal:"kl",kan:"kn",kas:"ks",kat:"ka",kau:"kr",kaz:"kk",khm:"km",kik:"ki",kin:"rw",kir:"ky",kom:"kv",kon:"kg",kor:"ko",kua:"kj",kur:"ku",lao:"lo",lat:"la",lav:"lv",lim:"li",lin:"ln",lit:"lt",ltz:"lb",lub:"lu",lug:"lg",mac:"mk",mah:"mh",mal:"ml",mao:"mi",mar:"mr",may:"ms",mkd:"mk",mlg:"mg",mlt:"mt",mon:"mn",mri:"mi",msa:"ms",mya:"my",nau:"na",nav:"nv",nbl:"nr",nde:"nd",ndo:"ng",nep:"ne",nld:"nl",nno:"nn",nob:"nb",nor:"no",nya:"ny",oci:"oc",oji:"oj",ori:"or",orm:"om",oss:"os",pan:"pa",per:"fa",pli:"pi",pol:"pl",por:"pt",pus:"ps",que:"qu",roh:"rm",ron:"ro",rum:"ro",run:"rn",rus:"ru",sag:"sg",san:"sa",sin:"si",slk:"sk",slo:"sk",slv:"sl",sme:"se",smo:"sm",sna:"sn",snd:"sd",som:"so",sot:"st",spa:"es",sqi:"sq",srd:"sc",srp:"sr",ssw:"ss",sun:"su",swa:"sw",swe:"sv",tah:"ty",tam:"ta",tat:"tt",tel:"te",tgk:"tg",tgl:"tl",tha:"th",tib:"bo",tir:"ti",ton:"to",tsn:"tn",tso:"ts",tuk:"tk",tur:"tr",twi:"tw",uig:"ug",ukr:"uk",urd:"ur",uzb:"uz",ven:"ve",vie:"vi",vol:"vo",wel:"cy",wln:"wa",wol:"wo",xho:"xh",yid:"yi",yor:"yo",zha:"za",zho:"zh",zul:"zu"};dt.prototype.push=function(t,e){this.a.hasOwnProperty(t)?this.a[t].push(e):this.a[t]=[e]},dt.prototype.get=function(t){return(t=this.a[t])?t.slice():null},dt.prototype.keys=function(){var t,e=[];for(t in this.a)e.push(t);return e},mt.prototype.u=function(){return yt(this),this.a=null,Promise.resolve()},mt.prototype.ea=function(t,e){for(var i=this.a.get(e)||[],n=0;ne[0].indexOf("-->")&&(i=e[0],e.splice(0,1));var n=new qt(e[0]),r=Gt.a(n),s=Vt(n,/[ \t]+--\x3e[ \t]+/g),a=Gt.a(n);if(null==r||null==s||null==a)throw new x(2,2001);if(e=e.slice(1).join("\n"),t.VTTCue)for(r=new VTTCue(r,a,e),Vt(n,/[ \t]+/gm),a=Ht(n);a;){if(!Gt.c(r,a))throw new x(2,2002);Vt(n,/[ \t]+/gm),a=Ht(n)}else r=new TextTrackCue(r,a,e);return null!=i&&(r.id=i),r},Gt.c=function(t,e){var i=null;if(i=/^align:(start|middle|end)$/.exec(e))t.align=i[1];else if(i=/^vertical:(lr|rl)$/.exec(e))t.c=i[1];else if(i=/^size:(\d{1,2}|100)%$/.exec(e))t.size=Number(i[1]);else if(i=/^position:(\d{1,2}|100)%$/.exec(e))t.position=Number(i[1]);else if(i=/^line:(\d{1,2}|100)%$/.exec(e))t.b=!1,t.a=Number(i[1]);else{if(!(i=/^line:(-?\d+)$/.exec(e)))return!1;t.b=!0,t.a=Number(i[1])}return!0},Gt.a=function(t){if(t=Vt(t,/(?:(\d{2,}):)?(\d{2}):(\d{2})\.(\d{3})/g),null==t)return null;var e=Number(t[2]),i=Number(t[3]);return e>59||i>59?null:Number(t[4])/1e3+i+60*e+3600*(Number(t[1])||0)},_n["text/vtt"]=Gt,yn=Jt.prototype,yn.u=function(){this.b=!0,this.a.forEach(function(t){t.Aa.close()["catch"](Q)});var t=[];return this.f&&t.push(this.f.u()),this.l&&t.push(this.l.setMediaKeys(null)["catch"](Q)),this.m=[],this.f=this.l=this.g=null,this.a=[],this.i=this.c=this.B=null,Promise.all(t)},yn.configure=function(t){this.c=t},yn.init=function(t,e){var i={},n=[];return Qt(this,t,e,i,n),n.length?te(this,i,n):(this.o=!0,Promise.resolve())},yn.keySystem=function(){return this.h},yn.Wa=function(t){for(var e=new Uint8Array(t.initData),i=0;i=0&&e.splice(t,1)},Ei.prototype.unregisterRequestFilter=Ei.prototype.Cb,Ei.prototype.Oa=function(){this.b=[]},Ei.prototype.clearAllRequestFilters=Ei.prototype.Oa,Ei.prototype.kb=function(t){this.c.push(t)},Ei.prototype.registerResponseFilter=Ei.prototype.kb,Ei.prototype.Db=function(t){var e=this.c;t=e.indexOf(t),t>=0&&e.splice(t,1)},Ei.prototype.unregisterResponseFilter=Ei.prototype.Db,Ei.prototype.Pa=function(){this.c=[]},Ei.prototype.clearAllResponseFilters=Ei.prototype.Pa,Ei.prototype.u=function(){this.f=!0,this.b=[],this.c=[];for(var t=[],e=0;er;r++)u=u["catch"](this.i.bind(this,t,e,o,r%e.uris.length)),o*=a;return this.a.push(u),u.then(function(e){this.a.splice(this.a.indexOf(u),1);var n=Date.now();return this.h&&1==t&&this.h(i,n,e.data.byteLength),e}.bind(this))["catch"](function(t){return this.a.splice(this.a.indexOf(u),1),Promise.reject(t)}.bind(this))},Ei.prototype.request=Ei.prototype.request,Ei.prototype.g=function(t,e,i){if(this.f)return Promise.reject();var n=new Ve(e.uris[i]),r=n.I;return r||(r=location.protocol,r=r.slice(0,-1),He(n,r),e.uris[i]=n.toString()),(r=Kn[r])?r(e.uris[i],e).then(function(e){for(var i=this.c,n=0;n=0&&a>t?1:null},getSegmentReference:function(t){return 1!=t?null:new b(1,0,a,s,0,null)},initSegmentReference:null,presentationTimeOffset:0}}return n=Ne(n,"ContentProtection"),e=Fe(n,this.c.dash.customScheme,e),{id:this.v++,createSegmentIndex:r.createSegmentIndex,findSegmentPosition:r.findSegmentPosition,getSegmentReference:r.getSegmentReference,initSegmentReference:r.initSegmentReference,presentationTimeOffset:r.presentationTimeOffset,mimeType:t.j.mimeType,codecs:t.j.va,bandwidth:t.bandwidth,width:t.j.width,height:t.j.height,kind:i,keyId:e}},yn.xb=function(){this.f=null;var t=Date.now();_i(this).then(function(){this.b&&Mi(this,(Date.now()-t)/1e3)}.bind(this))["catch"](function(t){this.m(t),this.b&&Mi(this,0)}.bind(this))},yn.lb=function(t,e,i){return t=ki(t,this.c.retryParameters),null!=e&&(t.headers.Range="bytes="+e+"-"+(null!=i?i:"")),this.b.request(1,t).then(function(t){return t.data})},wn.mpd=Pi,vn["application/dash+xml"]=Pi,xi.prototype.u=function(){for(var t in this.b)an(this.b[t]);return this.l=this.b=this.i=this.g=this.G=this.B=this.m=this.v=this.P=this.O=this.a=this.R=this.c=this.h=null,this.f=!0,Promise.resolve()},xi.prototype.configure=function(t){this.l=t,this.h.l=Math.max(this.a.minBufferTime||0,this.l.rebufferingGoal)},xi.prototype.init=function(){var t=this.P(this.a.periods[tn(this,wt(this.h))]);return t&&0!=Object.keys(t).length?Bi(this,t).then(function(){this.B&&this.B()}.bind(this)):Promise.reject(new x(5,5005))},xi.prototype.$=function(t){if(!this.f&&!t.ba&&null!=t.T&&!t.U)if(t.T=null,t.J)rn(this,t);else{try{var e=Gi(this,t);null!=e&&sn(this,t,e)}catch(i){return void this.m(i)}e=lt(this.b),Tt(this.h,e.some(function(t){return t.ha})),Zi(this,t),e.every(function(t){return t.endOfStream})&&this.c.endOfStream()}},Kn.data=function(e){return new Promise(function(i){var n=e.split(":");if(2>n.length||"data"!=n[0])throw new x(1,1004,e);if(n=n.slice(1).join(":").split(","),2>n.length)throw new x(1,1004,e);var r=n[0],n=t.decodeURIComponent(n.slice(1).join(",")),r=r.split(";"),s=null;if(1e&&(e+=Math.pow(2,32)),e=e.toString(16)),this.ka(new x(3,3016,t,e))}}},yn.ub=function(){}}).call(r,this),"undefined"!=typeof t&&t.exports?t.exports=r.shaka:(n=function(){return r.shaka}.call(e,i,e,t),!(void 0!==n&&(t.exports=n)))}()},function(e,i){e.exports=t}])}); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("Clappr")):"function"==typeof define&&define.amd?define(["Clappr"],e):"object"==typeof exports?exports.DashShakaPlayback=e(require("Clappr")):t.DashShakaPlayback=e(t.Clappr)}(this,function(t){return function(t){function e(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i=720,this.trigger(u.Events.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinition),this.trigger(u.Events.PLAYBACK_BITRATE,{bandwidth:t.bandwidth,width:t.width,height:t.height,level:t.id})}},{key:"_destroy",value:function(){o(Object.getPrototypeOf(e.prototype),"destroy",this).call(this),this.isReadyState=!1,u.Log.debug("shaka was destroyed")}},{key:"_ready",value:function(){o(Object.getPrototypeOf(e.prototype),"ready",this).call(this)}},{key:"isReady",get:function(){return this.isReadyState}},{key:"textTracks",get:function(){return this._player.getTracks().filter(function(t){return"text"===t.type})}},{key:"audioTracks",get:function(){return this._player.getTracks().filter(function(t){return"audio"===t.type})}},{key:"videoTracks",get:function(){return this._player.getTracks().filter(function(t){return"video"===t.type})}}]),e}(u.HTML5Video);e["default"]=d,d.canPlay=function(t){var e=arguments.length<=1||void 0===arguments[1]?"":arguments[1];c["default"].polyfill.installAll(),c["default"].Player.support().then(function(t){d.support=t});var i=!!window.Promise&&!!window.Uint8Array&&!!Array.prototype.forEach,n=window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),r=i&&n,a=t.split("?")[0].match(/.*\.(.*)$/)||[];return r&&("mpd"===a[1]||e.indexOf("application/dash+xml")>-1)},t.exports=e["default"]},function(t,e,i){var n;!function(){var r={};(function(t){function e(t,e){var i=t.split("."),n=Tn;i[0]in n||!n.execScript||n.execScript("var "+i[0]);for(var r;i.length&&(r=i.shift());)i.length||void 0===e?n=n[r]?n[r]:n[r]={}:n[r]=e}function i(t){function e(){}var i=Mt;e.prototype=i.prototype,t.Ob=i.prototype,t.prototype=new e,t.prototype.constructor=t,t.Mb=function(t,e,n){return i.prototype[e].apply(t,Array.prototype.slice.call(arguments,2))}}function n(t){this.c=Math.exp(Math.log(.5)/t),this.a=this.b=0}function r(t,e,i){var n=Math.pow(t.c,e);t.b=i*(1-n)+n*t.b,t.a+=e}function a(t){return t.b/(1-Math.pow(t.c,t.a))}function s(){this.a=new n(3),this.c=new n(10),this.b=5e5}function o(t){return.5>t.a.a?t.b:Math.min(a(t.a),a(t.c))}function u(){this.h=null,this.c=!1,this.b=new s,this.g={},this.a={},this.i=!1,this.f=null}function h(t){var e,i={};if((e=t.g.audio)?(e=c(e),e=e[Math.floor(e.length/2)]):e=null,e&&(i.audio=e,t.a.audio=e),e=t.g.video){e=c(e);for(var n=t.a.audio,n=n&&n.bandwidth||0,r=o(t.b),a=e[0],s=0;s=(u.bandwidth+n)/.95&&h>=r&&(a=u))}e=a}else e=null;return e&&(i.video=e,t.a.video=e),t.f=Date.now(),i}function c(t){return t.streams.slice(0).filter(function(t){return t.allowedByApplication&&t.allowedByKeySystem}).sort(function(t,e){return t.bandwidth-e.bandwidth})}function l(){var t,e={basic:!0};for(t in Sn)e[t]=!0;for(t in En)e[t]=!0;return["application/dash+xml","application/x-mpegurl","application/vnd.apple.mpegurl","application/vnd.ms-sstr+xml"].forEach(function(t){e[t]=!!Sn[t]}),["mpd","m3u8","ism"].forEach(function(t){e[t]=!!En[t]}),e}function f(t){this.h=t,this.c=this.a=Number.POSITIVE_INFINITY,this.b=1,this.g=this.f=0}function d(t,e,i){0!=i.length&&(t.b=i.reduce(function(t,e){return Math.max(t,e.a-e.startTime)},t.b),0==e&&(t.f=Math.max(t.f,i[0].startTime)))}function p(t){return Math.max(Math.min(t.f,b(t)),m(t))}function m(t){return t.c==Number.POSITIVE_INFINITY?0:Math.max(0,b(t)-t.c)}function b(t){return null!=t.h&&t.aa()?Math.min(Math.max(0,(Date.now()+t.g)/1e3-t.b-t.h),t.a):t.a}function y(t,e,i){this.uris=t,this.c=e,this.b=i}function g(t,e,i,n,r,a){this.position=t,this.startTime=e,this.a=i,this.uris=n,this.c=r,this.b=a}function v(t,e){if(!t)return 0;for(var i=0;i=t.start(i)&&e2097151)throw new U(3,3001);return t.a+=8,i*Math.pow(2,32)+e}function H(t){t.a+16>t.b.byteLength&&G();var e=new Uint8Array(t.b.buffer,t.a,16);return t.a+=16,e}function Y(t,e){t.a+e>t.b.byteLength&&G(),t.a+=e}function G(){throw new U(3,3e3)}function z(t){this.b=t,this.a=new B(t),An||(An=[new Uint8Array([255]),new Uint8Array([127,255]),new Uint8Array([63,255,255]),new Uint8Array([31,255,255,255]),new Uint8Array([15,255,255,255,255]),new Uint8Array([7,255,255,255,255,255]),new Uint8Array([3,255,255,255,255,255,255]),new Uint8Array([1,255,255,255,255,255,255,255])])}function W(t){var e;if(e=$(t),7=e&&!(i&1<<8-e);e++);if(e>8)throw new U(3,3002);var n=new Uint8Array(e);for(n[0]=i,i=1;e>i;i++)n[i]=K(t.a);return n}function J(t,e){this.id=t,this.a=e}function X(t){if(8s.startTime||(.1e);++i);t.a.splice(0,i)}function ot(t,e){this.g=Mn[e],this.c=t,this.h=0,this.f=Number.POSITIVE_INFINITY,this.a=this.b=null}function ut(t,e,i,n){var r=t.h;return i+=r,n+=r,Promise.resolve().then(function(){for(var t=this.g(e),a=0;a=this.f));++a)this.c.addCue(t[a]);null==this.b&&(this.b=i),this.a=Math.min(n,this.f)}.bind(t))}function ht(t,e,i){return Promise.resolve().then(function(){lt(this,function(t){return!(t.startTime>=i||t.endTime<=e)}),null==this.b||i<=this.b||e>=this.a||(e<=this.b&&i>=this.a?this.b=this.a=null:e<=this.b&&ithis.b&&i>=this.a&&(this.a=e))}.bind(t))}function ct(t,e){return null==t.a||t.ai?0:i,!e.h&&0>i&&(e.f=t.setInterval(function(){this.a.currentTime+=i/4}.bind(e),250))}function _t(t,e){var i=t.c,n=p(i),r=b(i);return i.aa()&&i.c!=Number.POSITIVE_INFINITY?(i=n+1,n=i+t.i,e>=n&&r>=e||0!=v(t.a.buffered,e)&&e>=i&&r>=e?e:e>r?r:n>r&&e>=i&&r>=e?e:Math.min(n+2,r)):n>e?n:e>r?r:e}function At(t,e,i){t.a.currentTime=i;var n=0,r=function(){!this.a||10<=n++||this.a.currentTime!=e||(this.a.currentTime=i,setTimeout(r,100))}.bind(t);setTimeout(r,100)}function Nt(t,e){var i=p(t.c);return i>e?i:(i=b(t.c),e>i?i:e)}function Mt(){this.w=new bt}function Rt(){var t,e,i=new Promise(function(i,n){t=i,e=n});return i.resolve=t,i.reject=e,i}function Ot(t,e,i){this.i=t,this.f=e,this.l=i,this.c={},this.b=null,this.a={},this.g=new gt,this.h=!1}function xt(){var e={basic:!!t.MediaSource},i=navigator.vendor,n=navigator.appVersion;return i&&0<=i.indexOf("Apple")&&n&&0<=n.indexOf("Version/8")&&(e.basic=!1),e.basic&&'video/mp4; codecs="avc1.42E01E",audio/mp4; codecs="mp4a.40.2",video/webm; codecs="vp8",video/webm; codecs="vp9",audio/webm; codecs="vorbis",audio/webm; codecs="opus",video/mp2t; codecs="avc1.42E01E",video/mp2t; codecs="mp4a.40.2",text/vtt,application/mp4; codecs="wvtt",application/ttml+xml,application/mp4; codecs="stpp"'.split(",").forEach(function(t){e[t]=!!Mn[t]||MediaSource.isTypeSupported(t);var i=t.split(";")[0];e[i]=e[i]||e[t]}),e}function Dt(t,e){var i;return i="text"==e?t.b.b:(i=t.c[e].buffered)&&i.length?i.start(0):null}function Ct(t,e,i){return"text"==e?(e=ct(t.b,i),e||(e=ct(t.b,i+.1))&&(e+=.1)):(t=t.c[e].buffered,e=v(t,i),e||(e=v(t,i+.1))&&(e+=.1)),e}function Lt(t,e,i,n,r){return"text"==e?ut(t.b,i,n,r):Kt(t,e,t.Fb.bind(t,e,i))}function jt(t,e,i,n){return"text"==e?ht(t.b,i,n):Kt(t,e,t.La.bind(t,e,i,n))}function Ut(t,e,i){return"text"==e?(t.b.h=i,Promise.resolve()):Kt(t,e,t.yb.bind(t,e,i))}function Bt(t,e,i){return"text"==e?(t.b.f=i,Promise.resolve()):Kt(t,e,t.wb.bind(t,e,i))}function Ft(t,e){Vt(t,function(){this.f.duration=e}.bind(t))}function Kt(t,e,i){if(t.h)return Promise.reject();if(i={start:i,p:new Rt},t.a[e].push(i),1==t.a[e].length)try{i.start()}catch(n){i.p.reject(new U(3,3015,n)),qt(t,e)}return i.p}function Vt(t,e){if(t.h)return Promise.reject();var i,n=[];for(i in t.c){var r=new Rt,a={start:function(t){t.resolve()}.bind(null,r),p:r};t.a[i].push(a),n.push(r),1==t.a[i].length&&a.start()}return Promise.all(n).then(function(){var t,i;try{e()}catch(n){i=Promise.reject(new U(3,3015,n))}for(t in this.c)qt(this,t);return i}.bind(t),function(){return Promise.reject()}.bind(t))}function qt(t,e){t.a[e].shift();var i=t.a[e][0];if(i)try{i.start()}catch(n){i.p.reject(new U(3,3015,n)),qt(t,e)}}function Ht(t){if(!t)return"";t=Wt(new Uint8Array(t)),t=escape(t);try{return decodeURIComponent(t)}catch(e){throw new U(2,2004)}}function Yt(t,e){if(!t)return"";if(0!=t.byteLength%2)throw new U(2,2004);var i;if(t instanceof ArrayBuffer)i=t;else{var n=new Uint8Array(t.byteLength);n.set(new Uint8Array(t)),i=n.buffer}var n=t.byteLength/2,r=new Uint16Array(n);i=new DataView(i);for(var a=0;n>a;a++)r[a]=i.getUint16(2*a,e);return Wt(r)}function Gt(t){var e=new Uint8Array(t);if(239==e[0]&&187==e[1]&&191==e[2])return Ht(e.subarray(3));if(254==e[0]&&255==e[1])return Yt(e.subarray(2),!1);if(255==e[0]&&254==e[1])return Yt(e.subarray(2),!0);var i=function(t,e){return t.byteLength<=e||32<=t[e]&&126>=t[e]}.bind(null,e);if(0==e[0]&&0==e[2])return Yt(t,!1);if(0==e[1]&&0==e[3])return Yt(t,!0);if(i(0)&&i(1)&&i(2)&&i(3))return Ht(t);throw new U(2,2003)}function zt(t){t=unescape(encodeURIComponent(t));for(var e=new Uint8Array(t.length),i=0;i1)Y(t,i-(t.a-e));else{Y(t,3);var n=ie(H(t)),a=[];if(r>0)for(var r=V(t),s=0;r>s;++s){var o=ie(H(t));a.push(o)}r=V(t),Y(t,r),this.cencKeyIds.push.apply(this.cencKeyIds,a),this.systemIds.push(n),this.a.push({start:e,end:t.a-1}),t.a!=e+i&&Y(t,i-(t.a-e))}}}}function ke(t,e){try{var i=new Pe(t,e);return Promise.resolve(i)}catch(n){return Promise.reject(n)}}function Pe(t,e){this.keySystem=t;for(var i=!1,n=0;n=i.a.length)){for(var n=[],r=0;r0?t:null}function He(t){return t=Number(t),0===t%1&&t>=0?t:null}function Ye(t,e){var i=$e(t),n=null,r=i.filter(function(t){return"urn:mpeg:dash:mp4protection:2011"==t.Ma?(n=t.init||n,!1):!0}),a=i.map(function(t){return t.keyId}).filter(it),s=null;if(0e)throw Error("Bad port number "+e);t.ca=e}else t.ca=null}function Qe(t){return t.H}function ti(t,e,i){e instanceof ri?t.a=e:(i||(e=ii(e,Bn)),t.a=new ri(e))}function ei(t,e){return t?e?decodeURI(t):decodeURIComponent(t):""}function ii(t,e,i){return"string"==typeof t?(t=encodeURI(t).replace(e,ni),i&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function ni(t){return t=t.charCodeAt(0),"%"+(t>>4&15).toString(16)+(15&t).toString(16)}function ri(t){this.b=t||null}function ai(t){var e=new ri;if(e.b=t.b,t.a){var i,n={};for(i in t.a)n[i]=t.a[i].concat();e.a=n,e.c=t.c}return e}function si(e,i,n,r,a){null!==a&&(a=Math.round(a));var s={RepresentationID:i,Number:n,Bandwidth:r,Time:a};return e.replace(/\$(RepresentationID|Number|Bandwidth|Time)?(?:%0([0-9]+)d)?\$/g,function(e,i,n){if("$$"==e)return"$";var r=s[i];return null==r?e:("RepresentationID"==i&&n&&(n=void 0),e=r.toString(),n=t.parseInt(n,10)||1,Array(Math.max(0,n-e.length)+1).join("0")+e)})}function oi(t,e){if(0!=e.length){var i=e[0];i.startTime<=Kn&&(e[0]=new g(i.position,0,i.a,i.uris,i.c,i.b)),null!=t&&t!=Number.POSITIVE_INFINITY&&(i=e[e.length-1],i.startTime>t||(e[e.length-1]=new g(i.position,i.startTime,t,i.uris,i.c,i.b)))}}function ui(t,e){if(0==e.length)return t;var i=e.map(function(t){return new Je(t)});return t.map(function(t){return new Je(t)}).map(function(t){return i.map(t.resolve.bind(t))}).reduce(tt,[]).map(function(t){return t.toString()})}function hi(t,e){var i=ci(t,e,"timescale"),n=1;i&&(n=qe(i)||1),i=ci(t,e,"duration"),(i=qe(i||""))&&(i/=n);var r=ci(t,e,"startNumber"),a=ci(t,e,"presentationTimeOffset"),s=He(r||"");null!=r&&null!=s||(s=1);var o=li(t,e,"SegmentTimeline"),r=null;if(o){for(var r=n,u=Number(a),h=t.C.duration||Number.POSITIVE_INFINITY,o=Le(o,"S"),c=[],l=0,f=0;fd)if(f+1=d)break;d=Math.ceil((d-p)/m)-1}else{if(h==Number.POSITIVE_INFINITY)break;if(p/r>=h)break;d=Math.ceil((h*r-p)/m)-1}0=b;++b)l=p+m,c.push({start:p/r,end:l/r}),p=l}r=c}return{qa:n,L:i,ja:s,presentationTimeOffset:Number(a)/n||0,I:r}}function ci(t,e,i){return[e(t.j),e(t.v),e(t.B)].filter(it).map(function(t){return t.getAttribute(i)}).reduce(function(t,e){return t||e})}function li(t,e,i){return[e(t.j),e(t.v),e(t.B)].filter(it).map(function(t){return Ce(t,i)}).reduce(function(t,e){return t||e})}function fi(t,e){var i=li(t,e,"Initialization");if(!i)return null;var n=t.j.G,r=i.getAttribute("sourceURL");r&&(n=ui(t.j.G,[r]));var r=0,a=null;return(i=Ue(i,"range",Ke))&&(r=i.start,a=i.end),new y(n,r,a)}function di(t,e){var i,n=ci(t,mi,"presentationTimeOffset"),r=fi(t,mi);i=Number(n);var a=t.j.mimeType.split("/")[1];if("text"!=t.j.contentType&&"mp4"!=a&&"webm"!=a)throw new U(4,4006);if("webm"==a&&!r)throw new U(4,4005);var s=li(t,mi,"RepresentationIndex"),o=ci(t,mi,"indexRange"),u=t.j.G,o=Ke(o||"");if(s){var h=s.getAttribute("sourceURL");h&&(u=ui(t.j.G,[h])),o=Ue(s,"range",Ke,o)}if(!o)throw new U(4,4002);return i=pi(t,e,r,u,o.start,o.end,a,i),{createSegmentIndex:i.createSegmentIndex,findSegmentPosition:i.findSegmentPosition,getSegmentReference:i.getSegmentReference,initSegmentReference:r,presentationTimeOffset:Number(n)||0}}function pi(t,e,i,n,r,a,s,o){var u=t.presentationTimeline,h=t.C.start,c=t.C.duration,l=e,f=null;return{createSegmentIndex:function(){var t=[l(n,r,a),"webm"==s?l(i.uris,i.c,i.b):null];return l=null,Promise.all(t).then(function(t){var e,i,a,l=t[0];t=t[1]||null;var p=null;if("mp4"==s){t=[];var p=new B(new DataView(l)),m=V(p);if(1936286840!=V(p))throw new U(3,3004);if(1==m&&(m=q(p)),l=K(p),Y(p,3),Y(p,4),e=V(p),0==e)throw new U(3,3005);var b;0==l?(i=V(p),b=V(p)):(i=q(p),b=q(p)),Y(p,2);try{var y=p.b.getUint16(p.a,p.c)}catch(v){G()}for(p.a+=2,l=y,y=i-o,m=r+m+b,b=0;l>b;b++){a=V(p),i=(2147483648&a)>>>31,a&=2147483647;var w=V(p);if(Y(p,4),1==i)throw new U(3,3006);t.push(new g(t.length,y/e,(y+w)/e,n,m,m+a-1)),y+=w,m+=a}p=t}else{if(t=new z(new DataView(t)),440786851!=W(t).id)throw new U(3,3008);if(p=W(t),408125543!=p.id)throw new U(3,3009);for(t=p.a.byteOffset,p=new z(p.a),e=null;F(p.a);)if(y=W(p),357149030==y.id){e=y;break}if(!e)throw new U(3,3010);for(p=new z(e.a),e=1e6,y=null;F(p.a);)if(m=W(p),2807729==m.id)e=X(m);else if(17545==m.id)if(y=m,4==y.a.byteLength)y=y.a.getFloat32(0);else{if(8!=y.a.byteLength)throw new U(3,3003);y=y.a.getFloat64(0)}if(null==y)throw new U(3,3011);if(p=e/1e9,e=y*p,y=W(new z(new DataView(l))),475249515!=y.id)throw new U(3,3007);for(l=[],y=new z(y.a),b=m=-1;F(y.a);)if(i=W(y),187==i.id){if(a=new z(i.a),i=W(a),179!=i.id)throw new U(3,3013);if(i=X(i),a=W(a),183!=a.id)throw new U(3,3012);for(w=new z(a.a),a=0;F(w.a);){var T=W(w);if(241==T.id){a=X(T);break}}i=p*(i-o),a=t+a,m>=0&&l.push(new g(l.length,m,i,n,b,a-1)),m=i,b=a}m>=0&&l.push(new g(l.length,m,e,n,b,null)),p=l}oi(c,p),d(u,h,p),f=new rt(p)})},findSegmentPosition:function(t){return f.b(t)},getSegmentReference:function(t){return f.get(t)}}}function mi(t){return t.ha}function bi(t,e){var i,n,r,a,s,o=fi(t,yi),u=gi(t);if(s=hi(t,yi),r=s.ja,0===r&&(r=1),a=0,s.L?a=s.L*(r-1)-s.presentationTimeOffset:s.I&&0n;n++){var v,w=u[n],T=ui(f,[w.Xa]);v=null!=i?y+i:s?s[n].end:y+l,b.push(new g(n+r,y,v,T,w.start,w.end)),y=v}return oi(t.C.duration,b),h?(at(h,b),st(h,m(t.presentationTimeline))):(d(t.presentationTimeline,t.C.start,b),h=new rt(b),c&&(e[c]=h)),{createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:h.b.bind(h),getSegmentReference:h.get.bind(h),initSegmentReference:o,presentationTimeOffset:a}}function yi(t){return t.S}function gi(t){return[t.j.S,t.v.S,t.B.S].filter(it).map(function(t){return Le(t,"SegmentURL")}).reduce(function(t,e){return 0t||i&&t>=i?null:Math.floor(t/n)},getSegmentReference:function(t){var e=t*n,i=si(s,u,t+r,o,e*a),i=ui(h,[i]);return new g(t,e,e+n,i,0,null)}}}function Si(t){this.f=!1,this.a=[],this.b=[],this.c=[],this.h=t||null}function Ei(){return{maxAttempts:1,baseDelay:1e3,backoffFactor:2,fuzzFactor:.5,timeout:0}}function Ii(t,e){return{uris:t,method:"GET",body:null,headers:{},allowCrossSiteCredentials:!1,retryParameters:e}}function ki(){this.m=this.l=this.c=this.a=null,this.g=[],this.b=null,this.h=[],this.u=1,this.i={},this.o=0,this.f=null}function Pi(t){return t.a.request(0,Ii(t.g,t.c.retryParameters)).then(function(t){return this.a?_i(this,t.data,t.uri):void 0}.bind(t))}function _i(t,e,i){var n=Gt(e),r=new DOMParser,a=null;e=null;try{a=r.parseFromString(n,"text/xml")}catch(s){}if(a&&"MPD"==a.documentElement.tagName&&(e=a.documentElement),!e)throw new U(4,4001);i=[i],n=Le(e,"Location").map(je).filter(it),0e.o||(e.f=t.setTimeout(e.Eb.bind(e),1e3*Math.max(Math.max(3,e.o)-i,0)))}function Mi(t,e,i){e=e||{contentType:"",mimeType:"",ua:""},i=i||e.G;var n=Le(t,"BaseURL").map(je);return{G:ui(i,n),ha:Ce(t,"SegmentBase")||e.ha,S:Ce(t,"SegmentList")||e.S,ia:Ce(t,"SegmentTemplate")||e.ia,width:Ue(t,"width",He)||e.width,height:Ue(t,"height",He)||e.height,contentType:t.getAttribute("contentType")||e.contentType,mimeType:t.getAttribute("mimeType")||e.mimeType,ua:t.getAttribute("codecs")||e.ua,id:t.getAttribute("id")}}function Ri(t){var e={};t.forEach(function(t){e[t.id]=[t]}),t.forEach(function(t){var i=e[t.id];t.Hb.forEach(function(t){(t=e[t])&&t!=i&&(i.push.apply(i,t),t.forEach(function(t){e[t.id]=i}))})});var i=[],n=[];return dt(e).forEach(function(t){if(!(0<=n.indexOf(t))){n.push(t);var e=new bt;t.forEach(function(t){e.push(t.contentType||"",t)}),e.keys().forEach(function(t){var n=new bt;e.get(t).forEach(function(t){n.push(t.language,t)}),n.keys().forEach(function(e){var r=n.get(e);e={language:e,type:t,primary:r.some(function(t){return t.Wa}),drmInfos:r.map(function(t){return t.drmInfos}).reduce(tt,[]),streams:r.map(function(t){return t.streams}).reduce(tt,[])},i.push(e)})})}}),i}function Oi(t){var e;if(e=0+(t.ha?1:0),e+=t.S?1:0,e+=t.ia?1:0,0==e)throw new U(4,4002);1!=e&&(t.ha&&(t.S=null),t.ia=null)}function xi(t,e,i){return e=Ii([e],t.c.retryParameters),e.method=i,t.a.request(0,e).then(function(t){if("HEAD"==i){if(!t.headers||!t.headers.date)return 0;t=t.headers.date}else t=Gt(t.data);return t=Date.parse(t),isNaN(t)?0:t-Date.now()})}function Di(t,e,i){e=e.map(function(t){return{scheme:t.getAttribute("schemeIdUri"),value:t.getAttribute("value")}});var n=t.c.dash.clockSyncUri;return i&&!e.length&&n&&e.push({scheme:"urn:mpeg:dash:utc:http-head:2014",value:n}),Q(e,function(t){var e=t.value;switch(t.scheme){case"urn:mpeg:dash:utc:http-head:2014":case"urn:mpeg:dash:utc:http-head:2012":return xi(this,e,"HEAD");case"urn:mpeg:dash:utc:http-xsdate:2014":case"urn:mpeg:dash:utc:http-iso:2014":case"urn:mpeg:dash:utc:http-xsdate:2012":case"urn:mpeg:dash:utc:http-iso:2012":return xi(this,e,"GET");case"urn:mpeg:dash:utc:direct:2014":case"urn:mpeg:dash:utc:direct:2012":return t=Date.parse(e),isNaN(t)?0:t-Date.now();case"urn:mpeg:dash:utc:http-ntp:2014":case"urn:mpeg:dash:utc:ntp:2014":case"urn:mpeg:dash:utc:sntp:2014":return Promise.reject();default:return Promise.reject()}}.bind(t))["catch"](function(){return 0})}function Ci(t,e,i,n,r,a,s,o,u){this.h=t,this.c=e,this.R=i,this.a=n,this.O=r,this.u=a,this.m=s,this.w=o||null,this.A=u||null,this.l=null,this.F=Promise.resolve(),this.g=[],this.i={},this.b={},this.f=this.o=!1}function Li(t){return t.a.periods[Qi(t,Et(t.h))]}function ji(t){return pt(t.b,function(t){return t.stream})}function Ui(t,e){var i={};return i.text=e,Fi(t,i)}function Bi(t,e,i,n){if(e=t.b[e]){var r=t.g[tn(t,i)];r&&r.da&&(r=t.i[i.id])&&r.da&&e.stream!=i&&(e.stream=i,e.ya=!0,!n||e.P||e.U||(e.ba?e.P=!0:(an(e),nn(t,e))))}}function Fi(t,e){var i=Qi(t,Et(t.h)),n=pt(e,function(t){return t.mimeType+(t.codecs?'; codecs="'+t.codecs+'"':"")});return t.c.init(n),qi(t),n=dt(e),Vi(t,n).then(function(){for(var t in e){var n=e[t];this.b[t]||(this.b[t]={stream:n,type:t,W:null,J:null,ya:!0,ga:!1,oa:i,endOfStream:!1,ba:!1,T:null,P:!1,U:!1},rn(this,this.b[t],0))}}.bind(t))}function Ki(t,e){var i=t.g[e];if(i)return i.D;i={D:new Rt,da:!1},t.g[e]=i;var n=t.a.periods[e].streamSets.map(function(t){return t.streams}).reduce(tt,[]);return t.F=t.F.then(function(){return this.f?void 0:Vi(this,n)}.bind(t)).then(function(){this.f||(this.g[e].D.resolve(),this.g[e].da=!0)}.bind(t))["catch"](function(t){this.f||(this.g[e].D.reject(),delete this.g[e],this.m(t))}.bind(t)),i.D}function Vi(t,e){for(var i=[],n=0;n=Math.max(r,t.l.bufferingGoal))return e.ga=!1,.5;var a=t.c,s=e.type;if(a="text"==s?a.b.a:(a=a.c[s].buffered)&&a.length?a.end(a.length-1):null,0==n&&null==a){if(null!=e.W||e.J)throw new U(5,5e3,e.type);a=i}else{if(null==e.W||null==e.J)throw new U(5,5e3,e.type);a=t.a.periods[tn(t,e.W)].startTime+e.J.a}return a>=t.a.presentationTimeline.a?(e.ga=!1,e.endOfStream=!0,null):(e.endOfStream=!1,!t.o&&r>n||1>=n?e.ga=!0:n>=r&&(e.ga=!1),n=tn(t,e.stream),r=Qi(t,a),r!=n?(e.oa=r,null):(e.J&&e.stream==e.W?(r=e.J.position+1,r=Yi(t,e,n,r)):(r=e.J?e.stream.findSegmentPosition(Math.max(0,t.a.periods[tn(t,e.W)].startTime+e.J.a-t.a.periods[n].startTime)):e.stream.findSegmentPosition(Math.max(0,i-t.a.periods[n].startTime)),r=null==r?null:Yi(t,e,n,Math.max(0,r-1))||Yi(t,e,n,r)),r?(Gi(t,e,i,n,r),null):1))}function Yi(t,e,i,n){return i=t.a.periods[i],(e=e.stream.getSegmentReference(n))?(t=t.a.presentationTimeline,n=b(t),i.startTime+e.an?null:e):null}function Gi(t,e,i,n,r){var a=e.stream,s=t.a.periods[n+1],o=null,o=s?s.startTime:t.a.presentationTimeline.a;n=zi(t,e,n,o),e.ba=!0,e.ya=!1,s=en(t,r),Promise.all([n,s]).then(function(t){return this.f?void 0:Wi(this,e,i,a,r,t[1])}.bind(t)).then(function(){e.ba=!1,rn(this,e,0),this.f||Ji(this,a)}.bind(t))["catch"](function(t){this.f||this.m(t)}.bind(t))}function zi(t,e,i,n){return e.ya?(i=Ut(t.c,e.type,t.a.periods[i].startTime-e.stream.presentationTimeOffset),n=null!=n?Bt(t.c,e.type,n):Promise.resolve(),e.stream.initSegmentReference?(t=en(t,e.stream.initSegmentReference).then(function(t){return this.f?void 0:Lt(this.c,e.type,t,null,null)}.bind(t)),Promise.all([i,n,t])):Promise.all([i,n])):Promise.resolve()}function Wi(t,e,i,n,r,a){return $i(t,e,i).then(function(){return this.f?void 0:Lt(this.c,e.type,a,r.startTime,r.a)}.bind(t)).then(function(){return this.f?void 0:(e.W=n,e.J=r,Promise.resolve())}.bind(t))}function $i(t,e,i){var n=Dt(t.c,e.type);return null==n?Promise.resolve():(i=i-n-t.l.bufferBehind,0>=i?Promise.resolve():jt(t.c,e.type,n,n+i).then(function(){}.bind(t)))}function Ji(t,e){if(!t.o&&(t.o=dt(t.b).every(function(t){return!t.P&&!t.U&&t.J}),t.o)){var i=tn(t,e);for(t.g[i]||Ki(t,i).then(function(){this.u()}.bind(t))["catch"](et),i=0;i0;--i)if(e>=t.a.periods[i].startTime)return i;return 0}function tn(t,e){for(var i=0;i=e.status){var r=e.getAllResponseHeaders().split("\r\n").reduce(function(t,e){var i=e.split(": ");return t[i[0].toLowerCase()]=i.slice(1).join(": "),t},{});e.sb&&(t=e.sb),i({uri:t,data:e.response,headers:r})}else{r=null;try{r=Gt(e.response)}catch(a){}n(new U(1,1001,t,e.status,r))}},r.onerror=function(){n(new U(1,1002,t))},r.ontimeout=function(){n(new U(1,1003,t))};for(var a in e.headers)r.setRequestHeader(a,e.headers[a]);r.send(e.body)})}function on(t){for(this.w=new bt,this.c=t,this.i=null,this.u=new gt,this.Ea=new u,this.m=new Si(this.Db.bind(this)),this.f=this.o=this.b=this.h=this.la=this.O=this.A=this.g=null,this.Oa=1e9,this.sa=!1,this.F=!0,this.na=!1,this.l={},this.a=dn(this),this.R=[],this.ka=this.$=this.ma=0,this.la=un(this),t=0;t=1&&a==r.split("-")[0]||t>=2&&a.split("-")[0]==r.split("-")[0])&&(n[e.type]=!0,i[e.type]=e)}}}.bind(this))}.bind(t)),dt(i).some(ln)||t.ea(new U(4,4012));var r=t.a.abr.manager.chooseStreams(i);return i.text&&(r.text=i.text.streams[0],i.audio&&n.text&&i.text.language!=i.audio.language&&(t.i.mode="showing",vn(t))),r}function yn(t){Promise.resolve().then(function(){this.c&&this.dispatchEvent(new Z("adaptation"))}.bind(t))}function gn(t){Promise.resolve().then(function(){this.c&&this.dispatchEvent(new Z("trackschanged"))}.bind(t))}function vn(t){t.dispatchEvent(new Z("texttrackvisibility"))}var wn,Tn=this;Tn.Lb=!0,e("shaka.abr.SimpleAbrManager",u),wn=u.prototype,wn.stop=function(){this.h=null,this.c=!1,this.g={},this.a={},this.f=null},wn.init=function(t){this.h=t},wn.chooseStreams=function(t){return this.g=t,this.a={},h(this)},wn.enable=function(){this.c=!0},wn.disable=function(){this.c=!1},wn.segmentDownloaded=function(t,e,i){var n=this.b;if(t=e-t,65536>i||200>t||(t=Math.max(t,50),i=8e3*i/t,t/=1e3,r(n.a,t,i),r(n.c,t,i)),null!=this.f&&this.c)t:{if(n=Date.now()-this.f,this.i){if(8e3>n)break t}else{if(4e3>n)break t;this.i=!0}n=this.a.audio,i=this.a.video,t=h(this),t.audio==n&&t.video==i||this.h(t)}},wn.getBandwidthEstimate=function(){return o(this.b)},wn.setDefaultEstimate=function(t){this.b.b=t};var Sn={},En={};e("shaka.media.ManifestParser.registerParserByExtension",function(t,e){En[t]=e}),e("shaka.media.ManifestParser.registerParserByMime",function(t,e){Sn[t]=e}),e("shaka.media.PresentationTimeline",f),f.prototype.aa=function(){return this.a==Number.POSITIVE_INFINITY||this.c=0;--e){var i=this.a[e];if(t>=i.startTime&&tt||t>=this.a.length?null:this.a[t])};var Mn={};e("shaka.media.TextEngine.registerParser",function(t,e){Mn[t]=e}),e("shaka.media.TextEngine.unregisterParser",function(t){delete Mn[t]}),ot.prototype.s=function(){return this.c&<(this,function(){return!0}),this.c=this.g=null,Promise.resolve()};var Rn={aar:"aa",abk:"ab",afr:"af",aka:"ak",alb:"sq",amh:"am",ara:"ar",arg:"an",arm:"hy",asm:"as",ava:"av",ave:"ae",aym:"ay",aze:"az",bak:"ba",bam:"bm",baq:"eu",bel:"be",ben:"bn",bih:"bh",bis:"bi",bod:"bo",bos:"bs",bre:"br",bul:"bg",bur:"my",cat:"ca",ces:"cs",cha:"ch",che:"ce",chi:"zh",chu:"cu",chv:"cv",cor:"kw",cos:"co",cre:"cr",cym:"cy",cze:"cs",dan:"da",deu:"de",div:"dv",dut:"nl",dzo:"dz", +ell:"el",eng:"en",epo:"eo",est:"et",eus:"eu",ewe:"ee",fao:"fo",fas:"fa",fij:"fj",fin:"fi",fra:"fr",fre:"fr",fry:"fy",ful:"ff",geo:"ka",ger:"de",gla:"gd",gle:"ga",glg:"gl",glv:"gv",gre:"el",grn:"gn",guj:"gu",hat:"ht",hau:"ha",heb:"he",her:"hz",hin:"hi",hmo:"ho",hrv:"hr",hun:"hu",hye:"hy",ibo:"ig",ice:"is",ido:"io",iii:"ii",iku:"iu",ile:"ie",ina:"ia",ind:"id",ipk:"ik",isl:"is",ita:"it",jav:"jv",jpn:"ja",kal:"kl",kan:"kn",kas:"ks",kat:"ka",kau:"kr",kaz:"kk",khm:"km",kik:"ki",kin:"rw",kir:"ky",kom:"kv",kon:"kg",kor:"ko",kua:"kj",kur:"ku",lao:"lo",lat:"la",lav:"lv",lim:"li",lin:"ln",lit:"lt",ltz:"lb",lub:"lu",lug:"lg",mac:"mk",mah:"mh",mal:"ml",mao:"mi",mar:"mr",may:"ms",mkd:"mk",mlg:"mg",mlt:"mt",mon:"mn",mri:"mi",msa:"ms",mya:"my",nau:"na",nav:"nv",nbl:"nr",nde:"nd",ndo:"ng",nep:"ne",nld:"nl",nno:"nn",nob:"nb",nor:"no",nya:"ny",oci:"oc",oji:"oj",ori:"or",orm:"om",oss:"os",pan:"pa",per:"fa",pli:"pi",pol:"pl",por:"pt",pus:"ps",que:"qu",roh:"rm",ron:"ro",rum:"ro",run:"rn",rus:"ru",sag:"sg",san:"sa",sin:"si",slk:"sk",slo:"sk",slv:"sl",sme:"se",smo:"sm",sna:"sn",snd:"sd",som:"so",sot:"st",spa:"es",sqi:"sq",srd:"sc",srp:"sr",ssw:"ss",sun:"su",swa:"sw",swe:"sv",tah:"ty",tam:"ta",tat:"tt",tel:"te",tgk:"tg",tgl:"tl",tha:"th",tib:"bo",tir:"ti",ton:"to",tsn:"tn",tso:"ts",tuk:"tk",tur:"tr",twi:"tw",uig:"ug",ukr:"uk",urd:"ur",uzb:"uz",ven:"ve",vie:"vi",vol:"vo",wel:"cy",wln:"wa",wol:"wo",xho:"xh",yid:"yi",yor:"yo",zha:"za",zho:"zh",zul:"zu"};bt.prototype.push=function(t,e){this.a.hasOwnProperty(t)?this.a[t].push(e):this.a[t]=[e]},bt.prototype.get=function(t){return(t=this.a[t])?t.slice():null},bt.prototype.keys=function(){var t,e=[];for(t in this.a)e.push(t);return e},bt.prototype.clear=function(){this.a={}},gt.prototype.s=function(){return wt(this),this.a=null,Promise.resolve()},gt.prototype.Y=function(t,e){for(var i=this.a.get(e)||[],n=0;nthis.g?0:this.g)&&Pt(this,this.a.playbackRate)},wn.Ia=function(){this.b.Y(this.a,"loadedmetadata");var t=It(this);this.a.currentTime.toFixed(3)==t.toFixed(3)?(vt(this.b,this.a,"seeking",this.Ka.bind(this)),vt(this.b,this.a,"playing",this.Ja.bind(this))):(vt(this.b,this.a,"seeking",this.eb.bind(this)),this.a.currentTime=t)},wn.eb=function(){this.b.Y(this.a,"seeking"),vt(this.b,this.a,"seeking",this.Ka.bind(this)),vt(this.b,this.a,"playing",this.Ja.bind(this))},wn.Ka=function(){var t=this.a.currentTime,e=_t(this,t);e!=t?At(this,t,e):this.m()},wn.Ja=function(){var t=this.a.currentTime,e=_t(this,t);e!=t&&At(this,t,e)},Mt.prototype.addEventListener=function(t,e){this.w.push(t,e)},Mt.prototype.removeEventListener=function(t,e){yt(this.w,t,e)},Mt.prototype.dispatchEvent=function(t){for(var e=this.w.get(t.type)||[],i=0;ie[0].indexOf("-->")&&(i=e[0],e.splice(0,1));var n=new $t(e[0]),r=Zt.a(n),a=Jt(n,/[ \t]+--\x3e[ \t]+/g),s=Zt.a(n);if(null==r||null==a||null==s)throw new U(2,2001);if(e=e.slice(1).join("\n"),t.VTTCue)for(r=new VTTCue(r,s,e),Jt(n,/[ \t]+/gm),s=Xt(n);s;){if(!Zt.c(r,s))throw new U(2,2002);Jt(n,/[ \t]+/gm),s=Xt(n)}else r=new TextTrackCue(r,s,e);return null!=i&&(r.id=i),r},Zt.c=function(t,e){var i=null;if(i=/^align:(start|middle|end)$/.exec(e))t.align=i[1];else if(i=/^vertical:(lr|rl)$/.exec(e))t.c=i[1];else if(i=/^size:(\d{1,2}|100)%$/.exec(e))t.size=Number(i[1]);else if(i=/^position:(\d{1,2}|100)%$/.exec(e))t.position=Number(i[1]);else if(i=/^line:(\d{1,2}|100)%$/.exec(e))t.b=!1,t.a=Number(i[1]);else{if(!(i=/^line:(-?\d+)$/.exec(e)))return!1;t.b=!0,t.a=Number(i[1])}return!0},Zt.a=function(t){if(t=Jt(t,/(?:(\d{2,}):)?(\d{2}):(\d{2})\.(\d{3})/g),null==t)return null;var e=Number(t[2]),i=Number(t[3]);return e>59||i>59?null:Number(t[4])/1e3+i+60*e+3600*(Number(t[1])||0)},Mn["text/vtt"]=Zt,wn=re.prototype,wn.s=function(){this.b=!0,this.a.forEach(function(t){t.pa.close()["catch"](et)});var t=[];return this.c&&t.push(this.c.s()),this.h&&t.push(this.h.setMediaKeys(null)["catch"](et)),this.o=[],this.c=this.h=this.i=this.m=null,this.a=[],this.g=this.f=this.A=null,Promise.all(t)},wn.configure=function(t){this.f=t},wn.init=function(t,e){var i={},n=[];return se(this,t,e,i,n),n.length?oe(this,i,n):(this.u=!0,Promise.resolve())},wn.keySystem=function(){return this.l},wn.hb=function(){this.a.some(function(t){return!t.loaded})||this.g(new U(6,6011))},wn.Ya=function(t){for(var e=new Uint8Array(t.initData),i=0;i=0&&e.splice(t,1)},Si.prototype.unregisterRequestFilter=Si.prototype.Jb,Si.prototype.Ra=function(){this.b=[]},Si.prototype.clearAllRequestFilters=Si.prototype.Ra,Si.prototype.pb=function(t){this.c.push(t)},Si.prototype.registerResponseFilter=Si.prototype.pb,Si.prototype.Kb=function(t){var e=this.c;t=e.indexOf(t),t>=0&&e.splice(t,1)},Si.prototype.unregisterResponseFilter=Si.prototype.Kb,Si.prototype.Sa=function(){this.c=[]},Si.prototype.clearAllResponseFilters=Si.prototype.Sa,Si.prototype.s=function(){this.f=!0,this.b=[],this.c=[];for(var t=[],e=0;er;r++)u=u["catch"](this.i.bind(this,t,e,o,r%e.uris.length)),o*=s;return this.a.push(u),u.then(function(e){this.a.splice(this.a.indexOf(u),1);var n=Date.now();return this.h&&1==t&&this.h(i,n,e.data.byteLength),e}.bind(this))["catch"](function(t){return this.a.splice(this.a.indexOf(u),1),Promise.reject(t)}.bind(this))},Si.prototype.request=Si.prototype.request,Si.prototype.g=function(t,e,i){if(this.f)return Promise.reject();var n=new Je(e.uris[i]),r=n.K;return r||(r=location.protocol,r=r.slice(0,-1),Xe(n,r),e.uris[i]=n.toString()),(r=qn[r])?r(e.uris[i],e).then(function(e){for(var i=this.c,n=0;n=0&&s>t?1:null},getSegmentReference:function(t){return 1!=t?null:new g(1,0,s,a,0,null)},initSegmentReference:null,presentationTimeOffset:0}}return n=Le(n,"ContentProtection"),n=Ge(n,this.c.dash.customScheme,e),{id:this.u++,createSegmentIndex:r.createSegmentIndex,findSegmentPosition:r.findSegmentPosition,getSegmentReference:r.getSegmentReference,initSegmentReference:r.initSegmentReference,presentationTimeOffset:r.presentationTimeOffset,mimeType:t.j.mimeType,codecs:t.j.ua,bandwidth:t.bandwidth,width:t.j.width,height:t.j.height,kind:i,encrypted:0n.length||"data"!=n[0])throw new U(1,1004,e);if(n=n.slice(1).join(":").split(","),2>n.length)throw new U(1,1004,e);var r=n[0],n=t.decodeURIComponent(n.slice(1).join(",")),r=r.split(";"),a=null;if(1e.maxWidth||n.heighte.maxHeight||n.width*n.heighte.maxPixels||n.bandwidthe.maxVideoBandwidth)&&(n.allowedByApplication=!1):"audio"==t.type&&(n.bandwidthe.maxAudioBandwidth)&&(n.allowedByApplication=!1),r!=n.allowedByApplication&&(i=!0)})}),i&&gn(this)},wn.Ba=function(t){var e="",i=null;this.g&&this.g.u&&(e=this.g.keySystem(),i=this.g.m);var n={};this.b&&(n=ji(this.b));for(var r=0;ri.indexOf(h)&&(a.streams.splice(o,1),--o):(a.streams.splice(o,1),--o)}}0==a.streams.length&&(t.streamSets.splice(r,1),--r)}}this.Fa(t),t.streamSets.some(ln)||this.ea(new U(4,4011))},wn.Db=function(t,e,i){this.a.abr.manager.segmentDownloaded(t,e,i)},wn.zb=function(t){mn(this),this.sa=t,this.dispatchEvent(new Z("buffering",{buffering:t}))},wn.Cb=function(){if(this.b){var t,e=this.b;for(t in e.b){var i=e.b[t];i.U||(0e&&(e+=Math.pow(2,32)),e=e.toString(16)),this.ea(new U(3,3016,t,e))}}},wn.Bb=function(t){var e=["usable","status-pending","output-downscaled"],i=Li(this.b),n=!1;i.streamSets.forEach(function(i){i.streams.forEach(function(i){var r=i.allowedByKeySystem;i.keyId&&i.keyId in t&&(i.allowedByKeySystem=0<=e.indexOf(t[i.keyId])),r!=i.allowedByKeySystem&&(n=!0)})}),i=bn(this,i),this.a.abr.enabled&&!this.F&&this.a.abr.manager.enable();var r=ji(this.b),i=mt(i,function(t){return r[t]&&!r[t].allowedByKeySystem});pn(this,i,!0),n&&gn(this)}}).call(r,this),"undefined"!=typeof t&&t.exports?t.exports=r.shaka:(n=function(){return r.shaka}.call(e,i,e,t),!(void 0!==n&&(t.exports=n)))}()},function(e,i){e.exports=t}])}); \ No newline at end of file diff --git a/index.js b/index.js index 7cf0574..f0a79e1 100644 --- a/index.js +++ b/index.js @@ -105,9 +105,15 @@ export default class DashShakaPlayback extends HTML5Video { var player = new shaka.Player(this.el) player.addEventListener('error', (type, shakaError) => this._error(type, shakaError)) player.addEventListener('adaptation', () => this._onAdaptation()) + player.addEventListener('buffering', (e) => this._onBuffering(e)) return player } + _onBuffering(e) { + var event = e.buffering ? Events.PLAYBACK_BUFFERING : Events.PLAYBACK_BUFFERFULL + this.trigger(event) + } + _loaded() { this._ready() this._startToSendStats() diff --git a/package.json b/package.json index bb5062d..063a44a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-shaka-playback", - "version": "2.0.2-beta", + "version": "2.0.3-beta", "description": "clappr dash playback based on shaka player", "main": "index.js", "repository": { @@ -15,7 +15,7 @@ "author": "Clappr team", "license": "BSD-3-Clause", "dependencies": { - "shaka-player": "v2.0.0-beta", + "shaka-player": "v2.0.0-beta2", "clappr": "latest" }, "devDependencies": {