@castlabs/prestoplay 6.22.0 → 6.23.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 +9 -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 +112 -112
- package/cjs/cl.conviva.js +32 -33
- package/cjs/cl.core.js +591 -586
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +81 -80
- package/cjs/cl.externs.js +43 -36
- 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 +30 -29
- package/cjs/cl.ima.js +23 -23
- package/cjs/cl.mse.js +330 -325
- 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 +26 -26
- package/cjs/cl.tizen.js +72 -72
- package/cjs/cl.ttml.js +29 -29
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +12 -13
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.yospace.js +4 -4
- package/cjs/cl.youbora.js +37 -37
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +88 -88
- package/cl.conviva.js +27 -27
- package/cl.core.js +477 -474
- package/cl.crypto.js +9 -9
- package/cl.dash.js +76 -75
- package/cl.externs.js +43 -36
- 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 +17 -17
- package/cl.mse.js +295 -291
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- 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 +15 -15
- package/cl.vtt.js +12 -12
- package/cl.yospace.js +3 -3
- package/cl.youbora.js +28 -27
- package/package.json +1 -1
- package/typings.d.ts +53 -6
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 _.w:a.
|
|
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.
|
|
11
|
-
2048&&(0===k.version?m.
|
|
12
|
-
u.
|
|
13
|
-
g;d=g.get(_.
|
|
14
|
-
A;
|
|
15
|
-
m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.
|
|
16
|
-
periodId:null}},
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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),
|
|
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 EQ="Full MP4 box must have flags defined",FQ="clpp.smooth.SmoothMP4Processor",GQ="codecPrivateData",HQ=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.O(a,c);_.O(a,b)},IQ=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.Xl()}},JQ=function(a,b){IQ(a,b>>16&255);IQ(a,b>>8&255);IQ(a,b&255)},KQ=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.Xl()}},LQ=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.Xl()}},MQ=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.Xl()}},NQ=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},OQ=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},PQ=function(a,b,c,d){c=b.xf[c];b=b.$h;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 _.zC([a],[b])[0]},QQ=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",GQ,"fourCC"]:a.type===_.p&&(c=["bitrate",GQ,"channels","bitsPerSample","samplingRate","fourCC"]);return _.dh(a,b,c,["id","segmentIndex"])},RQ=function(a,b,c){const d=c.ud.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Za:null,Zb:null,width:NaN,height:NaN,Xb:null,kd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.Za=[_.dj(d[1])];a.Zb=[_.dj(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Xb=_.dj(c.ud),a.sampleSize=c.zg||16,a.kd=c.kd,a.channelCount=c.mf}return a},SQ=function(a,b){return a.filter(c=>c.type===b)},TQ=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)},$Q=function(a,b,c){var d=null;if(UQ.test(a)){{a=UQ.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 VQ.test(a)?d=TQ(VQ,a):WQ.test(a)?d=TQ(WQ,a):XQ.test(a)?(a=XQ.exec(a),d=Number(a[1])/c.frameRate):YQ.test(a)?(a=YQ.exec(a),d=Number(a[1])/c.a):ZQ.test(a)&&(d=TQ(ZQ,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},aR=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.rm(b)},hR=function(a,b,c){a:{var d=[_.yd,_.wd];for(e of d)if((d=c.yd(e))&&d.keyId){var e=d.keyId;break a}_.C(FQ,"Could not get default Key ID for DRM init data!");e=null}c=new bR("xxxx");a.type===_.w?c=new cR(a.width,a.height):c=new dR(a.channelCount,a.sampleSize,a.kd);a=new eR;a.f=1;a.h=8;a.l=e||"00000000000000000000000000000000";a=(new bR("schi")).append([a]);b=(new bR(_.Nf)).append([new fR(b),new gR(_.bd,65536),a]);c.append([b]);return c},
|
|
7
|
+
KR=function(a,b){var c=b.Dd(),d=new iR(a.timescale,a.duration,a.id),e=(new jR).append([new kR(a.id)]),f=new lR(a.id,a.duration,a.timescale,a.width,a.height),g=new mR(a.timescale,a.duration);const h=new nR(a.type);var k=null,l=new oR;l.entries=[new pR];var m=new qR;switch(a.type){case _.w:k=new rR(a.Za,a.Zb);c?(a=hR(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new sR(a.width,a.height)).append([k]),m.entries=[a]);k=new tR;break;case _.p:k=new uR(a.Xb),c?(a=hR(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new vR(a.channelCount,a.sampleSize,a.kd)).append([k]),m.entries=[a]),k=new wR}m=(new xR).append([m,new yR,new zR,new AR,new BR]);l=(new CR).append([l]);l=(new DR).append([k,l,m]);g=(new ER).append([g,h,l]);f=(new FR).append([f,g]);d=(new GR).append([d,f,e]);e=new HR("dash",0,["iso6","mp41","avc1"]);c&&(c=b.yd(_.wd),b=b.yd(_.yd),c&&d.append([new IR("pssh",c.initData,8)]),b&&d.append([new IR("pssh",b.initData,8)]),c||b||_.C(FQ,"Could not get PSSH init data!"));b=new JR([e,d]);return _.K(b.write())},
|
|
9
|
+
UR=function(a,b){let c,d,e,f,g,h;(new _.pm).N("moof",_.im).ba("mfhd",k=>{{const l=new LR;l.f=_.P(k.reader);c=l}}).N("traf",_.im).ba("tfhd",k=>{{const l=k.reader.Oa();if(null===k.flags)throw new _.H(_.F,3,3019,EQ);const m=new MR(k.version||0,k.flags||0);m.f=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.h=_.dm(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.A=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.j=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.o=_.P(k.reader));
|
|
10
|
+
0<l-k.reader.getPosition()&&k.flags&32&&(m.l=_.P(k.reader));d=m}}).ba("trun",k=>{{var l=k.reader.Oa();if(null===k.flags)throw new _.H(_.F,3,3019,EQ);const m=new NR(k.version||0,k.flags||0);m.f=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.cm(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.l=_.P(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.f;l++)k.flags&256&&m.o.push(_.P(k.reader)),k.flags&512&&m.sampleSize.push(_.P(k.reader)),k.flags&1024&&m.A.push(_.P(k.reader)),k.flags&
|
|
11
|
+
2048&&(0===k.version?m.h.push(_.P(k.reader)):m.h.push(_.cm(k.reader)));e=m}}).ba("sdtp",k=>{{const l=_.fm(k.reader,k.reader.Oa());f=new OR("sdtp",k.version||0,k.flags||0,l,0)}}).N("uuid",k=>{var l=_.fm(k.reader,16);if(_.fj(l,PR)){l=_.P(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new QR(k.version,k.flags);l.h=_.P(k.reader);k.flags&1&&(l.j=_.am(k.reader));for(let m=0;m<l.h;m++){const n={Jf:_.fm(k.reader,8),Jc:0,Oe:[]};if(k.flags&2){n.Jc=_.bm(k.reader);for(let r=0;r<n.Jc;r++){const u={jf:0,kf:0};
|
|
12
|
+
u.jf=_.bm(k.reader);u.kf=_.P(k.reader);n.Oe.push(u)}}l.f.push(n)}g=l}}).N(_.xe,k=>{{const l=new RR;0<k.reader.Oa()?l.f=_.fm(k.reader,k.reader.Oa()):(_.C(FQ,"mdat box is empty!"),l.f=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new SR).append([d,e]);f&&a.append([f]);b.Dd()&&g&&a.append([g]);b=(new TR).append([c,a]);return new JR([b,h])},$R=function(a,b,c,d){var e=d.Dd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=UR(b,d);if(null===g)return a.request.contentType===_.G?a.data:
|
|
13
|
+
g;d=g.get(_.xe);if(a.request.contentType===_.G){e=d.f.buffer;if(c){e=_.Qi(e);if((e=(new DOMParser).parseFromString(e,_.$f))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new VR(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",_.Xd];for(let z=0,A=g.length;z<
|
|
14
|
+
A;z++){b:{var k=h;var l=g[z],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const E=l.length;for(;n<E;n++){var r=l[n].name;if(r=r.match(m)){k=k.getAttribute(r[0]);break b}}k=null}h.setAttribute(g[z],$Q(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.Ri(e).buffer}else c=e;return c}h=new TR;a=g.get("mfhd");b=new SR;k=g.get("tfhd");m=new WR(1,f);f=g.get("trun");n=g.get("sdtp");c=g.get("senc");k.f=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.h;m++)k.push(10+6*c.f[m].Jc);else g=8;b.append([c,new YR,new ZR(g,k,c.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;d=new JR([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},aS=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},bS=function(a){return{initData:_.nC(_.cn(a)),initDataType:_.bd,keyId:a,periodId:null}},cS=function(a,b,c){a=_.ln(a);c&&a.version!==c&&(a=_.pC(a,c));return{initData:_.nC(a),initDataType:_.bd,keyId:b,periodId:null}},dS=function(a,b){return _.x(function*(){var c=_.rj(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).U;a.l=c.uri;return c})},lS=function(a,b){let c=null;try{const Aa=_.Qi(b);c=_.$m(Aa,_.Hb)}catch(Aa){}if(!c)throw a.g.error("Unable to parse manifest"),new _.H(_.F,4,4033,a.l);const d=+eS(a,c,"MajorVersion"),e=+eS(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||1E7;let g=+eS(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.Xm(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+
|
|
18
|
+
d+"."+e))throw a.g.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.H(_.F,4,4036,a.l);h?(fS(a,gS),a.A=typeof a.f.liveRefreshPeriod===_.t?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):fS(a,hS);a.a={startTime:0,delay:0,duration:g/f,ce:l/f,dd:0};if(m){{var n=a.f.playreadyVersion;const Aa=[],Jb=_.Xm(m,"ProtectionHeader")[0],kb=_.cj(_.Zm(Jb)||""),Cb=_.ln(kb).a;Aa.push(aS(_.yd,bS(Cb),[Cb]));Aa.push(aS(_.wd,cS(kb,Cb,n),[Cb]));var r=Aa}a.o=r}{const Aa=[],Jb=_.Xm(c,"StreamIndex");
|
|
19
|
+
if(!Jb.length)throw a.g.error("No streams found!"),new _.H(_.F,4,4034,a.l);for(let kb=0;kb<Jb.length;kb++){{var u=a,v=Jb[kb];const Cb=eS(u,v,"Type"),Wc=+v.getAttribute("Chunks"),Lh=v.getAttribute("Subtype")||"",qe=v.getAttribute("Language")||_.eg,re=_.zi(qe),Mh=v.getAttribute("Name")||"",of=+v.getAttribute(_.db),pg=+v.getAttribute(_.cb),ks=eS(u,v,"Url"),um=+v.getAttribute("TimeScale")||null;{const Xc=[],tj=_.Xm(v,_.xb);for(let se=0;se<tj.length;se++){{let Yc,Na,Od;var z=u,A=tj[se],E=Cb;const uj=+A.getAttribute("Index"),
|
|
20
|
+
qg=+eS(z,A,"Bitrate");let qc=NaN,rg=NaN,vm=NaN,ls=NaN,LF=NaN,MF=NaN,NF=NaN;const OF=A.getAttribute("FourCC")||"";switch(E){case _.w:qc=+eS(z,A,_.cb);rg=+eS(z,A,_.db);break;case _.p:ls=+A.getAttribute("Channels")||2,vm=+eS(z,A,"SamplingRate"),MF=+eS(z,A,"AudioTag"),LF=+eS(z,A,"BitsPerSample"),NF=+eS(z,A,"PacketSize")}let ms=String(A.getAttribute("CodecPrivateData"));if(E===_.p&&!ms){{var I=ls;const PF={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},
|
|
21
|
+
wm=PF[vm];if("AACH"===OF){Na=new Uint8Array(4);const QF=PF[2*vm];Na[0]=40|wm>>1;Na[1]=wm<<7|I<<3|QF>>1;Na[2]=QF<<7|8;Na[3]=0;Yc=new Uint16Array(2);Yc[0]=(Na[0]<<8)+Na[1];Yc[1]=(Na[2]<<8)+Na[3];Od=Yc[0].toString(16)+Yc[1].toString(16)}else Na=new Uint8Array(2),Na[0]=16|wm>>1,Na[1]=wm<<7|I<<3,Yc=new Uint16Array(1),Yc[0]=(Na[0]<<8)+Na[1],Od=Yc[0].toString(16);ms=Od.toUpperCase()}}var X={id:z.V++,type:E,index:uj,bitrate:qg,ud:ms,maxHeight:qc,maxWidth:rg,kd:vm,mf:ls,ei:MF,zg:LF,si:NF,Qg:OF,segmentIndex:null}}Xc.push(X)}var ub=
|
|
22
|
+
Xc}{const Xc=[],tj=_.Xm(v,"c");for(let se=0;se<tj.length;se++){const Yc=tj[se];let Na=parseInt(Yc.getAttribute("t"),10),Od=parseInt(Yc.getAttribute("d"),10),uj=parseInt(Yc.getAttribute("r"),10),qg=0;if(isNaN(Na)&&isNaN(Od))throw u.g.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),new _.H(_.F,4,4037,u.l);0===se&&isNaN(Na)&&(qg=Na=0);if(0<se){const qc=Xc[Xc.length-1];qg=qc.n+1;qc.d||(qc.d=Na-qc.t);Na||(Na=qc.t+qc.d);Od||(Od=Na-qc.t)}Xc.push({n:qg,
|
|
23
|
+
d:Od,t:Na});if(uj){uj--;for(let qc=0;qc<uj;qc++){const rg=Xc[Xc.length-1];qg=rg.n+1;Na=rg.t+rg.d;Od=rg.d;Xc.push({n:qg,d:Od,t:Na})}}}u.C()||Xc.length===Wc||u.g.warn("Number of fragments ("+Wc+") differs from number of chunks ("+Xc.length+").");var ne=Xc}var lf={type:Cb,ii:Wc,Qh:Lh,language:re,cd:qe,name:Mh,maxWidth:of,maxHeight:pg,$h:ks,tracks:ub,xf:ne,timescale:um}}Aa.push(lf)}var mf=Aa}const Ya={ri:d,Pf:e,timescale:f,duration:g,isLive:h,pi:k,ce:l,je:!1,streams:mf};if(a.h&&a.w)return iS(a,Ya),Promise.resolve();
|
|
24
|
+
a.G.clear();{const Aa=Ya.timescale,Jb=Ya.duration,kb=SQ(Ya.streams,_.p),Cb=SQ(Ya.streams,_.w),Wc=SQ(Ya.streams,_.G),Lh=[];let qe=jS(a,Jb,Aa,kb),re=jS(a,Jb,Aa,Cb);const Mh=jS(a,Jb,Aa,Wc);qe.length||(qe=[null]);re.length||(re=[null]);for(let of=0;of<re.length;of++)for(let pg=0;pg<qe.length;pg++)Lh.push(kS(a,re[of],qe[pg]));var Bb={id:"ID",configurationId:void 0,startTime:0,endTime:Jb,variants:Lh,textStreams:Mh,thumbStreams:[]}}{var Tc=Ya.streams;let Aa=a.a.startTime,Jb=a.a.delay;const kb=a.I;let Cb=
|
|
25
|
+
Math.min(a.a.duration||Infinity,kb);const Wc=a.C(),Lh=a.a.ce,qe=a.a.dd,re=a.H,Mh=isFinite(a.F)?a.F:0;if(Wc)Cb=Infinity,Aa=Date.now()/1E3-qe,a.a.startTime=Aa,Jb=3*re;else{const pg=isFinite(kb)?kb:a.a.duration;for(const ks of Tc)for(const um of ks.tracks)um.segmentIndex.offset(-Mh),_.ZC(um.segmentIndex,pg)}const of=a.f.timeline||{};of.type=void 0;a.B=new _.kJ(of,Aa,Jb,!Wc,!0);a.B.f=Cb;_.mD(a.B,re);a.B.A=Lh;Wc||a.B.offset(-Mh)}a.D.filterAllPeriods([Bb]);a.h={presentationTimeline:a.B,periods:[Bb],minBufferTime:0,
|
|
26
|
+
cues:[]};Promise.resolve();a.K||(a.D.networkingEngine.tc(a.L),a.K=!0);a.w=Ya;return Promise.resolve()},mS=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.Qb.bind(a),b))},eS=function(a,b,c){if(b=b.getAttribute(c))return b;a.g.error("required attribute not provided: "+c);throw new _.H(_.F,4,4038,a.l,c);},fS=function(a,b){const c=b===hS;a.h&&a.h.presentationTimeline&&_.hD(a.h.presentationTimeline,c);c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.M=b},iS=function(a,b){for(let e=
|
|
27
|
+
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){QQ(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=nS(a,a.w.timescale,f,c);c=g.segmentIndex;_.yD(c,d);(d=a.a.ce)&&_.zD(c,_.wD(c)-d).forEach(h=>{h.Xa().forEach(k=>{a.G.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},
|
|
28
|
+
nS=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.xf.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=PQ(a.l,c,k,d);a.H=Math.max(a.H,l);f.push(new _.xD(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-1],a.I=Math.min(a.I,e),0===a.a.dd?a.a.dd=b.endTime:a.a.dd=Math.min(a.a.dd,b.endTime);return f},jS=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=
|
|
29
|
+
nS(a,c,k,h);const X=new _.lJ(l);var m=null;k.type!==_.G&&(m=oS(a,b,c,k,h));h.segmentIndex=X;l=_.hJ++;var n=Promise.resolve.bind(Promise),r=X.f.bind(X),u=X.get.bind(X),v=X.h.bind(X),z=X.getDuration.bind(X),A=pS[k.type];var E="";switch(k.type){case _.w:E=h.ud;var I=/00000001[0-9]7/.exec(E);E="avc1."+(I&&I[0]?E.substr(E.indexOf(I[0])+10,6):"42c00c");a.g.debug("VIDEO CODECS: ",E);break;case _.p:E=h.ud,I=2,"AACH"===h.Qg?I=5:E&&(I=(parseInt(E.substr(0,2),16)&248)>>3),E="mp4a.40."+I,a.g.debug("AUDIO CODECS: ",
|
|
30
|
+
E)}I=k.type===_.G?qS[k.Qh]:void 0;h={id:l,originalId:null,wi:null,createSegmentIndex:n,findSegmentPosition:r,getSegmentReference:u,adjustSegmentDurations:v,getDuration:z,segmentIndex:X,segmentLookupStrategy:_.VB,initSegmentReference:m,mimeType:A,codecs:E,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:I,encrypted:a.J(),keyId:null,language:k.language,originalLanguage:k.cd,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],
|
|
31
|
+
channelsCount:h.mf||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},kS=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.eg;return c||b?{id:a.R++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,allowedByKeySystem:!0}:null},oS=function(a,b,c,d,e){b=RQ(b,d.timescale||c,e);c={isLive:a.C.bind(a),Dd:a.J.bind(a),Wg:()=>1,yd:a.O.bind(a)};d=new Uint8Array(0);try{d=KR(b,c)}catch(g){throw a.g.error("Failed to generate initialization segment."),
|
|
32
|
+
new _.H(_.F,3,4035,g);}const f="data:text/plain;base64,"+_.bj(d);return new _.gJ(()=>[f],0,null,null,!0)},bR=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.w=!1;this.entries=[];this.children=[]}append(a=[]){for(let b=0;b<a.length;b++)this.children.push(a[b]),a[b].parent=this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.children.length;b++){if(this.children[b].type===a)return this.children[b];{const c=this.children[b].get(a);if(c)return c}}return null}a(){const a=
|
|
33
|
+
Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.children.length)for(let c=0;c<this.children.length;c++)b+=this.children[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);_.Yl(a,NQ(this.type));this.size>b&&HQ(a,this.size);"uuid"===this.type&&_.Yl(a,null);if(0<this.children.length&&!this.w)for(b=0;b<this.children.length;b++)this.children[b].write(a),this.children[b].a(),
|
|
34
|
+
a.getPosition()}},rS=class extends bR{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);IQ(a,this.version);JQ(a,this.flags)}},IR=class extends bR{constructor(a,b,c){super(a);this.f=b;this.offset=c}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.Yl(a,this.f,this.offset);a.getPosition()}},OR=class extends rS{constructor(a,b,c,d,e){super(a,b,c);this.f=d;this.offset=e}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);
|
|
35
|
+
_.Yl(a,this.f,this.offset);a.getPosition()}},HR=class extends bR{constructor(a,b,c){super("ftyp");this.h=a;this.Pf=b;this.f=c}a(){let a=this.h.length;a=a+4+this.f.join("").length;return a+super.a()}write(a){super.write(a);_.Yl(a,NQ(this.h));_.O(a,this.Pf);_.Yl(a,NQ(this.f.join("")));a.getPosition()}},GR=class extends bR{constructor(){super(_.De)}},FR=class extends bR{constructor(){super(_.bg)}},iR=class extends rS{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;
|
|
36
|
+
this.h=c+1;this.f=[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.f.length;return a+=super.a()}write(a){super.write(a);1===this.version?(HQ(a,0),HQ(a,0),_.O(a,this.timescale),HQ(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));_.O(a,65536);KQ(a,this.volume);KQ(a,0);_.O(a,0);_.O(a,0);for(let b=0;b<this.f.length;b++)IQ(a,this.f[b]);_.O(a,0);_.O(a,0);_.O(a,0);
|
|
37
|
+
_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,this.h);a.getPosition()}},jR=class extends bR{constructor(){super("mvex")}},kR=class extends rS{constructor(a){super("trex",0,0);this.f=a}a(){return 20+super.a()}write(a){super.write(a);_.O(a,this.f);_.O(a,1);_.O(a,0);_.O(a,0);_.O(a,0);a.getPosition()}},lR=class extends rS{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.f=[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,
|
|
38
|
+
0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.f.length;return a+super.a()}write(a){super.write(a);1===this.version?(HQ(a,0),HQ(a,0),_.O(a,this.h),_.O(a,0),HQ(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.h),_.O(a,0),_.O(a,this.duration*this.timescale));_.O(a,0);_.O(a,0);KQ(a,0);KQ(a,0);KQ(a,this.volume);KQ(a,0);for(let b=0;b<this.f.length;b++)IQ(a,this.f[b]);KQ(a,this.width);KQ(a,0);KQ(a,this.height);KQ(a,0);a.getPosition()}},mR=class extends rS{constructor(a,b){super("mdhd",
|
|
39
|
+
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?(HQ(a,0),HQ(a,0),_.O(a,this.timescale),HQ(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));KQ(a,this.language);KQ(a,0);a.getPosition()}},nR=class extends rS{constructor(a){super("hdlr",0,0);this.f=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.f===_.w?_.Yl(a,NQ("vide")):
|
|
40
|
+
_.Yl(a,NQ("soun"));_.O(a,0);_.O(a,0);_.O(a,0);this.f===_.w?_.Yl(a,NQ("VideoHandler\x00")):_.Yl(a,NQ("SoundHandler\x00"));a.getPosition()}},tR=class extends rS{constructor(){super("vmhd",0,1);this.f=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.f.byteLength+super.a()}write(a){super.write(a);KQ(a,0);_.Yl(a,this.f);a.getPosition()}},sS=class extends bR{constructor(a){super(a);this.w=!0}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);KQ(a,0);KQ(a,1)}},tS=class extends sS{constructor(a){super(a);
|
|
41
|
+
this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);KQ(a,0);KQ(a,0);_.O(a,0);_.O(a,0);_.O(a,0);KQ(a,this.width);KQ(a,this.height);_.O(a,4718592);_.O(a,4718592);_.O(a,0);KQ(a,1);IQ(a,10);_.Yl(a,NQ("AVC Coding",31));KQ(a,this.depth);MQ(a,-1)}},uS=class extends sS{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);KQ(a,this.channelCount);KQ(a,this.sampleSize);MQ(a,0);
|
|
42
|
+
KQ(a,0);KQ(a,this.sampleRate);KQ(a,0)}},sR=class extends tS{constructor(a,b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.children.length;b++)this.children[b].write(a);a.getPosition()}},cR=class extends sR{constructor(a,b){super(a,b);this.type="encv"}},vR=class extends uS{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.children.length;b++)this.children[b].write(a);a.getPosition()}},dR=class extends vR{constructor(a,b,c){super(a,
|
|
43
|
+
b,c);this.type="enca"}},rR=class extends bR{constructor(a,b){super("avcC");this.Za=a;this.Zb=b;this.version=1;this.f=this.Za[0][1];this.h=this.Za[0][2];this.level=this.Za[0][3]}a(){let a=7;for(var b=0;b<this.Za.length;b++)a+=2,a+=this.Za[b].byteLength;for(b=0;b<this.Za.length;b++)a+=2,a+=this.Zb[b].byteLength;return a+super.a()}write(a){super.write(a);IQ(a,this.version);IQ(a,this.f);IQ(a,this.h);IQ(a,this.level);IQ(a,255);IQ(a,224|this.Za.length);for(var b=0;b<this.Za.length;b++)KQ(a,this.Za[b].length),
|
|
44
|
+
_.Yl(a,this.Za[b]);IQ(a,this.Zb.length);for(b=0;b<this.Zb.length;b++)KQ(a,this.Zb[b].length),_.Yl(a,this.Zb[b]);a.getPosition()}},uR=class extends rS{constructor(a){super("esds",0,0);this.Xb=a}a(){return 22+(this.Xb.byteLength+3)+super.a()}write(a){super.write(a);IQ(a,3);IQ(a,23+this.Xb.byteLength);KQ(a,1);IQ(a,0);IQ(a,4);IQ(a,15+this.Xb.byteLength);IQ(a,64);IQ(a,21);JQ(a,0);_.O(a,0);_.O(a,0);IQ(a,5);IQ(a,this.Xb.byteLength);_.Yl(a,this.Xb);_.Yl(a,new Uint8Array([6,1,2]));a.getPosition()}},pR=class extends rS{constructor(a=
|
|
45
|
+
""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.Yl(a,NQ(this.location));a.getPosition()}},oR=class extends rS{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);a.getPosition()}},xR=class extends bR{constructor(){super(_.Tf)}},qR=class extends rS{constructor(){super(_.Vf,
|
|
46
|
+
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()}},yR=class extends rS{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);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},
|
|
47
|
+
zR=class extends rS{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()}},BR=class extends rS{constructor(){super("stco",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);
|
|
48
|
+
a.getPosition()}},AR=class extends rS{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);a.getPosition()}},wR=class extends rS{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);MQ(a,0);KQ(a,0);a.getPosition()}},CR=class extends bR{constructor(){super("dinf")}},DR=class extends bR{constructor(){super(_.Ce)}},ER=class extends bR{constructor(){super(_.ye)}},WR=class extends rS{constructor(a,b){super("tfdt",a,0);this.baseMediaDecodeTime=
|
|
49
|
+
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?HQ(a,this.baseMediaDecodeTime):_.O(a,this.baseMediaDecodeTime);a.getPosition()}},LR=class extends rS{constructor(){super("mfhd",0,0);this.f=0}a(){return 4+super.a()}write(a){super.write(a);_.O(a,this.f);a.getPosition()}},NR=class extends rS{constructor(a,b){super("trun",a,b);this.l=this.j=this.f=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&vS&&(a+=4);this.flags&wS&&(a+=
|
|
50
|
+
4);for(let b=0;b<this.f;b++)this.flags&xS&&(a+=4),this.flags&yS&&(a+=4),this.flags&zS&&(a+=4),this.flags&AS&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.f);this.flags&vS&&(a.getPosition(),LQ(a,this.j));this.flags&wS&&_.O(a,this.l);for(let b=0;b<this.f;b++)this.flags&xS&&_.O(a,this.o[b]),this.flags&yS&&_.O(a,this.sampleSize[b]),this.flags&zS&&_.O(a,this.A[b]),this.flags&AS&&(0===this.version?_.O(a,this.h[b]):LQ(a,this.h[b]));a.getPosition()}},vS=1,wS=4,xS=256,yS=512,zS=1024,AS=2048,
|
|
51
|
+
MR=class extends rS{constructor(a,b){super("tfhd",a,b);this.f=255;this.l=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&BS&&(a+=8);this.flags&CS&&(a+=4);this.flags&DS&&(a+=4);this.flags&ES&&(a+=4);this.flags&FS&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.f);this.flags&BS&&HQ(a,this.h);this.flags&CS&&_.O(a,this.A);this.flags&DS&&_.O(a,this.j);this.flags&ES&&_.O(a,this.o);this.flags&FS&&_.O(a,this.l);a.getPosition()}},BS=1,CS=2,DS=8,ES=16,FS=32,SR=class extends bR{constructor(){super("traf")}},
|
|
52
|
+
TR=class extends bR{constructor(){super("moof")}},RR=class extends bR{constructor(){super(_.xe);this.f=new Uint8Array(0)}a(){return this.f.byteLength+super.a()}write(a){super.write(a);0<this.f.byteLength&&_.Yl(a,this.f)}},eR=class extends rS{constructor(){super("tenc",0,0);this.f=1;this.h=8;this.l="";this.j=[]}a(){let a;a=20;1===this.f&&0===this.h&&(a=a+1+this.j.length);return a+super.a()}write(a){super.write(a);IQ(a,0);0===this.version?IQ(a,0):IQ(a,0);IQ(a,this.f);IQ(a,this.h);_.Yl(a,_.dj(this.l));
|
|
53
|
+
if(1===this.f&&0===this.h){IQ(a,0);for(let b=0;b<this.j.length;b++)IQ(a,this.j[b])}a.getPosition()}},gR=class extends rS{constructor(a,b){super("schm",0,0);this.f=a;this.h=b;this.Sb=""}a(){let a=8;this.flags&1&&(a+=NQ(this.Sb).byteLength);return a+super.a()}write(a){super.write(a);_.Yl(a,NQ(this.f));_.O(a,this.h);this.flags&1&&_.Yl(a,NQ(this.Sb));a.getPosition()}},fR=class extends bR{constructor(a){super("frma");this.f=a}a(){return NQ(this.f).byteLength+super.a()}write(a){super.write(a);_.Yl(a,NQ(this.f));
|
|
54
|
+
a.getPosition()}},YR=class extends rS{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]):HQ(a,this.offset[b]);a.getPosition()}},ZR=class extends rS{constructor(a,b,c){super("saiz",0,0);this.f=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.f&&(a+=this.j.length);
|
|
55
|
+
return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));IQ(a,this.f);_.O(a,this.h);if(0===this.f)for(let b=0;b<this.h;b++)IQ(a,this.j[b]);a.getPosition()}},QR=class extends rS{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.f=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.f[b].Jf.byteLength,this.flags&2){a+=2;for(let c=0;c<this.f[b].Jc;c++)a+=2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&1&&IQ(a,this.j);for(let b=
|
|
56
|
+
0;b<this.h;b++)if(_.Yl(a,this.f[b].Jf),this.flags&2){KQ(a,this.f[b].Jc);for(let c=0;c<this.f[b].Jc;c++)KQ(a,this.f[b].Oe[c].jf),_.O(a,this.f[b].Oe[c].kf)}a.getPosition()}};var VR=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))}},UQ=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,VQ=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,WQ=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,XQ=/^(\d*\.?\d*)f$/,YQ=/^(\d*\.?\d*)t$/,ZQ=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var JR=class{constructor(a){this.a=a;this.f=aR(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=aR(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var PR=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var GS=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=hS;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,OQ(a)])];return dS(this,a).then(c=>lS(this,c.data).then(()=>{mS(this,this.A);return this.h}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.jd(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 dS(this,[this.l]).then(a=>lS(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Qb(){this.g.debug(_.KB);this.D&&(this.j=null,this.update().then(()=>{mS(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&mS(this,100))}))}C(){return this.M===gS}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),Dd:this.J.bind(this),Wg:()=>1,yd:this.O.bind(this)};let d=!1;const e=new _.H(_.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=$R(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)}},pS={video:_.tg,audio:_.Lc,text:_.Fc},hS=_.Sb,gS="LIVE",qS={ai:_.QB,bi:_.gC};_.y("clpp.smooth.SmoothComponent",class extends _.Ru{f(){_.Hs.ism=GS;_.Fs[_.Gc]=GS}a(){_.WD("ism");_.XD(_.Gc)}id(){return _.Of}});};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(_.
|
|
6
|
-
this.width*c+_.
|
|
7
|
-
{this.
|
|
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=_.K(f);h=String.fromCharCode.apply(null,
|
|
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 oy="Thumbnail URL is mandatory",py="Wrong gridSize format",qy="clpp.thumbnails",sy=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.He&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>ry(a,0,e,!!f))},Promise.resolve())},ry=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return ty(a,d).then(()=>a.a[b].load()).then(()=>ry(a,e,c,d))},ty=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.Ho)c();else a.player.one(_.Rc,()=>{c()})})},
|
|
2
|
+
uy=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.Ec.resolve()})},xy=function(a,b){return vy(a,b).then(c=>new wy(c,b.time,b.duration))},vy=function(a,b){return b.load().then(()=>{const c=_.K(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.aj(c)})},yy=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},zy=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
Ay=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Zc:c,Xe:d,If:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},By=function(a){return a.some(b=>0<b.thumbStreams.length)},Jy=function(a){return a?a===Cy||a===Dy?new Ey:a===Fy?new Gy:a===Hy?new Iy:null:null},Ky=function(a){if(!a)return null;a=new _.nm(a);return a.path.match(/.*\.vtt$/i)?Fy:a.path.match(/.*\.bif$/i)?Hy:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
Cy:null};var Ly=class{constructor(){this.log=new _.S(qy);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.zf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&sy(this,b.preload)})}};var wy=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.ra=n;this.Fg=h;this.Hh=k;this.eh=l;this.fh=m;this.ke=null}raw(){return this.ra.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(_.Hd);a.style.width=c+_.wf;a.style.height=d+_.wf;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.ra.naturalWidth||this.ra.width))}px ${Math.ceil(d/this.height*(this.ra.naturalHeight||this.ra.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/
|
|
6
|
+
this.width*c+_.wf;a.style.backgroundPositionY="-"+b*d+_.wf;return a}load(){this.ke||(this.ke=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.ra.naturalWidth||this.ra.width)/this.Fg);this.height||(this.height=(this.ra.naturalHeight||this.ra.height)/this.Hh);this.x||(this.x=this.width*this.eh);this.y||(this.y=this.height*this.fh)};if(this.ra.src&&this.ra.complete)c(),a(this);else{var d=null,e=()=>{c();this.ra.removeEventListener(_.pe,e);this.ra.removeEventListener(_.q,d);a(this)};d=f=>
|
|
7
|
+
{this.ra.removeEventListener(_.pe,e);this.ra.removeEventListener(_.q,d);b(new _.H(1,9,2014,"Failed to load thumbnail.",f))};this.ra.addEventListener(_.pe,e);this.ra.addEventListener(_.q,d);this.ra.src=this.src}}));return this.ke}};_.y("clpp.thumbnails.Thumbnail",wy);wy.prototype.load=wy.prototype.load;wy.prototype.element=wy.prototype.element;wy.prototype.raw=wy.prototype.raw;var Ey=class extends Ly{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.H(1,9,7100,oy);if("GRID"===b.mode&&!b.gridSize)throw new _.H(1,9,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.H(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 _.H(1,9,7100,py);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
|
+
c),new _.H(1,9,7100,py);}super.init(a,b)}get(a){const b=this;return _.x(function*(){var c=b.player.getDuration();if(0>a||a>c)throw new _.H(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 _.H(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 wy(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 My=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Ec=new _.Mn}load(){return this.Ec}},Iy=class{constructor(){this.g=new _.S(qy);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.Mn}init(a,b){if(!b||!b.url)throw new _.H(1,9,7100,oy);const c=b.url;b=_.rj(c);b.type=_.qj;a.getNetworkEngine().fetch(b).U.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,Ny);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 My(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");uy(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
|
|
12
|
+
+ 'URL: ${c}`,d);a.onError(new _.H(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.H(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 _.H(1,9,2014,`No thumbnail found for position: ${a}`);c=yield xy(b,c);yield c.load();return c})}},Ny=[137,66,73,70,13,10,26,10];var Gy=class extends Ly{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.H(1,9,7100,oy);const c=b.url,d=_.rj(c);d.type=_.qj;this.f=a.getNetworkEngine().fetch(d).U.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.Ni(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],r=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=yy(g[0]);g=yy(g[1])-l;this.a.push(new wy(f,l,g,h,n,r,k,0,0))}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnails "+`URL: ${c}`,e);a.onError(new _.H(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 _.H(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 _.H(1,9,2014,`No thumbnail found for position: ${a}`);
|
|
14
|
+
yield c.load();return c})}l(){return this.f}};var Oy=class extends Ly{get(a){const b=this;return _.x(function*(){function c(){return new _.H(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 _.H(1,9,2014,`Position is out of range: ${a}`);var d=b.player.getPeriods();d=zy(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=Ay(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.If+k]);else if((e=f.Xa())&&0<e.length){let l=g=0;f=f.startTime;1<h.If&&(g=k%h.Zc,l=Math.floor(k/h.Zc),f+=k*h.durationPerTile);g=new wy(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.Zc,h.Xe,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=Ay(d,a),f=d.Xa()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.Xe;++k)for(let l=0;l<e.Zc;++l)this.a.push(new wy(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.Zc,e.Xe,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var Py=class{constructor(){this.g=new _.S(qy);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=Ky(b.url||null));(this.a=Jy(c))?(this.g.info("Loading thumbs configuration",b),this.m.one(_.ue,()=>{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(By(c)){this.a=new Oy;try{this.a.init(a,b)}catch(d){this.m.onError(d)}}}}}get(a){return this.a?this.a.get(a):Promise.reject(new _.H(1,9,2014,"Thumbnail format is not supported"))}id(){return"thumbnails"}};_.y("clpp.thumbnails.ThumbnailsPlugin",Py);Py.prototype.get=Py.prototype.get;Py.Id="thumbnails";_.gr(new class{create(){return new Py}});
|
|
19
|
+
var Cy="SINGLE",Dy="GRID",Fy="WEBVTT",Hy="BIF";};f.call(g, window);
|