@castlabs/prestoplay 6.19.1 → 6.20.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 +25 -0
- package/README.md +8 -6
- 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 +108 -108
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +571 -567
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +77 -77
- package/cjs/cl.externs.js +34 -35
- package/cjs/cl.freewheel.js +21 -20
- package/cjs/cl.hls.js +71 -70
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +29 -28
- package/cjs/cl.ima.js +24 -24
- package/cjs/cl.mse.js +311 -309
- 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 -71
- package/cjs/cl.thumbnails.js +26 -26
- package/cjs/cl.tizen.js +69 -69
- package/cjs/cl.ttml.js +29 -28
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -12
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.youbora.js +16 -16
- 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 +459 -455
- package/cl.crypto.js +9 -9
- package/cl.dash.js +72 -72
- package/cl.externs.js +34 -35
- package/cl.freewheel.js +18 -18
- package/cl.hls.js +74 -74
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -25
- package/cl.ima.js +17 -17
- package/cl.mse.js +278 -276
- 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 -9
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +14 -14
- package/clpp.styles.css +0 -8
- package/package.json +1 -1
- package/typings.d.ts +36 -14
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if(null===k.flags)throw new _.G(_.E,3,3019,
|
|
10
|
-
|
|
11
|
-
k.
|
|
12
|
-
_.
|
|
13
|
-
|
|
14
|
-
b
|
|
15
|
-
|
|
16
|
-
a.
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).W;a.l=c.uri;return c})},
|
|
18
|
-
1E7;let g=+
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
+
|
|
22
|
-
new Uint16Array(1),Vc[0]=(Ka[0]<<8)+Ka[1],
|
|
23
|
-
new _.G(_.E,4,4037,u.l);0===
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
{};
|
|
27
|
-
function(a,b){const c=b===
|
|
28
|
-
d);(d=a.a.
|
|
29
|
-
1],a.I=Math.min(a.I,e),0===a.a
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this
|
|
34
|
-
|
|
35
|
-
this.h.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
this.j),_.N(a,0),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.
|
|
42
|
-
|
|
43
|
-
7;for(var b=0;b<this.
|
|
44
|
-
0);this.Wb=a}a(){return 22+(this.Wb.byteLength+3)+super.a()}write(a){super.write(a);
|
|
45
|
-
a.getPosition()}},
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
4;this.flags&
|
|
52
|
-
this.h=new Uint8Array(0)}a(){return this.h.byteLength+super.a()}write(a){super.write(a);0<this.h.byteLength&&_.
|
|
53
|
-
|
|
54
|
-
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&&(_.N(a,0),_.N(a,0));_.N(a,1);for(let b=0;1>b;b++)0===this.version?_.N(a,this.offset[b]):
|
|
55
|
-
_.N(a,this.j);if(0===this.h)for(let b=0;b<this.j;b++)
|
|
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 ZO="Full MP4 box must have flags defined",$O="clpp.smooth.SmoothMP4Processor",aP="codecPrivateData",bP=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.N(a,c);_.N(a,b)},cP=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.Ml()}},dP=function(a,b){cP(a,b>>16&255);cP(a,b>>8&255);cP(a,b&255)},eP=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.Ml()}},fP=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.Ml()}},gP=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.Ml()}},hP=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},iP=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},jP=function(a,b,c,d){c=b.hf[c];b=b.Mh;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 _.wB([a],[b])[0]},kP=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.t?c=["maxWidth","maxHeight","bitrate",aP,"fourCC"]:a.type===_.p&&(c=["bitrate",aP,"channels","bitsPerSample","samplingRate","fourCC"]);return _.Xg(a,b,c,["id","segmentIndex"])},lP=function(a,b,c){const d=c.pd.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Ya:null,Yb:null,width:NaN,height:NaN,Wb:null,fd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.t:a.Ya=[_.Vi(d[1])];a.Yb=[_.Vi(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Wb=_.Vi(c.pd),a.sampleSize=c.lg||16,a.fd=c.fd,a.channelCount=c.$e}return a},mP=function(a,b){return a.filter(c=>c.type===b)},nP=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)},uP=function(a,b,c){var d=null;if(oP.test(a)){{a=oP.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 pP.test(a)?d=nP(pP,a):qP.test(a)?d=nP(qP,a):rP.test(a)?(a=rP.exec(a),d=Number(a[1])/c.frameRate):sP.test(a)?(a=sP.exec(a),d=Number(a[1])/c.a):tP.test(a)&&(d=nP(tP,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},vP=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.gm(b)},CP=function(a,b,c){a:{var d=[_.xd,_.vd];for(e of d)if((d=c.vd(e))&&d.keyId){var e=d.keyId;break a}_.B($O,"Could not get default Key ID for DRM init data!");e=null}c=new wP("xxxx");a.type===_.t?c=new xP(a.width,a.height):c=new yP(a.channelCount,a.sampleSize,a.fd);a=new zP;a.h=1;a.j=8;a.o=e||"00000000000000000000000000000000";a=(new wP("schi")).append([a]);b=(new wP(_.If)).append([new AP(b),new BP(_.ad,65536),a]);c.append([b]);return c},
|
|
7
|
+
eQ=function(a,b){var c=b.xd(),d=new DP(a.timescale,a.duration,a.id),e=(new EP).append([new FP(a.id)]),f=new GP(a.id,a.duration,a.timescale,a.width,a.height),g=new HP(a.timescale,a.duration);const h=new IP(a.type);var k=null,l=new JP;l.entries=[new KP];var m=new LP;switch(a.type){case _.t:k=new MP(a.Ya,a.Yb);c?(a=CP(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new NP(a.width,a.height)).append([k]),m.entries=[a]);k=new OP;break;case _.p:k=new PP(a.Wb),c?(a=CP(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new QP(a.channelCount,a.sampleSize,a.fd)).append([k]),m.entries=[a]),k=new RP}m=(new SP).append([m,new TP,new UP,new VP,new WP]);l=(new XP).append([l]);l=(new YP).append([k,l,m]);g=(new ZP).append([g,h,l]);f=(new $P).append([f,g]);d=(new aQ).append([d,f,e]);e=new bQ("dash",0,["iso6","mp41","avc1"]);c&&(c=b.vd(_.vd),b=b.vd(_.xd),c&&d.append([new cQ("pssh",c.initData,8)]),b&&d.append([new cQ("pssh",b.initData,8)]),c||b||_.B($O,"Could not get PSSH init data!"));b=new dQ([e,d]);return _.J(b.write())},
|
|
9
|
+
oQ=function(a,b){let c,d,e,f,g,h;(new _.em).N("moof",_.Yl).ca("mfhd",k=>{{const l=new fQ;l.h=_.O(k.reader);c=l}}).N("traf",_.Yl).ca("tfhd",k=>{{const l=k.reader.Ka();if(null===k.flags)throw new _.G(_.E,3,3019,ZO);const m=new gQ(k.version||0,k.flags||0);m.h=_.O(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.Tl(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.B=_.O(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.l=_.O(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.w=_.O(k.reader));
|
|
10
|
+
0<l-k.reader.getPosition()&&k.flags&32&&(m.o=_.O(k.reader));d=m}}).ca("trun",k=>{{var l=k.reader.Ka();if(null===k.flags)throw new _.G(_.E,3,3019,ZO);const m=new hQ(k.version||0,k.flags||0);m.h=_.O(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.l=_.Sl(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.o=_.O(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.h;l++)k.flags&256&&m.w.push(_.O(k.reader)),k.flags&512&&m.sampleSize.push(_.O(k.reader)),k.flags&1024&&m.B.push(_.O(k.reader)),k.flags&
|
|
11
|
+
2048&&(0===k.version?m.j.push(_.O(k.reader)):m.j.push(_.Sl(k.reader)));e=m}}).ca("sdtp",k=>{{const l=_.Vl(k.reader,k.reader.Ka());f=new iQ("sdtp",k.version||0,k.flags||0,l,0)}}).N("uuid",k=>{var l=_.Vl(k.reader,16);if(_.Xi(l,jQ)){l=_.O(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new kQ(k.version,k.flags);l.j=_.O(k.reader);k.flags&1&&(l.l=_.Ql(k.reader));for(let m=0;m<l.j;m++){const n={vf:_.Vl(k.reader,8),Jc:0,He:[]};if(k.flags&2){n.Jc=_.Rl(k.reader);for(let q=0;q<n.Jc;q++){const u={Xe:0,Ye:0};
|
|
12
|
+
u.Xe=_.Rl(k.reader);u.Ye=_.O(k.reader);n.He.push(u)}}l.h.push(n)}g=l}}).N(_.te,k=>{{const l=new lQ;0<k.reader.Ka()?l.h=_.Vl(k.reader,k.reader.Ka()):(_.B($O,"mdat box is empty!"),l.h=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new mQ).append([d,e]);f&&a.append([f]);b.xd()&&g&&a.append([g]);b=(new nQ).append([c,a]);return new dQ([b,h])},tQ=function(a,b,c,d){var e=d.xd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=oQ(b,d);if(null===g)return a.request.contentType===_.F?a.data:
|
|
13
|
+
g;d=g.get(_.te);if(a.request.contentType===_.F){e=d.h.buffer;if(c){e=_.Hi(e);if((e=(new DOMParser).parseFromString(e,_.Vf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new pQ(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],uP(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.Ii(e).buffer}else c=e;return c}h=new nQ;a=g.get("mfhd");b=new mQ;k=g.get("tfhd");m=new qQ(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].Jc);else g=8;b.append([c,new rQ,new sQ(g,k,c.j)])}h.append([a,b]);f.flags|=1;f.l=h.a()+8;d=new dQ([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},uQ=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},vQ=function(a){return{initData:_.kB(_.Qm(a)),initDataType:_.ad,keyId:a,periodId:null}},wQ=function(a,b,c){a=_.Ym(a);c&&a.version!==c&&(a=_.mB(a,c));return{initData:_.kB(a),initDataType:_.ad,keyId:b,periodId:null}},xQ=function(a,b){return _.w(function*(){var c=_.ij(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})},FQ=function(a,b){let c=null;try{{const Aa=new DOMParser;let gb,Pa;try{const hb=_.Hi(b);Pa=Aa.parseFromString(hb.trim(),_.Vf)}catch(hb){throw hb;}Pa&&Pa.documentElement.tagName===_.Jb&&(gb=Pa.documentElement);c=gb&&0<gb.getElementsByTagName("parsererror").length?null:gb}}catch(Aa){}if(!c)throw a.g.error("Unable to parse manifest"),new _.G(_.E,4,4033,a.l);const d=+yQ(a,c,"MajorVersion"),e=+yQ(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||
|
|
18
|
+
1E7;let g=+yQ(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.Km(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 _.G(_.E,4,4036,a.l);h?(zQ(a,AQ),a.A=typeof a.f.liveRefreshPeriod===_.r?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):zQ(a,BQ);a.a={startTime:0,delay:0,duration:g/f,Wd:l/f,$c:0};if(m){{var n=a.f.playreadyVersion;
|
|
19
|
+
const Aa=[],gb=_.Km(m,"ProtectionHeader")[0],Pa=_.Ui(_.Mm(gb)||""),hb=_.Ym(Pa).a;Aa.push(uQ(_.xd,vQ(hb),[hb]));Aa.push(uQ(_.vd,wQ(Pa,hb,n),[hb]));var q=Aa}a.o=q}{const Aa=[],gb=_.Km(c,"StreamIndex");if(!gb.length)throw a.g.error("No streams found!"),new _.G(_.E,4,4034,a.l);for(let Pa=0;Pa<gb.length;Pa++){{var u=a,v=gb[Pa];const hb=yQ(u,v,"Type"),Tc=+v.getAttribute("Chunks"),Jh=v.getAttribute("Subtype"),me=v.getAttribute("Language")||_.$f,ne=_.qi(me),Kh=v.getAttribute("Name")||"",jf=+v.getAttribute(_.fb),
|
|
20
|
+
og=+v.getAttribute(_.eb),Mr=yQ(u,v,"Url"),jm=+v.getAttribute("TimeScale")||null;{const Uc=[],qj=_.Km(v,_.Ab);for(let oe=0;oe<qj.length;oe++){{let Vc,Ka,Hd;var y=u,A=qj[oe],D=hb;const rj=+A.getAttribute("Index"),pg=+yQ(y,A,"Bitrate");let jc=NaN,qg=NaN,km=NaN,Nr=NaN,RE=NaN,SE=NaN,TE=NaN;const UE=A.getAttribute("FourCC");switch(D){case _.t:jc=+yQ(y,A,_.eb);qg=+yQ(y,A,_.fb);break;case _.p:Nr=+A.getAttribute("Channels")||2,km=+yQ(y,A,"SamplingRate"),SE=+yQ(y,A,"AudioTag"),RE=+yQ(y,A,"BitsPerSample"),TE=
|
|
21
|
+
+yQ(y,A,"PacketSize")}let Or=String(A.getAttribute("CodecPrivateData"));if(D===_.p&&!Or){{var H=Nr;const VE={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},lm=VE[km];if("AACH"===UE){Ka=new Uint8Array(4);const WE=VE[2*km];Ka[0]=40|lm>>1;Ka[1]=lm<<7|H<<3|WE>>1;Ka[2]=WE<<7|8;Ka[3]=0;Vc=new Uint16Array(2);Vc[0]=(Ka[0]<<8)+Ka[1];Vc[1]=(Ka[2]<<8)+Ka[3];Hd=Vc[0].toString(16)+Vc[1].toString(16)}else Ka=new Uint8Array(2),Ka[0]=16|lm>>1,Ka[1]=lm<<7|H<<3,Vc=
|
|
22
|
+
new Uint16Array(1),Vc[0]=(Ka[0]<<8)+Ka[1],Hd=Vc[0].toString(16);Or=Hd.toUpperCase()}}var X={id:y.V++,type:D,index:rj,bitrate:pg,pd:Or,maxHeight:jc,maxWidth:qg,fd:km,$e:Nr,Sh:SE,lg:RE,di:TE,Cg:UE,segmentIndex:null}}Uc.push(X)}var vb=Uc}{const Uc=[],qj=_.Km(v,"c");for(let oe=0;oe<qj.length;oe++){const Vc=qj[oe];let Ka=parseInt(Vc.getAttribute("t"),10),Hd=parseInt(Vc.getAttribute("d"),10),rj=parseInt(Vc.getAttribute("r"),10),pg=0;if(isNaN(Ka)&&isNaN(Hd))throw u.g.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),
|
|
23
|
+
new _.G(_.E,4,4037,u.l);0===oe&&isNaN(Ka)&&(pg=Ka=0);if(0<oe){const jc=Uc[Uc.length-1];pg=jc.n+1;jc.d||(jc.d=Ka-jc.t);Ka||(Ka=jc.t+jc.d);Hd||(Hd=Ka-jc.t)}Uc.push({n:pg,d:Hd,t:Ka});if(rj){rj--;for(let jc=0;jc<rj;jc++){const qg=Uc[Uc.length-1];pg=qg.n+1;Ka=qg.t+qg.d;Hd=qg.d;Uc.push({n:pg,d:Hd,t:Ka})}}}u.C()||Uc.length===Tc||u.g.warn("Number of fragments ("+Tc+") differs from number of chunks ("+Uc.length+").");var je=Uc}var ff={type:hb,Vh:Tc,Ch:Jh,language:ne,Zc:me,name:Kh,maxWidth:jf,maxHeight:og,
|
|
24
|
+
Mh:Mr,tracks:vb,hf:je,timescale:jm}}Aa.push(ff)}var gf=Aa}const Ya={ci:d,Af:e,timescale:f,duration:g,isLive:h,bi:k,Wd:l,be:!1,streams:gf};if(a.h&&a.w)return CQ(a,Ya),Promise.resolve();a.G.clear();{const Aa=Ya.timescale,gb=Ya.duration,Pa=mP(Ya.streams,_.p),hb=mP(Ya.streams,_.t),Tc=mP(Ya.streams,_.F),Jh=[];let me=DQ(a,gb,Aa,Pa),ne=DQ(a,gb,Aa,hb);const Kh=DQ(a,gb,Aa,Tc);me.length||(me=[null]);ne.length||(ne=[null]);for(let jf=0;jf<ne.length;jf++)for(let og=0;og<me.length;og++)Jh.push(EQ(a,ne[jf],me[og]));
|
|
25
|
+
var Bb={id:"ID",configurationId:void 0,startTime:0,endTime:gb,variants:Jh,textStreams:Kh,thumbStreams:[]}}{var Qc=Ya.streams;let Aa=a.a.startTime,gb=a.a.delay;const Pa=a.I;let hb=Math.min(a.a.duration||Infinity,Pa);const Tc=a.C(),Jh=a.a.Wd,me=a.a.$c,ne=a.H,Kh=isFinite(a.F)?a.F:0;if(Tc)hb=Infinity,Aa=Date.now()/1E3-me,a.a.startTime=Aa,gb=3*ne;else{const og=isFinite(Pa)?Pa:a.a.duration;for(const Mr of Qc)for(const jm of Mr.tracks)jm.segmentIndex.offset(-Kh),_.WB(jm.segmentIndex,og)}const jf=a.f.timeline||
|
|
26
|
+
{};jf.type=void 0;a.B=new _.LH(jf,Aa,gb,!Tc,!0);a.B.f=hb;_.jC(a.B,ne);a.B.A=Jh;Tc||a.B.offset(-Kh)}a.D.filterAllPeriods([Bb]);a.h={presentationTimeline:a.B,periods:[Bb],minBufferTime:0,cues:[]};Promise.resolve();a.K||(a.D.networkingEngine.sc(a.L),a.K=!0);a.w=Ya;return Promise.resolve()},GQ=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.Pb.bind(a),b))},yQ=function(a,b,c){if(b=b.getAttribute(c))return b;a.g.error("required attribute not provided: "+c);throw new _.G(_.E,4,4038,a.l,c);},zQ=
|
|
27
|
+
function(a,b){const c=b===BQ;a.h&&a.h.presentationTimeline&&_.eC(a.h.presentationTimeline,c);c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.M=b},CQ=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){kP(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=HQ(a,a.w.timescale,f,c);c=g.segmentIndex;_.vC(c,
|
|
28
|
+
d);(d=a.a.Wd)&&_.wC(c,_.tC(c)-d).forEach(h=>{h.Wa().forEach(k=>{a.G.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},HQ=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.hf.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=jP(a.l,c,k,d);a.H=Math.max(a.H,l);f.push(new _.uC(k,h,m,()=>[n],0,null,0,null,!0,g));a.G.set(n,h);e+=l});if(c.type===_.t||c.type===_.p)b=f[f.length-
|
|
29
|
+
1],a.I=Math.min(a.I,e),0===a.a.$c?a.a.$c=b.endTime:a.a.$c=Math.min(a.a.$c,b.endTime);return f},DQ=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=HQ(a,c,k,h);const X=new _.MH(l);var m=null;k.type!==_.F&&(m=IQ(a,b,c,k,h));h.segmentIndex=X;l=_.QH++;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=JQ[k.type];var D="";switch(k.type){case _.t:D=h.pd;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.pd,H=2,"AACH"===h.Cg?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===_.F?KQ[k.Ch]:void 0;h={id:l,originalId:null,fi:null,createSegmentIndex:n,findSegmentPosition:q,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:X,segmentLookupStrategy:_.TA,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.Zc,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.$e||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},EQ=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.$f;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},IQ=function(a,b,c,d,e){b=lP(b,d.timescale||c,e);c={isLive:a.C.bind(a),xd:a.J.bind(a),Ig:()=>1,vd:a.O.bind(a)};d=new Uint8Array(0);try{d=eQ(b,c)}catch(g){throw a.g.error("Failed to generate initialization segment."),new _.G(_.E,3,4035,g);}const f="data:text/plain;base64,"+_.Ti(d);return new _.IH(()=>[f],0,null,null,!0)},wP=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?_.N(a,1):_.N(a,this.size);_.Nl(a,hP(this.type));this.size>
|
|
34
|
+
b&&bP(a,this.size);"uuid"===this.type&&_.Nl(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()}},LQ=class extends wP{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);cP(a,this.version);dP(a,this.flags)}},cQ=class extends wP{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);_.Nl(a,this.h,this.offset);a.getPosition()}},
|
|
35
|
+
iQ=class extends LQ{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);_.Nl(a,this.h,this.offset);a.getPosition()}},bQ=class extends wP{constructor(a,b,c){super("ftyp");this.j=a;this.Af=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);_.Nl(a,hP(this.j));_.N(a,this.Af);_.Nl(a,hP(this.h.join("")));a.getPosition()}},aQ=class extends wP{constructor(){super(_.ze)}},
|
|
36
|
+
$P=class extends wP{constructor(){super(_.Xf)}},DP=class extends LQ{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?(bP(a,0),bP(a,0),_.N(a,this.timescale),bP(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.timescale),_.N(a,this.duration*
|
|
37
|
+
this.timescale));_.N(a,65536);eP(a,this.volume);eP(a,0);_.N(a,0);_.N(a,0);for(let b=0;b<this.h.length;b++)cP(a,this.h[b]);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,this.j);a.getPosition()}},EP=class extends wP{constructor(){super("mvex")}},FP=class extends LQ{constructor(a){super("trex",0,0);this.h=a}a(){return 20+super.a()}write(a){super.write(a);_.N(a,this.h);_.N(a,1);_.N(a,0);_.N(a,0);_.N(a,0);a.getPosition()}},GP=class extends LQ{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?(bP(a,0),bP(a,0),_.N(a,this.j),_.N(a,0),bP(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.j),_.N(a,0),_.N(a,this.duration*this.timescale));_.N(a,0);_.N(a,0);eP(a,0);eP(a,0);eP(a,this.volume);eP(a,0);for(let b=
|
|
39
|
+
0;b<this.h.length;b++)cP(a,this.h[b]);eP(a,this.width);eP(a,0);eP(a,this.height);eP(a,0);a.getPosition()}},HP=class extends LQ{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?(bP(a,0),bP(a,0),_.N(a,this.timescale),bP(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.timescale),_.N(a,this.duration*this.timescale));eP(a,this.language);eP(a,0);a.getPosition()}},
|
|
40
|
+
IP=class extends LQ{constructor(a){super("hdlr",0,0);this.h=a}a(){return 33+super.a()}write(a){super.write(a);_.N(a,0);this.h===_.t?_.Nl(a,hP("vide")):_.Nl(a,hP("soun"));_.N(a,0);_.N(a,0);_.N(a,0);this.h===_.t?_.Nl(a,hP("VideoHandler\x00")):_.Nl(a,hP("SoundHandler\x00"));a.getPosition()}},OP=class extends LQ{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);eP(a,0);_.Nl(a,this.h);a.getPosition()}},MQ=class extends wP{constructor(a){super(a);
|
|
41
|
+
this.A=!0}a(){return 8+super.a()}write(a){super.write(a);_.N(a,0);eP(a,0);eP(a,1)}},NQ=class extends MQ{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);eP(a,0);eP(a,0);_.N(a,0);_.N(a,0);_.N(a,0);eP(a,this.width);eP(a,this.height);_.N(a,4718592);_.N(a,4718592);_.N(a,0);eP(a,1);cP(a,10);_.Nl(a,hP("AVC Coding",31));eP(a,this.depth);gP(a,-1)}},OQ=class extends MQ{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);_.N(a,0);_.N(a,0);eP(a,this.channelCount);eP(a,this.sampleSize);gP(a,0);eP(a,0);eP(a,this.sampleRate);eP(a,0)}},NP=class extends NQ{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()}},xP=class extends NP{constructor(a,b){super(a,b);this.type="encv"}},QP=class extends OQ{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()}},yP=class extends QP{constructor(a,b,c){super(a,b,c);this.type="enca"}},MP=class extends wP{constructor(a,b){super("avcC");this.Ya=a;this.Yb=b;this.version=1;this.h=this.Ya[0][1];this.j=this.Ya[0][2];this.level=this.Ya[0][3]}a(){let a=7;for(var b=0;b<this.Ya.length;b++)a+=2,a+=this.Ya[b].byteLength;for(b=0;b<this.Ya.length;b++)a+=2,a+=this.Yb[b].byteLength;return a+super.a()}write(a){super.write(a);cP(a,this.version);cP(a,this.h);cP(a,this.j);cP(a,this.level);cP(a,255);cP(a,224|this.Ya.length);
|
|
44
|
+
for(var b=0;b<this.Ya.length;b++)eP(a,this.Ya[b].length),_.Nl(a,this.Ya[b]);cP(a,this.Yb.length);for(b=0;b<this.Yb.length;b++)eP(a,this.Yb[b].length),_.Nl(a,this.Yb[b]);a.getPosition()}},PP=class extends LQ{constructor(a){super("esds",0,0);this.Wb=a}a(){return 22+(this.Wb.byteLength+3)+super.a()}write(a){super.write(a);cP(a,3);cP(a,23+this.Wb.byteLength);eP(a,1);cP(a,0);cP(a,4);cP(a,15+this.Wb.byteLength);cP(a,64);cP(a,21);dP(a,0);_.N(a,0);_.N(a,0);cP(a,5);cP(a,this.Wb.byteLength);_.Nl(a,this.Wb);
|
|
45
|
+
_.Nl(a,new Uint8Array([6,1,2]));a.getPosition()}},KP=class extends LQ{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&&_.Nl(a,hP(this.location));a.getPosition()}},JP=class extends LQ{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);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
|
|
46
|
+
a.getPosition()}},SP=class extends wP{constructor(){super(_.Of)}},LP=class extends LQ{constructor(){super(_.Qf,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);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},TP=class extends LQ{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
|
+
_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},UP=class extends LQ{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);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},WP=class extends LQ{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);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},VP=class extends LQ{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.N(a,0);_.N(a,0);a.getPosition()}},RP=class extends LQ{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);gP(a,0);eP(a,0);a.getPosition()}},XP=class extends wP{constructor(){super("dinf")}},YP=class extends wP{constructor(){super(_.ye)}},
|
|
49
|
+
ZP=class extends wP{constructor(){super(_.ue)}},qQ=class extends LQ{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?bP(a,this.baseMediaDecodeTime):_.N(a,this.baseMediaDecodeTime);a.getPosition()}},fQ=class extends LQ{constructor(){super("mfhd",0,0);this.h=0}a(){return 4+super.a()}write(a){super.write(a);_.N(a,this.h);a.getPosition()}},hQ=class extends LQ{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&PQ&&(a+=4);this.flags&QQ&&(a+=4);for(let b=0;b<this.h;b++)this.flags&RQ&&(a+=4),this.flags&SQ&&(a+=4),this.flags&TQ&&(a+=4),this.flags&UQ&&(a+=4);return a+super.a()}write(a){super.write(a);_.N(a,this.h);this.flags&PQ&&(a.getPosition(),fP(a,this.l));this.flags&QQ&&_.N(a,this.o);for(let b=0;b<this.h;b++)this.flags&RQ&&_.N(a,this.w[b]),this.flags&SQ&&_.N(a,this.sampleSize[b]),this.flags&TQ&&_.N(a,this.B[b]),
|
|
51
|
+
this.flags&UQ&&(0===this.version?_.N(a,this.j[b]):fP(a,this.j[b]));a.getPosition()}},PQ=1,QQ=4,RQ=256,SQ=512,TQ=1024,UQ=2048,gQ=class extends LQ{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&VQ&&(a+=8);this.flags&WQ&&(a+=4);this.flags&XQ&&(a+=4);this.flags&YQ&&(a+=4);this.flags&ZQ&&(a+=4);return a+super.a()}write(a){super.write(a);_.N(a,this.h);this.flags&VQ&&bP(a,this.j);this.flags&WQ&&_.N(a,this.B);this.flags&XQ&&_.N(a,this.l);this.flags&
|
|
52
|
+
YQ&&_.N(a,this.w);this.flags&ZQ&&_.N(a,this.o);a.getPosition()}},VQ=1,WQ=2,XQ=8,YQ=16,ZQ=32,mQ=class extends wP{constructor(){super("traf")}},nQ=class extends wP{constructor(){super("moof")}},lQ=class extends wP{constructor(){super(_.te);this.h=new Uint8Array(0)}a(){return this.h.byteLength+super.a()}write(a){super.write(a);0<this.h.byteLength&&_.Nl(a,this.h)}},zP=class extends LQ{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);cP(a,0);0===this.version?cP(a,0):cP(a,0);cP(a,this.h);cP(a,this.j);_.Nl(a,_.Vi(this.o));if(1===this.h&&0===this.j){cP(a,0);for(let b=0;b<this.l.length;b++)cP(a,this.l[b])}a.getPosition()}},BP=class extends LQ{constructor(a,b){super("schm",0,0);this.h=a;this.j=b;this.Rb=""}a(){let a=8;this.flags&1&&(a+=hP(this.Rb).byteLength);return a+super.a()}write(a){super.write(a);_.Nl(a,hP(this.h));_.N(a,this.j);this.flags&1&&_.Nl(a,hP(this.Rb));a.getPosition()}},AP=
|
|
54
|
+
class extends wP{constructor(a){super("frma");this.h=a}a(){return hP(this.h).byteLength+super.a()}write(a){super.write(a);_.Nl(a,hP(this.h));a.getPosition()}},rQ=class extends LQ{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&&(_.N(a,0),_.N(a,0));_.N(a,1);for(let b=0;1>b;b++)0===this.version?_.N(a,this.offset[b]):bP(a,this.offset[b]);a.getPosition()}},sQ=class extends LQ{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&&(_.N(a,0),_.N(a,0));cP(a,this.h);_.N(a,this.j);if(0===this.h)for(let b=0;b<this.j;b++)cP(a,this.l[b]);a.getPosition()}},kQ=class extends LQ{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].vf.byteLength,this.flags&2){a+=2;for(let c=0;c<this.h[b].Jc;c++)a+=
|
|
56
|
+
2,a+=4}return a+super.a()}write(a){super.write(a);_.N(a,this.j);this.flags&1&&cP(a,this.l);for(let b=0;b<this.j;b++)if(_.Nl(a,this.h[b].vf),this.flags&2){eP(a,this.h[b].Jc);for(let c=0;c<this.h[b].Jc;c++)eP(a,this.h[b].He[c].Xe),_.N(a,this.h[b].He[c].Ye)}a.getPosition()}};var pQ=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))}},oP=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,pP=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,qP=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,rP=/^(\d*\.?\d*)f$/,sP=/^(\d*\.?\d*)t$/,tP=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var dQ=class{constructor(a){this.a=a;this.f=vP(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=vP(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var jQ=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var $Q=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 _.R("clpp.smooth.SmoothParser");this.K=!1;this.j=this.A=null;this.M=BQ;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,iP(a)])];return xQ(this,a).then(c=>FQ(this,c.data).then(()=>{GQ(this,this.A);return this.h}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.ed(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 xQ(this,[this.l]).then(a=>FQ(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Pb(){this.g.debug(_.KA);this.D&&(this.j=null,this.update().then(()=>{GQ(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&GQ(this,100))}))}C(){return this.M===AQ}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),Ig:()=>1,vd:this.O.bind(this)};let d=!1;const e=new _.G(_.E,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=tQ(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)}},JQ={video:_.lg,audio:_.Kc,text:_.Ec},BQ=_.Tb,AQ="LIVE",KQ={Nh:_.PA,Ph:_.eB};_.x("clpp.smooth.SmoothComponent",class extends _.qu{f(){_.fs.ism=$Q;_.ds[_.Fc]=$Q}a(){_.TC("ism");_.UC(_.Fc)}id(){return _.Jf}});};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+_.rf;a.style.backgroundPositionY="-"+b*d+_.rf;return a}load(){this.
|
|
7
|
-
f=>{this.oa.removeEventListener(_.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
c
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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 rx="Thumbnail URL is mandatory",sx="Wrong gridSize format",tx="clpp.thumbnails",vx=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.De&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>ux(a,0,e,!!f))},Promise.resolve())},ux=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return wx(a,d).then(()=>a.a[b].load()).then(()=>ux(a,e,c,d))},wx=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.ko)c();else a.player.one(_.Rc,()=>{c()})})},
|
|
2
|
+
xx=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.Ec.resolve()})},Ax=function(a,b){return yx(a,b).then(c=>new zx(c,b.time,b.duration))},yx=function(a,b){return b.load().then(()=>{const c=_.J(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.Si(c)})},Bx=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},Cx=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
Dx=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Wc:c,Oe:d,uf:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},Ex=function(a){return a.some(b=>0<b.thumbStreams.length)},Mx=function(a){return a?a===Fx||a===Gx?new Hx:a===Ix?new Jx:a===Kx?new Lx:null:null},Nx=function(a){if(!a)return null;a=new _.cm(a);return a.path.match(/.*\.vtt$/i)?Ix:a.path.match(/.*\.bif$/i)?Kx:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
Fx:null};var Ox=class{constructor(){this.log=new _.R(tx);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.uf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&vx(this,b.preload)})}};var zx=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.rg=h;this.th=k;this.Pg=l;this.Qg=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+_.rf;a.style.height=d+_.rf;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+_.rf;a.style.backgroundPositionY="-"+b*d+_.rf;return a}load(){this.ce||(this.ce=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.oa.naturalWidth||this.oa.width)/this.rg);this.height||(this.height=(this.oa.naturalHeight||this.oa.height)/this.th);this.x||(this.x=this.width*this.Pg);this.y||(this.y=this.height*this.Qg)};if(this.oa.src&&this.oa.complete)c(),a(this);else{var d=null,e=()=>{c();this.oa.removeEventListener(_.le,e);this.oa.removeEventListener(_.Ud,d);a(this)};d=
|
|
7
|
+
f=>{this.oa.removeEventListener(_.le,e);this.oa.removeEventListener(_.Ud,d);b(new _.G(1,9,2014,"Failed to load thumbnail.",f))};this.oa.addEventListener(_.le,e);this.oa.addEventListener(_.Ud,d);this.oa.src=this.src}}));return this.ce}};_.x("clpp.thumbnails.Thumbnail",zx);zx.prototype.load=zx.prototype.load;zx.prototype.element=zx.prototype.element;zx.prototype.raw=zx.prototype.raw;var Hx=class extends Ox{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.G(1,9,7100,rx);if("GRID"===b.mode&&!b.gridSize)throw new _.G(1,9,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.G(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 _.G(1,9,7100,sx);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
|
+
c),new _.G(1,9,7100,sx);}super.init(a,b)}get(a){const b=this;return _.w(function*(){var c=b.player.getDuration();if(0>a||a>c)throw new _.G(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 _.G(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 zx(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 Px=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Ec=new _.xn}load(){return this.Ec}},Lx=class{constructor(){this.g=new _.R(tx);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.xn}init(a,b){if(!b||!b.url)throw new _.G(1,9,7100,rx);const c=b.url;b=_.ij(c);b.type=_.hj;a.getNetworkEngine().fetch(b).W.then(d=>{var e=d.data;d=_.J(this.a);e=_.J(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=_.J(f);h=String.fromCharCode.apply(null,Qx);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 Px(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");xx(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
|
|
12
|
+
+ 'URL: ${c}`,d);a.onError(new _.G(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.w(function*(){if(0>a)throw new _.G(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 _.G(1,9,2014,`No thumbnail found for position: ${a}`);c=yield Ax(b,c);yield c.load();return c})}},Qx=[137,66,73,70,13,10,26,10];var Jx=class extends Ox{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.G(1,9,7100,rx);const c=b.url,d=_.ij(c);d.type=_.hj;this.f=a.getNetworkEngine().fetch(d).W.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.Ei(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=Bx(g[0]);g=Bx(g[1])-l;this.a.push(new zx(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 _.G(1,9,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){const b=this;return _.w(function*(){if(0>a)throw new _.G(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 _.G(1,9,2014,`No thumbnail found for position: ${a}`);
|
|
14
|
+
yield c.load();return c})}l(){return this.f}};var Rx=class extends Ox{get(a){const b=this;return _.w(function*(){function c(){return new _.G(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 _.G(1,9,2014,`Position is out of range: ${a}`);var d=b.player.getPeriods();d=Cx(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=Dx(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.uf+k]);else if((e=f.Wa())&&0<e.length){let l=g=0;f=f.startTime;1<h.uf&&(g=k%h.Wc,l=Math.floor(k/h.Wc),f+=k*h.durationPerTile);g=new zx(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.Wc,h.Oe,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&&!_.z(d=a.getSegmentReference(c++));){const e=Dx(d,a),f=d.Wa()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.Oe;++k)for(let l=0;l<e.Wc;++l)this.a.push(new zx(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.Wc,e.Oe,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var Sx=class{constructor(){this.g=new _.R(tx);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=Nx(b.url||null));(this.a=Mx(c))?(this.g.info("Loading thumbs configuration",b),this.m.one(_.qe,()=>{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(Ex(c)){this.a=new Rx;try{this.a.init(a,b)}catch(d){this.m.onError(d)}}}}}get(a){return this.a?this.a.get(a):Promise.reject(new _.G(1,9,2014,"Thumbnail format is not supported"))}id(){return"thumbnails"}};_.x("clpp.thumbnails.ThumbnailsPlugin",Sx);Sx.prototype.get=Sx.prototype.get;Sx.Id="thumbnails";_.Hq(new class{create(){return new Sx}});
|
|
19
|
+
var Fx="SINGLE",Gx="GRID",Ix="WEBVTT",Kx="BIF";};f.call(g, window);
|