@castlabs/prestoplay 6.20.0 → 6.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +7 -7
- package/cjs/cl.cast.js +109 -110
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +553 -550
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +78 -77
- package/cjs/cl.externs.js +81 -97
- package/cjs/cl.freewheel.js +24 -24
- package/cjs/cl.hls.js +69 -69
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +29 -29
- package/cjs/cl.ima.js +22 -24
- package/cjs/cl.mse.js +305 -305
- package/cjs/cl.muxdata.js +15 -15
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +13 -13
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.sessions.js +16 -16
- package/cjs/cl.simid.js +15 -15
- package/cjs/cl.smooth.js +72 -72
- package/cjs/cl.thumbnails.js +25 -25
- package/cjs/cl.tizen.js +70 -69
- package/cjs/cl.ttml.js +29 -29
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -13
- package/cjs/cl.vr.js +18 -18
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.yospace.js +9 -0
- package/cjs/cl.youbora.js +38 -20
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +88 -89
- package/cl.conviva.js +27 -27
- package/cl.core.js +471 -468
- package/cl.crypto.js +8 -8
- package/cl.dash.js +74 -72
- package/cl.externs.js +71 -99
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +74 -74
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +16 -17
- package/cl.mse.js +276 -276
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +11 -11
- package/cl.playlist.js +5 -5
- package/cl.sessions.js +10 -10
- package/cl.simid.js +13 -13
- package/cl.smooth.js +59 -59
- package/cl.thumbnails.js +19 -19
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.yospace.js +3 -0
- package/cl.youbora.js +27 -15
- package/package.json +3 -1
- package/typings.d.ts +123 -24
package/cl.smooth.js
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
b,a.h),a.a+=2}catch(c){_.
|
|
3
|
-
String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.
|
|
4
|
-
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.
|
|
5
|
-
Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else
|
|
6
|
-
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.
|
|
7
|
-
|
|
8
|
-
(a=(new
|
|
9
|
-
|
|
10
|
-
0<l-k.reader.getPosition()&&k.flags&32&&(m.o=_.
|
|
11
|
-
2048&&(0===k.version?m.j.push(_.
|
|
12
|
-
u
|
|
13
|
-
g;d=g.get(_.
|
|
14
|
-
A;y++){b:{var k=h;var l=g[y],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const D=l.length;for(;n<D;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[y],
|
|
15
|
-
m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.j;m++)k.push(10+6*c.h[m].
|
|
16
|
-
periodId:null}},
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).W;a.l=c.uri;return c})},
|
|
18
|
-
1E7;let g=+
|
|
19
|
-
const Aa=[],gb=_.
|
|
20
|
-
|
|
21
|
-
+
|
|
22
|
-
new Uint16Array(1),
|
|
23
|
-
new _.
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
{};
|
|
27
|
-
function(a,b){const c=b===
|
|
28
|
-
d);(d=a.a.Wd)&&_.
|
|
29
|
-
1],a.I=Math.min(a.I,e),0===a.a
|
|
30
|
-
D.substr(D.indexOf(H[0])+10,6):"42c00c");a.g.debug("VIDEO CODECS: ",D);break;case _.p:D=h.
|
|
31
|
-
void 0,height:h.maxHeight||void 0,kind:H,encrypted:a.J(),keyId:null,language:k.language,originalLanguage:k.
|
|
32
|
-
null},
|
|
33
|
-
this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.f.length;b++){if(this.f[b].type===a)return this.f[b];{const c=this.f[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.f.length)for(let c=0;c<this.f.length;c++)b+=this.f[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.
|
|
34
|
-
b&&
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.timescale));_.
|
|
38
|
-
a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.h=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.h.length;return a+super.a()}write(a){super.write(a);1===this.version?(
|
|
39
|
-
0;b<this.h.length;b++)
|
|
40
|
-
|
|
41
|
-
this.A=!0}a(){return 8+super.a()}write(a){super.write(a);_.
|
|
42
|
-
d}a(){return 20+super.a()}write(a){super.write(a);_.
|
|
43
|
-
a.getPosition()}},
|
|
44
|
-
for(var b=0;b<this.
|
|
45
|
-
_.
|
|
46
|
-
a.getPosition()}},
|
|
47
|
-
_.
|
|
48
|
-
return a+super.a()}write(a){super.write(a);_.
|
|
49
|
-
|
|
50
|
-
b);this.o=this.l=this.h=0;this.w=[];this.sampleSize=[];this.B=[];this.j=[]}a(){let a=4;this.flags&
|
|
51
|
-
this.flags&
|
|
52
|
-
|
|
53
|
-
return a+super.a()}write(a){super.write(a);
|
|
54
|
-
class extends
|
|
55
|
-
b,c){super("saiz",0,0);this.h=a;this.l=b;this.j=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.h&&(a+=this.l.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.
|
|
56
|
-
2,a+=4}return a+super.a()}write(a){super.write(a);_.
|
|
57
|
-
this.h=this.f=this.D=null;this.j&&(clearTimeout(this.j),this.j=null);this.K=!1;this.I=this.F=Infinity;return Promise.resolve()}update(){if(this.C())return
|
|
58
|
-
0;c<this.o.length;c++)if(this.o[c].keySystem===a){b=this.o[c].initData[0];break}return b}S(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.w.timescale,c={isLive:this.C.bind(this),xd:this.J.bind(this),
|
|
59
|
-
`segment reference time ${a.request.startTime}`);f=
|
|
1
|
+
import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var HP="Full MP4 box must have flags defined",IP="clpp.smooth.SmoothMP4Processor",JP="codecPrivateData",KP=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.O(a,c);_.O(a,b)},LP=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.Pl()}},MP=function(a,b){LP(a,b>>16&255);LP(a,b>>8&255);LP(a,b&255)},NP=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.Pl()}},OP=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.Pl()}},PP=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.Pl()}},QP=function(a,b){if(void 0!==b){var c=new Uint8Array(b);const d=Math.min(a.length,b);let e=0;for(;e<d;++e)c[e]=a.charCodeAt(e);for(;e<b;e++)c[e]=0;return c}b=new Uint8Array(a.length);for(c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b},RP=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},SP=function(a,b,c,d){c=b.lf[c];b=b.Qh;a=a.replace("Manifest","");b=b.replace("{bitrate}",String(d.bitrate)).replace("{Bitrate}",
|
|
3
|
+
String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.bC([a],[b])[0]},TP=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",JP,"fourCC"]:a.type===_.p&&(c=["bitrate",JP,"channels","bitsPerSample","samplingRate","fourCC"]);return _.Yg(a,b,c,["id","segmentIndex"])},UP=function(a,b,c){const d=c.nd.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,$a:null,Yb:null,width:NaN,height:NaN,Wb:null,dd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.$a=[_.Wi(d[1])];a.Yb=[_.Wi(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Wb=_.Wi(c.nd),a.sampleSize=c.og||16,a.dd=c.dd,a.channelCount=c.cf}return a},VP=function(a,b){return a.filter(c=>c.type===b)},WP=function(a,b){a=a.exec(b);return null==a||""===a[0]?null:(Number(a[4])||0)/1E3+(Number(a[3])||0)+60*(Number(a[2])||0)+3600*(Number(a[1])||0)},cQ=function(a,b,c){var d=null;if(XP.test(a)){{a=XP.exec(a);d=Number(a[1]);const e=
|
|
5
|
+
Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else YP.test(a)?d=WP(YP,a):ZP.test(a)?d=WP(ZP,a):$P.test(a)?(a=$P.exec(a),d=Number(a[1])/c.frameRate):aQ.test(a)?(a=aQ.exec(a),d=Number(a[1])/c.a):bQ.test(a)&&(d=WP(bQ,a));c=d;d=c+b;b=Math.floor(d/3600);c=Math.floor((d-3600*b)/60);a=Math.floor(d-3600*b-60*c);d-=a;10>b&&(b="0"+b);10>c&&(c="0"+c);10>a&&(a="0"+a);0===d?d="000":d=Math.round(1E3*d);return b+":"+c+":"+a+"."+d},dQ=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.jm(b)},kQ=function(a,b,c){a:{var d=[_.xd,_.vd];for(e of d)if((d=c.td(e))&&d.keyId){var e=d.keyId;break a}_.C(IP,"Could not get default Key ID for DRM init data!");e=null}c=new eQ("xxxx");a.type===_.w?c=new fQ(a.width,a.height):c=new gQ(a.channelCount,a.sampleSize,a.dd);a=new hQ;a.h=1;a.j=8;a.o=e||"00000000000000000000000000000000";a=(new eQ("schi")).append([a]);b=(new eQ(_.Hf)).append([new iQ(b),new jQ(_.ad,65536),a]);c.append([b]);return c},
|
|
7
|
+
NQ=function(a,b){var c=b.xd(),d=new lQ(a.timescale,a.duration,a.id),e=(new mQ).append([new nQ(a.id)]),f=new oQ(a.id,a.duration,a.timescale,a.width,a.height),g=new pQ(a.timescale,a.duration);const h=new qQ(a.type);var k=null,l=new rQ;l.entries=[new sQ];var m=new tQ;switch(a.type){case _.w:k=new uQ(a.$a,a.Yb);c?(a=kQ(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new vQ(a.width,a.height)).append([k]),m.entries=[a]);k=new wQ;break;case _.p:k=new xQ(a.Wb),c?(a=kQ(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new yQ(a.channelCount,a.sampleSize,a.dd)).append([k]),m.entries=[a]),k=new zQ}m=(new AQ).append([m,new BQ,new CQ,new DQ,new EQ]);l=(new FQ).append([l]);l=(new GQ).append([k,l,m]);g=(new HQ).append([g,h,l]);f=(new IQ).append([f,g]);d=(new JQ).append([d,f,e]);e=new KQ("dash",0,["iso6","mp41","avc1"]);c&&(c=b.td(_.vd),b=b.td(_.xd),c&&d.append([new LQ("pssh",c.initData,8)]),b&&d.append([new LQ("pssh",b.initData,8)]),c||b||_.C(IP,"Could not get PSSH init data!"));b=new MQ([e,d]);return _.K(b.write())},
|
|
9
|
+
XQ=function(a,b){let c,d,e,f,g,h;(new _.hm).N("moof",_.am).da("mfhd",k=>{{const l=new OQ;l.h=_.P(k.reader);c=l}}).N("traf",_.am).da("tfhd",k=>{{const l=k.reader.Ma();if(null===k.flags)throw new _.I(_.F,3,3019,HP);const m=new PQ(k.version||0,k.flags||0);m.h=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.Wl(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.B=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.l=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.w=_.P(k.reader));
|
|
10
|
+
0<l-k.reader.getPosition()&&k.flags&32&&(m.o=_.P(k.reader));d=m}}).da("trun",k=>{{var l=k.reader.Ma();if(null===k.flags)throw new _.I(_.F,3,3019,HP);const m=new QQ(k.version||0,k.flags||0);m.h=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.l=_.Vl(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.o=_.P(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.h;l++)k.flags&256&&m.w.push(_.P(k.reader)),k.flags&512&&m.sampleSize.push(_.P(k.reader)),k.flags&1024&&m.B.push(_.P(k.reader)),k.flags&
|
|
11
|
+
2048&&(0===k.version?m.j.push(_.P(k.reader)):m.j.push(_.Vl(k.reader)));e=m}}).da("sdtp",k=>{{const l=_.Yl(k.reader,k.reader.Ma());f=new RQ("sdtp",k.version||0,k.flags||0,l,0)}}).N("uuid",k=>{var l=_.Yl(k.reader,16);if(_.Yi(l,SQ)){l=_.P(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new TQ(k.version,k.flags);l.j=_.P(k.reader);k.flags&1&&(l.l=_.Tl(k.reader));for(let m=0;m<l.j;m++){const n={zf:_.Yl(k.reader,8),Hc:0,Ie:[]};if(k.flags&2){n.Hc=_.Ul(k.reader);for(let q=0;q<n.Hc;q++){const u={$e:0,af:0};
|
|
12
|
+
u.$e=_.Ul(k.reader);u.af=_.P(k.reader);n.Ie.push(u)}}l.h.push(n)}g=l}}).N(_.se,k=>{{const l=new UQ;0<k.reader.Ma()?l.h=_.Yl(k.reader,k.reader.Ma()):(_.C(IP,"mdat box is empty!"),l.h=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new VQ).append([d,e]);f&&a.append([f]);b.xd()&&g&&a.append([g]);b=(new WQ).append([c,a]);return new MQ([b,h])},bR=function(a,b,c,d){var e=d.xd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=XQ(b,d);if(null===g)return a.request.contentType===_.G?a.data:
|
|
13
|
+
g;d=g.get(_.se);if(a.request.contentType===_.G){e=d.h.buffer;if(c){e=_.Ii(e);if((e=(new DOMParser).parseFromString(e,_.Uf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new YQ(h.getAttribute("ttp:frameRate"),h.getAttribute("ttp:subFrameRate"),h.getAttribute("ttp:frameRateMultiplier"),h.getAttribute("ttp:tickRate")),h=h.getElementsByTagName("body")[0])){f=h.getElementsByTagName("p");for(let u=0,v=f.length;u<v;u++){h=f[u];a=c;b=d;g=["begin",_.Sd];for(let y=0,A=g.length;y<
|
|
14
|
+
A;y++){b:{var k=h;var l=g[y],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const D=l.length;for(;n<D;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[y],cQ(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.Ji(e).buffer}else c=e;return c}h=new WQ;a=g.get("mfhd");b=new VQ;k=g.get("tfhd");m=new ZQ(1,f);f=g.get("trun");n=g.get("sdtp");c=g.get("senc");k.h=1;k.flags&=16777214;k.flags|=131072;b.append([k,
|
|
15
|
+
m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.j;m++)k.push(10+6*c.h[m].Hc);else g=8;b.append([c,new $Q,new aR(g,k,c.j)])}h.append([a,b]);f.flags|=1;f.l=h.a()+8;d=new MQ([h,d]);h=d.write();e&&(e=d.get("saio"),d=d.f,e.offset[0]=c.start+16,d.seek(e.start),e.write(d),h=d.buffer);return h},cR=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},dR=function(a){return{initData:_.QB(_.Tm(a)),initDataType:_.ad,keyId:a,periodId:null}},eR=function(a,b,c){a=_.an(a);c&&a.version!==c&&(a=_.SB(a,c));return{initData:_.QB(a),initDataType:_.ad,keyId:b,periodId:null}},fR=function(a,b){return _.x(function*(){var c=_.jj(b);c.timeout=a.f.attemptParameters.timeout;c.maxAttempts=Math.max(a.f.attemptParameters.maxAttempts,b.length);c.baseDelay=a.f.attemptParameters.baseDelay;c.backoffFactor=a.f.attemptParameters.backoffFactor;c.fuzzFactor=a.f.attemptParameters.fuzzFactor;
|
|
17
|
+
c.type=1;c=yield a.D.networkingEngine.fetch(c).W;a.l=c.uri;return c})},nR=function(a,b){let c=null;try{{const Aa=new DOMParser;let gb,Qa;try{const hb=_.Ii(b);Qa=Aa.parseFromString(hb.trim(),_.Uf)}catch(hb){throw hb;}Qa&&Qa.documentElement.tagName===_.Jb&&(gb=Qa.documentElement);c=gb&&0<gb.getElementsByTagName("parsererror").length?null:gb}}catch(Aa){}if(!c)throw a.g.error("Unable to parse manifest"),new _.I(_.F,4,4033,a.l);const d=+gR(a,c,"MajorVersion"),e=+gR(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||
|
|
18
|
+
1E7;let g=+gR(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.Nm(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+d+"."+e))throw a.g.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.I(_.F,4,4036,a.l);h?(hR(a,iR),a.A=typeof a.f.liveRefreshPeriod===_.t?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):hR(a,jR);a.a={startTime:0,delay:0,duration:g/f,Wd:l/f,Yc:0};if(m){{var n=a.f.playreadyVersion;
|
|
19
|
+
const Aa=[],gb=_.Nm(m,"ProtectionHeader")[0],Qa=_.Vi(_.Pm(gb)||""),hb=_.an(Qa).a;Aa.push(cR(_.xd,dR(hb),[hb]));Aa.push(cR(_.vd,eR(Qa,hb,n),[hb]));var q=Aa}a.o=q}{const Aa=[],gb=_.Nm(c,"StreamIndex");if(!gb.length)throw a.g.error("No streams found!"),new _.I(_.F,4,4034,a.l);for(let Qa=0;Qa<gb.length;Qa++){{var u=a,v=gb[Qa];const hb=gR(u,v,"Type"),Wc=+v.getAttribute("Chunks"),Kh=v.getAttribute("Subtype"),pe=v.getAttribute("Language")||_.Zf,qe=_.ri(pe),Lh=v.getAttribute("Name")||"",pf=+v.getAttribute(_.fb),
|
|
20
|
+
qg=+v.getAttribute(_.eb),Ur=gR(u,v,"Url"),pm=+v.getAttribute("TimeScale")||null;{const Xc=[],rj=_.Nm(v,_.Ab);for(let re=0;re<rj.length;re++){{let Yc,Na,Ld;var y=u,A=rj[re],D=hb;const sj=+A.getAttribute("Index"),rg=+gR(y,A,"Bitrate");let pc=NaN,sg=NaN,qm=NaN,Vr=NaN,nF=NaN,oF=NaN,pF=NaN;const qF=A.getAttribute("FourCC");switch(D){case _.w:pc=+gR(y,A,_.eb);sg=+gR(y,A,_.fb);break;case _.p:Vr=+A.getAttribute("Channels")||2,qm=+gR(y,A,"SamplingRate"),oF=+gR(y,A,"AudioTag"),nF=+gR(y,A,"BitsPerSample"),pF=
|
|
21
|
+
+gR(y,A,"PacketSize")}let Wr=String(A.getAttribute("CodecPrivateData"));if(D===_.p&&!Wr){{var H=Vr;const rF={96E3:0,88200:1,64E3:2,48E3:3,44100:4,32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},rm=rF[qm];if("AACH"===qF){Na=new Uint8Array(4);const sF=rF[2*qm];Na[0]=40|rm>>1;Na[1]=rm<<7|H<<3|sF>>1;Na[2]=sF<<7|8;Na[3]=0;Yc=new Uint16Array(2);Yc[0]=(Na[0]<<8)+Na[1];Yc[1]=(Na[2]<<8)+Na[3];Ld=Yc[0].toString(16)+Yc[1].toString(16)}else Na=new Uint8Array(2),Na[0]=16|rm>>1,Na[1]=rm<<7|H<<3,Yc=
|
|
22
|
+
new Uint16Array(1),Yc[0]=(Na[0]<<8)+Na[1],Ld=Yc[0].toString(16);Wr=Ld.toUpperCase()}}var X={id:y.V++,type:D,index:sj,bitrate:rg,nd:Wr,maxHeight:pc,maxWidth:sg,dd:qm,cf:Vr,Wh:oF,og:nF,ii:pF,Fg:qF,segmentIndex:null}}Xc.push(X)}var wb=Xc}{const Xc=[],rj=_.Nm(v,"c");for(let re=0;re<rj.length;re++){const Yc=rj[re];let Na=parseInt(Yc.getAttribute("t"),10),Ld=parseInt(Yc.getAttribute("d"),10),sj=parseInt(Yc.getAttribute("r"),10),rg=0;if(isNaN(Na)&&isNaN(Ld))throw u.g.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),
|
|
23
|
+
new _.I(_.F,4,4037,u.l);0===re&&isNaN(Na)&&(rg=Na=0);if(0<re){const pc=Xc[Xc.length-1];rg=pc.n+1;pc.d||(pc.d=Na-pc.t);Na||(Na=pc.t+pc.d);Ld||(Ld=Na-pc.t)}Xc.push({n:rg,d:Ld,t:Na});if(sj){sj--;for(let pc=0;pc<sj;pc++){const sg=Xc[Xc.length-1];rg=sg.n+1;Na=sg.t+sg.d;Ld=sg.d;Xc.push({n:rg,d:Ld,t:Na})}}}u.C()||Xc.length===Wc||u.g.warn("Number of fragments ("+Wc+") differs from number of chunks ("+Xc.length+").");var me=Xc}var mf={type:hb,$h:Wc,Gh:Kh,language:qe,Xc:pe,name:Lh,maxWidth:pf,maxHeight:qg,
|
|
24
|
+
Qh:Ur,tracks:wb,lf:me,timescale:pm}}Aa.push(mf)}var nf=Aa}const $a={hi:d,Ef:e,timescale:f,duration:g,isLive:h,gi:k,Wd:l,be:!1,streams:nf};if(a.h&&a.w)return kR(a,$a),Promise.resolve();a.G.clear();{const Aa=$a.timescale,gb=$a.duration,Qa=VP($a.streams,_.p),hb=VP($a.streams,_.w),Wc=VP($a.streams,_.G),Kh=[];let pe=lR(a,gb,Aa,Qa),qe=lR(a,gb,Aa,hb);const Lh=lR(a,gb,Aa,Wc);pe.length||(pe=[null]);qe.length||(qe=[null]);for(let pf=0;pf<qe.length;pf++)for(let qg=0;qg<pe.length;qg++)Kh.push(mR(a,qe[pf],pe[qg]));
|
|
25
|
+
var Db={id:"ID",configurationId:void 0,startTime:0,endTime:gb,variants:Kh,textStreams:Lh,thumbStreams:[]}}{var Tc=$a.streams;let Aa=a.a.startTime,gb=a.a.delay;const Qa=a.I;let hb=Math.min(a.a.duration||Infinity,Qa);const Wc=a.C(),Kh=a.a.Wd,pe=a.a.Yc,qe=a.H,Lh=isFinite(a.F)?a.F:0;if(Wc)hb=Infinity,Aa=Date.now()/1E3-pe,a.a.startTime=Aa,gb=3*qe;else{const qg=isFinite(Qa)?Qa:a.a.duration;for(const Ur of Tc)for(const pm of Ur.tracks)pm.segmentIndex.offset(-Lh),_.BC(pm.segmentIndex,qg)}const pf=a.f.timeline||
|
|
26
|
+
{};pf.type=void 0;a.B=new _.rI(pf,Aa,gb,!Wc,!0);a.B.f=hb;_.PC(a.B,qe);a.B.A=Kh;Wc||a.B.offset(-Lh)}a.D.filterAllPeriods([Db]);a.h={presentationTimeline:a.B,periods:[Db],minBufferTime:0,cues:[]};Promise.resolve();a.K||(a.D.networkingEngine.sc(a.L),a.K=!0);a.w=$a;return Promise.resolve()},oR=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.Pb.bind(a),b))},gR=function(a,b,c){if(b=b.getAttribute(c))return b;a.g.error("required attribute not provided: "+c);throw new _.I(_.F,4,4038,a.l,c);},hR=
|
|
27
|
+
function(a,b){const c=b===jR;a.h&&a.h.presentationTimeline&&_.KC(a.h.presentationTimeline,c);c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.M=b},kR=function(a,b){for(let e=0;e<a.w.streams.length;e++){const f=b.streams[e];for(const g of a.w.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){TP(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=pR(a,a.w.timescale,f,c);c=g.segmentIndex;_.aD(c,
|
|
28
|
+
d);(d=a.a.Wd)&&_.bD(c,_.ZC(c)-d).forEach(h=>{h.Ya().forEach(k=>{a.G.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},pR=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.lf.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.F=Math.min(a.F,h)):h=f[k-1].endTime;const m=h+l,n=SP(a.l,c,k,d);a.H=Math.max(a.H,l);f.push(new _.$C(k,h,m,()=>[n],0,null,0,null,!0,g));a.G.set(n,h);e+=l});if(c.type===_.w||c.type===_.p)b=f[f.length-
|
|
29
|
+
1],a.I=Math.min(a.I,e),0===a.a.Yc?a.a.Yc=b.endTime:a.a.Yc=Math.min(a.a.Yc,b.endTime);return f},lR=function(a,b,c,d){let e=[];for(let f=0;f<d.length;f++){const g=d[f].tracks.map(h=>{{var k=d[f],l=pR(a,c,k,h);const X=new _.sI(l);var m=null;k.type!==_.G&&(m=qR(a,b,c,k,h));h.segmentIndex=X;l=_.oI++;var n=Promise.resolve.bind(Promise),q=X.f.bind(X),u=X.get.bind(X),v=X.h.bind(X),y=X.getDuration.bind(X),A=rR[k.type];var D="";switch(k.type){case _.w:D=h.nd;var H=/00000001[0-9]7/.exec(D);D="avc1."+(H&&H[0]?
|
|
30
|
+
D.substr(D.indexOf(H[0])+10,6):"42c00c");a.g.debug("VIDEO CODECS: ",D);break;case _.p:D=h.nd,H=2,"AACH"===h.Fg?H=5:D&&(H=(parseInt(D.substr(0,2),16)&248)>>3),D="mp4a.40."+H,a.g.debug("AUDIO CODECS: ",D)}H=k.type===_.G?sR[k.Gh]:void 0;h={id:l,originalId:null,ki:null,createSegmentIndex:n,findSegmentPosition:q,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:X,segmentLookupStrategy:_.yB,initSegmentReference:m,mimeType:A,codecs:D,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||
|
|
31
|
+
void 0,height:h.maxHeight||void 0,kind:H,encrypted:a.J(),keyId:null,language:k.language,originalLanguage:k.Xc,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.cf||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},mR=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.Zf;return c||b?{id:a.R++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,allowedByKeySystem:!0}:
|
|
32
|
+
null},qR=function(a,b,c,d,e){b=UP(b,d.timescale||c,e);c={isLive:a.C.bind(a),xd:a.J.bind(a),Lg:()=>1,td:a.O.bind(a)};d=new Uint8Array(0);try{d=NQ(b,c)}catch(g){throw a.g.error("Failed to generate initialization segment."),new _.I(_.F,3,4035,g);}const f="data:text/plain;base64,"+_.Ui(d);return new _.nI(()=>[f],0,null,null,!0)},eQ=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.A=!1;this.entries=[];this.f=[]}append(a=[]){for(let b=0;b<a.length;b++)this.f.push(a[b]),a[b].parent=
|
|
33
|
+
this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.f.length;b++){if(this.f[b].type===a)return this.f[b];{const c=this.f[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.f.length)for(let c=0;c<this.f.length;c++)b+=this.f[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.O(a,1):_.O(a,this.size);_.Ql(a,QP(this.type));this.size>
|
|
34
|
+
b&&KP(a,this.size);"uuid"===this.type&&_.Ql(a,null);if(0<this.f.length&&!this.A)for(b=0;b<this.f.length;b++)this.f[b].write(a),this.f[b].a(),a.getPosition()}},tR=class extends eQ{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);LP(a,this.version);MP(a,this.flags)}},LQ=class extends eQ{constructor(a,b,c){super(a);this.h=b;this.offset=c}a(){return this.h.byteLength+super.a()-this.offset}write(a){super.write(a);_.Ql(a,this.h,this.offset);a.getPosition()}},
|
|
35
|
+
RQ=class extends tR{constructor(a,b,c,d,e){super(a,b,c);this.h=d;this.offset=e}a(){return this.h.byteLength+super.a()-this.offset}write(a){super.write(a);_.Ql(a,this.h,this.offset);a.getPosition()}},KQ=class extends eQ{constructor(a,b,c){super("ftyp");this.j=a;this.Ef=b;this.h=c}a(){let a=this.j.length;a=a+4+this.h.join("").length;return a+super.a()}write(a){super.write(a);_.Ql(a,QP(this.j));_.O(a,this.Ef);_.Ql(a,QP(this.h.join("")));a.getPosition()}},JQ=class extends eQ{constructor(){super(_.ye)}},
|
|
36
|
+
IQ=class extends eQ{constructor(){super(_.Wf)}},lQ=class extends tR{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.j=c+1;this.h=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+28:a+16;a=a+44+this.h.length;return a+=super.a()}write(a){super.write(a);1===this.version?(KP(a,0),KP(a,0),_.O(a,this.timescale),KP(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*
|
|
37
|
+
this.timescale));_.O(a,65536);NP(a,this.volume);NP(a,0);_.O(a,0);_.O(a,0);for(let b=0;b<this.h.length;b++)LP(a,this.h[b]);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,this.j);a.getPosition()}},mQ=class extends eQ{constructor(){super("mvex")}},nQ=class extends tR{constructor(a){super("trex",0,0);this.h=a}a(){return 20+super.a()}write(a){super.write(a);_.O(a,this.h);_.O(a,1);_.O(a,0);_.O(a,0);_.O(a,0);a.getPosition()}},oQ=class extends tR{constructor(a,b,c,d,e){super("tkhd",1,7);this.j=
|
|
38
|
+
a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.h=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.h.length;return a+super.a()}write(a){super.write(a);1===this.version?(KP(a,0),KP(a,0),_.O(a,this.j),_.O(a,0),KP(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.j),_.O(a,0),_.O(a,this.duration*this.timescale));_.O(a,0);_.O(a,0);NP(a,0);NP(a,0);NP(a,this.volume);NP(a,0);for(let b=
|
|
39
|
+
0;b<this.h.length;b++)LP(a,this.h[b]);NP(a,this.width);NP(a,0);NP(a,this.height);NP(a,0);a.getPosition()}},pQ=class extends tR{constructor(a,b){super("mdhd",1,0);this.timescale=a;this.duration=b;this.language=21956}a(){let a=0;a=1===this.version?a+28:a+16;return a+4+super.a()}write(a){super.write(a);1===this.version?(KP(a,0),KP(a,0),_.O(a,this.timescale),KP(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));NP(a,this.language);NP(a,0);a.getPosition()}},
|
|
40
|
+
qQ=class extends tR{constructor(a){super("hdlr",0,0);this.h=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.h===_.w?_.Ql(a,QP("vide")):_.Ql(a,QP("soun"));_.O(a,0);_.O(a,0);_.O(a,0);this.h===_.w?_.Ql(a,QP("VideoHandler\x00")):_.Ql(a,QP("SoundHandler\x00"));a.getPosition()}},wQ=class extends tR{constructor(){super("vmhd",0,1);this.h=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.h.byteLength+super.a()}write(a){super.write(a);NP(a,0);_.Ql(a,this.h);a.getPosition()}},uR=class extends eQ{constructor(a){super(a);
|
|
41
|
+
this.A=!0}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);NP(a,0);NP(a,1)}},vR=class extends uR{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);NP(a,0);NP(a,0);_.O(a,0);_.O(a,0);_.O(a,0);NP(a,this.width);NP(a,this.height);_.O(a,4718592);_.O(a,4718592);_.O(a,0);NP(a,1);LP(a,10);_.Ql(a,QP("AVC Coding",31));NP(a,this.depth);PP(a,-1)}},wR=class extends uR{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=
|
|
42
|
+
d}a(){return 20+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);NP(a,this.channelCount);NP(a,this.sampleSize);PP(a,0);NP(a,0);NP(a,this.sampleRate);NP(a,0)}},vQ=class extends vR{constructor(a,b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},fQ=class extends vQ{constructor(a,b){super(a,b);this.type="encv"}},yQ=class extends wR{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);
|
|
43
|
+
a.getPosition()}},gQ=class extends yQ{constructor(a,b,c){super(a,b,c);this.type="enca"}},uQ=class extends eQ{constructor(a,b){super("avcC");this.$a=a;this.Yb=b;this.version=1;this.h=this.$a[0][1];this.j=this.$a[0][2];this.level=this.$a[0][3]}a(){let a=7;for(var b=0;b<this.$a.length;b++)a+=2,a+=this.$a[b].byteLength;for(b=0;b<this.$a.length;b++)a+=2,a+=this.Yb[b].byteLength;return a+super.a()}write(a){super.write(a);LP(a,this.version);LP(a,this.h);LP(a,this.j);LP(a,this.level);LP(a,255);LP(a,224|this.$a.length);
|
|
44
|
+
for(var b=0;b<this.$a.length;b++)NP(a,this.$a[b].length),_.Ql(a,this.$a[b]);LP(a,this.Yb.length);for(b=0;b<this.Yb.length;b++)NP(a,this.Yb[b].length),_.Ql(a,this.Yb[b]);a.getPosition()}},xQ=class extends tR{constructor(a){super("esds",0,0);this.Wb=a}a(){return 22+(this.Wb.byteLength+3)+super.a()}write(a){super.write(a);LP(a,3);LP(a,23+this.Wb.byteLength);NP(a,1);LP(a,0);LP(a,4);LP(a,15+this.Wb.byteLength);LP(a,64);LP(a,21);MP(a,0);_.O(a,0);_.O(a,0);LP(a,5);LP(a,this.Wb.byteLength);_.Ql(a,this.Wb);
|
|
45
|
+
_.Ql(a,new Uint8Array([6,1,2]));a.getPosition()}},sQ=class extends tR{constructor(a=""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.Ql(a,QP(this.location));a.getPosition()}},rQ=class extends tR{constructor(){super("dref",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
|
|
46
|
+
a.getPosition()}},AQ=class extends eQ{constructor(){super(_.Nf)}},tQ=class extends tR{constructor(){super(_.Pf,0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},BQ=class extends tR{constructor(){super("stts",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);
|
|
47
|
+
_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},CQ=class extends tR{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},EQ=class extends tR{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();
|
|
48
|
+
return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},DQ=class extends tR{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);a.getPosition()}},zQ=class extends tR{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);PP(a,0);NP(a,0);a.getPosition()}},FQ=class extends eQ{constructor(){super("dinf")}},GQ=class extends eQ{constructor(){super(_.xe)}},
|
|
49
|
+
HQ=class extends eQ{constructor(){super(_.te)}},ZQ=class extends tR{constructor(a,b){super("tfdt",a,0);this.baseMediaDecodeTime=b}a(){let a=0;a=1===this.version?a+8:a+4;return a+super.a()}write(a){super.write(a);1===this.version?KP(a,this.baseMediaDecodeTime):_.O(a,this.baseMediaDecodeTime);a.getPosition()}},OQ=class extends tR{constructor(){super("mfhd",0,0);this.h=0}a(){return 4+super.a()}write(a){super.write(a);_.O(a,this.h);a.getPosition()}},QQ=class extends tR{constructor(a,b){super("trun",a,
|
|
50
|
+
b);this.o=this.l=this.h=0;this.w=[];this.sampleSize=[];this.B=[];this.j=[]}a(){let a=4;this.flags&xR&&(a+=4);this.flags&yR&&(a+=4);for(let b=0;b<this.h;b++)this.flags&zR&&(a+=4),this.flags&AR&&(a+=4),this.flags&BR&&(a+=4),this.flags&CR&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&xR&&(a.getPosition(),OP(a,this.l));this.flags&yR&&_.O(a,this.o);for(let b=0;b<this.h;b++)this.flags&zR&&_.O(a,this.w[b]),this.flags&AR&&_.O(a,this.sampleSize[b]),this.flags&BR&&_.O(a,this.B[b]),
|
|
51
|
+
this.flags&CR&&(0===this.version?_.O(a,this.j[b]):OP(a,this.j[b]));a.getPosition()}},xR=1,yR=4,zR=256,AR=512,BR=1024,CR=2048,PQ=class extends tR{constructor(a,b){super("tfhd",a,b);this.h=255;this.o=this.w=this.l=this.B=this.j=0}a(){let a=4;this.flags&DR&&(a+=8);this.flags&ER&&(a+=4);this.flags&FR&&(a+=4);this.flags&GR&&(a+=4);this.flags&HR&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&DR&&KP(a,this.j);this.flags&ER&&_.O(a,this.B);this.flags&FR&&_.O(a,this.l);this.flags&
|
|
52
|
+
GR&&_.O(a,this.w);this.flags&HR&&_.O(a,this.o);a.getPosition()}},DR=1,ER=2,FR=8,GR=16,HR=32,VQ=class extends eQ{constructor(){super("traf")}},WQ=class extends eQ{constructor(){super("moof")}},UQ=class extends eQ{constructor(){super(_.se);this.h=new Uint8Array(0)}a(){return this.h.byteLength+super.a()}write(a){super.write(a);0<this.h.byteLength&&_.Ql(a,this.h)}},hQ=class extends tR{constructor(){super("tenc",0,0);this.h=1;this.j=8;this.o="";this.l=[]}a(){let a;a=20;1===this.h&&0===this.j&&(a=a+1+this.l.length);
|
|
53
|
+
return a+super.a()}write(a){super.write(a);LP(a,0);0===this.version?LP(a,0):LP(a,0);LP(a,this.h);LP(a,this.j);_.Ql(a,_.Wi(this.o));if(1===this.h&&0===this.j){LP(a,0);for(let b=0;b<this.l.length;b++)LP(a,this.l[b])}a.getPosition()}},jQ=class extends tR{constructor(a,b){super("schm",0,0);this.h=a;this.j=b;this.Rb=""}a(){let a=8;this.flags&1&&(a+=QP(this.Rb).byteLength);return a+super.a()}write(a){super.write(a);_.Ql(a,QP(this.h));_.O(a,this.j);this.flags&1&&_.Ql(a,QP(this.Rb));a.getPosition()}},iQ=
|
|
54
|
+
class extends eQ{constructor(a){super("frma");this.h=a}a(){return QP(this.h).byteLength+super.a()}write(a){super.write(a);_.Ql(a,QP(this.h));a.getPosition()}},$Q=class extends tR{constructor(){super("saio",0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));_.O(a,1);for(let b=0;1>b;b++)0===this.version?_.O(a,this.offset[b]):KP(a,this.offset[b]);a.getPosition()}},aR=class extends tR{constructor(a,
|
|
55
|
+
b,c){super("saiz",0,0);this.h=a;this.l=b;this.j=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.h&&(a+=this.l.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));LP(a,this.h);_.O(a,this.j);if(0===this.h)for(let b=0;b<this.j;b++)LP(a,this.l[b]);a.getPosition()}},TQ=class extends tR{constructor(a,b){super("senc",a,b);this.j=0;this.l=8;this.h=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.j;b++)if(a+=this.h[b].zf.byteLength,this.flags&2){a+=2;for(let c=0;c<this.h[b].Hc;c++)a+=
|
|
56
|
+
2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.j);this.flags&1&&LP(a,this.l);for(let b=0;b<this.j;b++)if(_.Ql(a,this.h[b].zf),this.flags&2){NP(a,this.h[b].Hc);for(let c=0;c<this.h[b].Hc;c++)NP(a,this.h[b].Ie[c].$e),_.O(a,this.h[b].Ie[c].af)}a.getPosition()}};var YQ=class{constructor(a,b,c,d){this.frameRate=Number(a)||30;this.f=Number(b)||1;this.a=Number(d);0===this.a&&(this.a=a?this.frameRate*this.f:1);c&&(a=/^(\d+) (\d+)$/g.exec(c))&&(this.frameRate*=parseInt(a[1],10)/parseInt(a[2],10))}},XP=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,YP=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,ZP=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,$P=/^(\d*\.?\d*)f$/,aQ=/^(\d*\.?\d*)t$/,bQ=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var MQ=class{constructor(a){this.a=a;this.f=dQ(this)}get(a){for(let b=0;b<this.a.length;b++){const c=this.a[b].get(a);if(c)return c}return null}write(){this.f=dQ(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var SQ=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var IR=class{constructor(){this.w=this.h=this.f=this.D=null;this.R=1;this.V=0;this.l="";this.B=this.a=null;this.g=new _.S("clpp.smooth.SmoothParser");this.K=!1;this.j=this.A=null;this.M=jR;this.H=0;this.F=this.I=Infinity;this.o=[];this.L=this.S.bind(this);this.G=new Map}configure(a){this.f=a}start(a,b){this.D=b;a=[...new Set([a,RP(a)])];return fR(this,a).then(c=>nR(this,c.data).then(()=>{oR(this,this.A);return this.h}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.cd(this.L);this.A=this.w=
|
|
57
|
+
this.h=this.f=this.D=null;this.j&&(clearTimeout(this.j),this.j=null);this.K=!1;this.I=this.F=Infinity;return Promise.resolve()}update(){if(this.C())return fR(this,[this.l]).then(a=>nR(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Pb(){this.g.debug(_.oB);this.D&&(this.j=null,this.update().then(()=>{oR(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&oR(this,100))}))}C(){return this.M===iR}J(){return 0<this.o.length}O(a){let b=null;if(this.o.length)for(let c=
|
|
58
|
+
0;c<this.o.length;c++)if(this.o[c].keySystem===a){b=this.o[c].initData[0];break}return b}S(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.w.timescale,c={isLive:this.C.bind(this),xd:this.J.bind(this),Lg:()=>1,td:this.O.bind(this)};let d=!1;const e=new _.I(_.F,3,4035,null);let f=null;try{const g=this.G.get(a.request.uris[a.request.uriIndex])||a.request.startTime||0;g!==a.request.startTime&&this.g.debug(`Using base media decode time ${g} instead of `+
|
|
59
|
+
`segment reference time ${a.request.startTime}`);f=bR(a,b,g,c)}catch(g){d=!0,e.data=g,3E3===g.code&&(e.code=4039)}if(d||!f)return Promise.reject(e);a.data=f;return Promise.resolve(a)}},rR={video:_.kg,audio:_.Kc,text:_.Ec},jR=_.Tb,iR="LIVE",sR={Rh:_.uB,Th:_.KB};_.z("clpp.smooth.SmoothComponent",class extends _.Au{f(){_.qs.ism=IR;_.os[_.Fc]=IR}a(){_.yD("ism");_.zD(_.Fc)}id(){return _.If}});};f.call(g, window);
|
package/cl.thumbnails.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.Ed);a.style.width=c+_.
|
|
6
|
-
this.width*c+_.
|
|
7
|
-
|
|
8
|
-
c),new _.
|
|
9
|
-
for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new
|
|
10
|
-
d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.a=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`);f=this.a;d=_.
|
|
11
|
-
h.offset-k.offset,k.duration=h.time-k.time;this.f.push(h);d+=8;(g=4294967295===g)&&this.h.resolve();if(1E5<e)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");
|
|
12
|
-
+ 'URL: ${c}`,d);a.onError(new _.
|
|
13
|
-
l);f.match(/^http|^\/\//)||(f=c.substr(0,c.lastIndexOf("/"))+"/"+f);l=
|
|
14
|
-
yield c.load();return c})}l(){return this.f}};var
|
|
15
|
-
e.findSegmentPosition(a-d.startTime);if(null===d||void 0===d)throw b.log.error("Could not find segment index for specified position",a),c();var f=e.getSegmentReference(d);if(f){const h=
|
|
16
|
-
h.
|
|
17
|
-
0;k<e.
|
|
18
|
-
this.g.warn("Unknown thumbnail mode",c)}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();if(
|
|
19
|
-
var
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Wx="Thumbnail URL is mandatory",Xx="Wrong gridSize format",Yx="clpp.thumbnails",$x=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Ce&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Zx(a,0,e,!!f))},Promise.resolve())},Zx=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return ay(a,d).then(()=>a.a[b].load()).then(()=>Zx(a,e,c,d))},ay=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.ro)c();else a.player.one(_.Qc,()=>{c()})})},
|
|
2
|
+
by=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.Cc.resolve()})},ey=function(a,b){return cy(a,b).then(c=>new dy(c,b.time,b.duration))},cy=function(a,b){return b.load().then(()=>{const c=_.K(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.Ti(c)})},fy=function(a){a=a.split(/\.|:/).map(parseFloat);let b=0,c;const d={3:.001,2:1,1:60,0:3600};for(c=a.length-1;0<=c;c--)b+=a[c]*d[c];return b},gy=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
hy=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Uc:c,Qe:d,yf:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},iy=function(a){return a.some(b=>0<b.thumbStreams.length)},qy=function(a){return a?a===jy||a===ky?new ly:a===my?new ny:a===oy?new py:null:null},ry=function(a){if(!a)return null;a=new _.fm(a);return a.path.match(/.*\.vtt$/i)?my:a.path.match(/.*\.bif$/i)?oy:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
jy:null};var sy=class{constructor(){this.log=new _.S(Yx);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.tf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&$x(this,b.preload)})}};var dy=class{constructor(a,b,c,d,e,f,g,h,k,l,m,n){d=void 0===d?0:d;e=void 0===e?0:e;f=void 0===f?0:f;g=void 0===g?0:g;h=void 0===h?1:h;k=void 0===k?1:k;l=void 0===l?0:l;m=void 0===m?0:m;n=void 0===n?new Image:n;this.time=b;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.oa=n;this.ug=h;this.xh=k;this.Sg=l;this.Tg=m;this.ce=null}raw(){return this.oa.cloneNode(!1)}element(a,b){let c=this.width,d=this.height;const e=this.width/this.height;void 0!==a&&void 0===b&&(b=0);null!==
|
|
5
|
+
a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.Ed);a.style.width=c+_.qf;a.style.height=d+_.qf;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.oa.naturalWidth||this.oa.width))}px ${Math.ceil(d/this.height*(this.oa.naturalHeight||this.oa.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/
|
|
6
|
+
this.width*c+_.qf;a.style.backgroundPositionY="-"+b*d+_.qf;return a}load(){this.ce||(this.ce=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.oa.naturalWidth||this.oa.width)/this.ug);this.height||(this.height=(this.oa.naturalHeight||this.oa.height)/this.xh);this.x||(this.x=this.width*this.Sg);this.y||(this.y=this.height*this.Tg)};if(this.oa.src&&this.oa.complete)c(),a(this);else{var d=null,e=()=>{c();this.oa.removeEventListener(_.je,e);this.oa.removeEventListener(_.r,d);a(this)};d=f=>
|
|
7
|
+
{this.oa.removeEventListener(_.je,e);this.oa.removeEventListener(_.r,d);b(new _.I(1,9,2014,"Failed to load thumbnail.",f))};this.oa.addEventListener(_.je,e);this.oa.addEventListener(_.r,d);this.oa.src=this.src}}));return this.ce}};_.z("clpp.thumbnails.Thumbnail",dy);dy.prototype.load=dy.prototype.load;dy.prototype.element=dy.prototype.element;dy.prototype.raw=dy.prototype.raw;var ly=class extends sy{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Wx);if("GRID"===b.mode&&!b.gridSize)throw new _.I(1,9,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.I(1,9,7100,"Duration is mandatory");this.f=b;this.j=this.f.duration;if(this.f.gridSize)try{const c=this.f.gridSize.split(/x/).map(d=>parseInt(d,10)).filter(d=>0<d);if(2===c.length)this.h=c[0],this.o=c[1];else throw new _.I(1,9,7100,Xx);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
|
+
c),new _.I(1,9,7100,Xx);}super.init(a,b)}get(a){const b=this;return _.x(function*(){var c=b.player.getDuration();if(0>a||a>c)throw new _.I(1,9,2014,`Position is out of range: ${a}`);c=Math.floor(a/b.f.duration);const d=b.a[c];if(!d)throw new _.I(1,9,2014,"No thumbnail found for position "+a+" at index "+c);yield d.load();return d})}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";
|
|
9
|
+
for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new dy(e,this.j*(d*b+g),this.j,0,0,0,0,this.h,this.o,g%this.h,Math.floor(g/this.h),f))}return Promise.resolve()}};var ty=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Cc=new _.Cn}load(){return this.Cc}},py=class{constructor(){this.g=new _.S(Yx);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.Cn}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Wx);const c=b.url;b=_.jj(c);b.type=_.ij;a.getNetworkEngine().fetch(b).W.then(d=>{var e=d.data;d=_.K(this.a);e=_.K(e);var f=d.byteLength+e.byteLength,g=new ArrayBuffer(f),h=new DataView(g),k=0;for(let l=0,m=d.byteLength;l<m;l++)h.setUint8(k,
|
|
10
|
+
d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.a=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`);f=this.a;d=_.K(f);h=String.fromCharCode.apply(null,uy);k=Array.prototype.slice.call(d,0,8);d=64;e=0;g=!1;if(h===String.fromCharCode.apply(null,k))for(f=new DataView(f,16,20),f=f.getUint32(0,!0),0===f&&(f=1E3);!g;){e+=1;k=f;h=new DataView(this.a,d);g=h.getUint32(0,!0);k=g*k/1E3;h=h.getUint32(4,!0);h=new ty(k,h);if(k=this.f.length)k=this.f[k-1],k.length=
|
|
11
|
+
h.offset-k.offset,k.duration=h.time-k.time;this.f.push(h);d+=8;(g=4294967295===g)&&this.h.resolve();if(1E5<e)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");by(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
|
|
12
|
+
+ 'URL: ${c}`,d);a.onError(new _.I(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.I(1,9,2014,`Position is out of range: ${a}`);yield b.h;var c=b.f.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.I(1,9,2014,`No thumbnail found for position: ${a}`);c=yield ey(b,c);yield c.load();return c})}},uy=[137,66,73,70,13,10,26,10];var ny=class extends sy{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Wx);const c=b.url,d=_.jj(c);d.type=_.ij;this.f=a.getNetworkEngine().fetch(d).W.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.Fi(e).split(/\n/);for(let m=0;m<e.length;m++){var f=e[m],g=f.split(" --\x3e ");if(2===g.length){f=e[++m];var h=f.indexOf("\x3d");var k=h=0>h?[]:f.substr(h+1).split(/,/).map(parseFloat);h=k[0];const n=k[1],q=k[2];k=k[3];var l=f.indexOf("#");f=0>l?f:f.substr(0,
|
|
13
|
+
l);f.match(/^http|^\/\//)||(f=c.substr(0,c.lastIndexOf("/"))+"/"+f);l=fy(g[0]);g=fy(g[1])-l;this.a.push(new dy(f,l,g,h,n,q,k,0,0))}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnails "+`URL: ${c}`,e);a.onError(new _.I(1,9,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.I(1,9,2014,`Position is out of range: ${a}`);yield b.f;const c=b.a.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.I(1,9,2014,`No thumbnail found for position: ${a}`);
|
|
14
|
+
yield c.load();return c})}l(){return this.f}};var vy=class extends sy{get(a){const b=this;return _.x(function*(){function c(){return new _.I(1,9,2014,`No thumbnail found for position: ${a}`)}if(0>a)throw b.log.error("Position must be greater than 0 but is "+a),new _.I(1,9,2014,`Position is out of range: ${a}`);var d=b.player.getPeriods();d=gy(d,a);if(!d)throw b.log.error("Could not find period for specified position",a),c();var e=d.thumbStreams.sort(b.f)[0];if(!e)throw b.log.error("Could not find thumb stream for specified position",a),c();d=
|
|
15
|
+
e.findSegmentPosition(a-d.startTime);if(null===d||void 0===d)throw b.log.error("Could not find segment index for specified position",a),c();var f=e.getSegmentReference(d);if(f){const h=hy(f,e),k=Math.floor((a-f.startTime)/h.durationPerTile);var g;if(0<b.a.length)f=e.findSegmentPosition(0),null!==f&&(g=b.a[(d-f)*h.yf+k]);else if((e=f.Ya())&&0<e.length){let l=g=0;f=f.startTime;1<h.yf&&(g=k%h.Uc,l=Math.floor(k/h.Uc),f+=k*h.durationPerTile);g=new dy(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.Uc,h.Qe,g,l)}if(g)return yield g.load(),g}b.log.error("segment reference for specified segment index does not exist",d);throw c();})}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.getPeriods();for(const b of a)if(a=b.thumbStreams.sort(this.f)[0]){let c=a.findSegmentPosition(0),d;for(;null!==c&&!_.B(d=a.getSegmentReference(c++));){const e=hy(d,a),f=d.Ya()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.Qe;++k)for(let l=0;l<e.Uc;++l)this.a.push(new dy(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.Uc,e.Qe,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var wy=class{constructor(){this.g=new _.S(Yx);this.a=this.m=null}onPlayerCreated(a){this.m=a}onPlayerWillDestroy(){this.m=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){const b=a.getConfiguration().thumbnails;if(b)if(!1===b.enabled)this.g.info("Thumbnails disabled.");else{var c=b.mode||null;c||(c=ry(b.url||null));(this.a=qy(c))?(this.g.info("Loading thumbs configuration",b),this.m.one(_.le,()=>{this.g.info("Initialize thumbnails provider");try{this.a.init(a,b)}catch(d){this.m.onError(d)}})):
|
|
18
|
+
this.g.warn("Unknown thumbnail mode",c)}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();if(iy(c)){this.a=new vy;try{this.a.init(a,b)}catch(d){this.m.onError(d)}}}}}get(a){return this.a?this.a.get(a):Promise.reject(new _.I(1,9,2014,"Thumbnail format is not supported"))}id(){return"thumbnails"}};_.z("clpp.thumbnails.ThumbnailsPlugin",wy);wy.prototype.get=wy.prototype.get;wy.Id="thumbnails";_.Qq(new class{create(){return new wy}});
|
|
19
|
+
var jy="SINGLE",ky="GRID",my="WEBVTT",oy="BIF";};f.call(g, window);
|