@castlabs/prestoplay 6.17.1 → 6.19.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 +55 -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 +115 -114
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +575 -565
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +77 -74
- package/cjs/cl.externs.js +175 -293
- package/cjs/cl.freewheel.js +24 -24
- package/cjs/cl.hls.js +70 -69
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +29 -29
- package/cjs/cl.ima.js +24 -24
- package/cjs/cl.mse.js +315 -314
- package/cjs/cl.muxdata.js +15 -15
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +14 -14
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.sessions.js +16 -15
- 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 +71 -71
- package/cjs/cl.ttml.js +29 -28
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -13
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.youbora.js +18 -18
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +90 -89
- package/cl.conviva.js +27 -27
- package/cl.core.js +473 -466
- package/cl.crypto.js +9 -9
- package/cl.dash.js +72 -70
- package/cl.externs.js +172 -294
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +74 -72
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +17 -17
- package/cl.mse.js +276 -273
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +11 -11
- package/cl.playlist.js +5 -5
- package/cl.sessions.js +10 -10
- package/cl.simid.js +13 -13
- package/cl.smooth.js +59 -59
- package/cl.thumbnails.js +19 -19
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +15 -15
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +15 -15
- package/clpp.styles.css +14 -0
- package/package.json +2 -2
- package/typings.d.ts +406 -377
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.
|
|
3
|
-
String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.
|
|
4
|
-
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.
|
|
5
|
-
Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else
|
|
6
|
-
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.
|
|
7
|
-
|
|
8
|
-
(a=(new
|
|
9
|
-
|
|
10
|
-
0<l-k.reader.getPosition()&&k.flags&32&&(m.o=_.
|
|
11
|
-
2048&&(0===k.version?m.j.push(_.
|
|
12
|
-
u.
|
|
13
|
-
g;d=g.get(_.
|
|
14
|
-
|
|
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.
|
|
16
|
-
periodId:null}},
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).
|
|
18
|
-
1E7;let g=+
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
+
|
|
22
|
-
new Uint16Array(1),
|
|
23
|
-
new _.
|
|
24
|
-
|
|
25
|
-
var ke={id:"ID",configurationId:void 0,startTime:0,endTime
|
|
26
|
-
{},
|
|
27
|
-
_.
|
|
28
|
-
{a.G.delete(k)})})}else a.
|
|
29
|
-
Math.min(a.a.
|
|
30
|
-
D);break;case _.p:D=h.
|
|
31
|
-
language:k.language,originalLanguage:k
|
|
32
|
-
yd:a.J.bind(a),
|
|
33
|
-
a)return this.f[b];{const c=this.f[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.f.length)for(let c=0;c<this.f.length;c++)b+=this.f[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.
|
|
34
|
-
this.f[b].a(),a.getPosition()}},
|
|
35
|
-
this.offset}write(a){super.write(a);_.
|
|
36
|
-
a;this.duration=b;this.volume=256;this.j=c+1;this.
|
|
37
|
-
_.
|
|
38
|
-
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.
|
|
39
|
-
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?(
|
|
40
|
-
_.
|
|
41
|
-
this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.
|
|
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);_.
|
|
47
|
-
|
|
48
|
-
a.getPosition()}},
|
|
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?
|
|
50
|
-
4);for(let b=0;b<this.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if(1===this.
|
|
54
|
-
a.getPosition()}},
|
|
55
|
-
return a+super.a()}write(a){super.write(a);this.flags&1&&(_.
|
|
56
|
-
0;b<this.j;b++)if(_.
|
|
57
|
-
this.
|
|
58
|
-
0;c<this.o.length;c++)if(this.o[c].keySystem===a){b=this.o[c].initData[0];break}return b}
|
|
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 GO="Full MP4 box must have flags defined",HO="clpp.smooth.SmoothMP4Processor",IO="codecPrivateData",JO=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.N(a,c);_.N(a,b)},KO=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.wl()}},LO=function(a,b){KO(a,b>>16&255);KO(a,b>>8&255);KO(a,b&255)},MO=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.wl()}},NO=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.wl()}},OO=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.wl()}},PO=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},QO=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},RO=function(a,b,c,d){c=b.gf[c];b=b.Ih;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 _.fB([a],[b])[0]},SO=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.t?c=["maxWidth","maxHeight","bitrate",IO,"fourCC"]:a.type===_.p&&(c=["bitrate",IO,"channels","bitsPerSample","samplingRate","fourCC"]);return _.Zg(a,b,c,["id","segmentIndex"])},TO=function(a,b,c){const d=c.qd.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Xa:null,Yb:null,width:NaN,height:NaN,Wb:null,gd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.t:a.Xa=[_.Ji(d[1])];a.Yb=[_.Ji(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Wb=_.Ji(c.qd),a.sampleSize=c.ig||16,a.gd=c.gd,a.channelCount=c.$e}return a},UO=function(a,b){return a.filter(c=>c.type===b)},VO=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)},bP=function(a,b,c){var d=null;if(WO.test(a)){{a=WO.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 XO.test(a)?d=VO(XO,a):YO.test(a)?d=VO(YO,a):ZO.test(a)?(a=ZO.exec(a),d=Number(a[1])/c.frameRate):$O.test(a)?(a=$O.exec(a),d=Number(a[1])/c.a):aP.test(a)&&(d=VO(aP,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},cP=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Rl(b)},jP=function(a,b,c){a:{var d=[_.yd,_.wd];for(e of d)if((d=c.wd(e))&&d.keyId){var e=d.keyId;break a}_.B(HO,"Could not get default Key ID for DRM init data!");e=null}c=new dP("xxxx");a.type===_.t?c=new eP(a.width,a.height):c=new fP(a.channelCount,a.sampleSize,a.gd);a=new gP;a.h=1;a.j=8;a.o=e||"00000000000000000000000000000000";a=(new dP("schi")).append([a]);b=(new dP(_.If)).append([new hP(b),new iP(_.bd,65536),a]);c.append([b]);return c},
|
|
7
|
+
MP=function(a,b){var c=b.yd(),d=new kP(a.timescale,a.duration,a.id),e=(new lP).append([new mP(a.id)]),f=new nP(a.id,a.duration,a.timescale,a.width,a.height),g=new oP(a.timescale,a.duration);const h=new pP(a.type);var k=null,l=new qP;l.entries=[new rP];var m=new sP;switch(a.type){case _.t:k=new tP(a.Xa,a.Yb);c?(a=jP(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new uP(a.width,a.height)).append([k]),m.entries=[a]);k=new vP;break;case _.p:k=new wP(a.Wb),c?(a=jP(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new xP(a.channelCount,a.sampleSize,a.gd)).append([k]),m.entries=[a]),k=new yP}m=(new zP).append([m,new AP,new BP,new CP,new DP]);l=(new EP).append([l]);l=(new FP).append([k,l,m]);g=(new GP).append([g,h,l]);f=(new HP).append([f,g]);d=(new IP).append([d,f,e]);e=new JP("dash",0,["iso6","mp41","avc1"]);c&&(c=b.wd(_.wd),b=b.wd(_.yd),c&&d.append([new KP("pssh",c.initData,8)]),b&&d.append([new KP("pssh",b.initData,8)]),c||b||_.B(HO,"Could not get PSSH init data!"));b=new LP([e,d]);return _.I(b.write())},
|
|
9
|
+
WP=function(a,b){let c,d,e,f,g,h;(new _.Pl).N("moof",_.Il).ca("mfhd",k=>{{const l=new NP;l.h=_.O(k.reader);c=l}}).N("traf",_.Il).ca("tfhd",k=>{{const l=k.reader.Ja();if(null===k.flags)throw new _.G(_.E,3,3019,GO);const m=new OP(k.version||0,k.flags||0);m.h=_.O(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.Dl(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.Ja();if(null===k.flags)throw new _.G(_.E,3,3019,GO);const m=new PP(k.version||0,k.flags||0);m.h=_.O(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.l=_.Cl(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(_.Cl(k.reader)));e=m}}).ca("sdtp",k=>{{const l=_.Fl(k.reader,k.reader.Ja());f=new QP("sdtp",k.version||0,k.flags||0,l,0)}}).N("uuid",k=>{var l=_.Fl(k.reader,16);if(_.Li(l,RP)){l=_.O(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new SP(k.version,k.flags);l.j=_.O(k.reader);k.flags&1&&(l.l=_.Al(k.reader));for(let m=0;m<l.j;m++){const n={uf:_.Fl(k.reader,8),Lc:0,He:[]};if(k.flags&2){n.Lc=_.Bl(k.reader);for(let q=0;q<n.Lc;q++){const u={Ye:0,Ze:0};
|
|
12
|
+
u.Ye=_.Bl(k.reader);u.Ze=_.O(k.reader);n.He.push(u)}}l.h.push(n)}g=l}}).N(_.ve,k=>{{const l=new TP;0<k.reader.Ja()?l.h=_.Fl(k.reader,k.reader.Ja()):(_.B(HO,"mdat box is empty!"),l.h=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new UP).append([d,e]);f&&a.append([f]);b.yd()&&g&&a.append([g]);b=(new VP).append([c,a]);return new LP([b,h])},aQ=function(a,b,c,d){var e=d.yd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=WP(b,d);if(null===g)return a.request.contentType===_.F?a.data:
|
|
13
|
+
g;d=g.get(_.ve);if(a.request.contentType===_.F){e=d.h.buffer;if(c){e=_.vi(e);if((e=(new DOMParser).parseFromString(e,_.Vf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new XP(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",_.Td];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],bP(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.wi(e).buffer}else c=e;return c}h=new VP;a=g.get("mfhd");b=new UP;k=g.get("tfhd");m=new YP(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].Lc);else g=8;b.append([c,new ZP,new $P(g,k,c.j)])}h.append([a,b]);f.flags|=1;f.l=h.a()+8;d=new LP([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},bQ=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},cQ=function(a){return{initData:_.UA(_.Am(a)),initDataType:_.bd,keyId:a,periodId:null}},dQ=function(a,b,c){a=_.Im(a);c&&a.version!==c&&(a=_.WA(a,c));return{initData:_.UA(a),initDataType:_.bd,keyId:b,periodId:null}},eQ=function(a,b){return _.w(function*(){var c=_.Wi(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})},mQ=function(a,b){let c=null;try{{const fa=new DOMParser;let Za,Pa;try{const ib=_.vi(b);Pa=fa.parseFromString(ib.trim(),_.Vf)}catch(ib){throw ib;}Pa&&Pa.documentElement.tagName===_.Jb&&(Za=Pa.documentElement);c=Za&&0<Za.getElementsByTagName("parsererror").length?null:Za}}catch(fa){}if(!c)throw a.g.error("Unable to parse manifest"),new _.G(_.E,4,4033,a.l);const d=+fQ(a,c,"MajorVersion"),e=+fQ(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||
|
|
18
|
+
1E7;let g=+fQ(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.um(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?(gQ(a,hQ),a.A=typeof a.f.liveRefreshPeriod===_.r?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):gQ(a,iQ);a.a={startTime:0,delay:0,duration:g/f,Xd:l/f,bd:0};if(m){{var n=a.f.playreadyVersion;
|
|
19
|
+
const fa=[],Za=_.um(m,"ProtectionHeader")[0],Pa=_.Ii(_.wm(Za)||""),ib=_.Im(Pa).a;fa.push(bQ(_.yd,cQ(ib),[ib]));fa.push(bQ(_.wd,dQ(Pa,ib,n),[ib]));var q=fa}a.o=q}{const fa=[],Za=_.um(c,"StreamIndex");if(!Za.length)throw a.g.error("No streams found!"),new _.G(_.E,4,4034,a.l);for(let Pa=0;Pa<Za.length;Pa++){{var u=a,v=Za[Pa];const ib=fQ(u,v,"Type"),Tc=+v.getAttribute("Chunks"),Hh=v.getAttribute("Subtype"),ne=v.getAttribute("Language")||_.ag,oe=_.ei(ne),Ih=v.getAttribute("Name")||"",ff=+v.getAttribute(_.hb),
|
|
20
|
+
ng=+v.getAttribute(_.gb),Lr=fQ(u,v,"Url"),lm=+v.getAttribute("TimeScale")||null;{const Uc=[],pj=_.um(v,_.Bb);for(let pe=0;pe<pj.length;pe++){{let Vc,Ka,Id;var y=u,A=pj[pe],D=ib;const qj=+A.getAttribute("Index"),og=+fQ(y,A,"Bitrate");let jc=NaN,pg=NaN,mm=NaN,Mr=NaN,GE=NaN,HE=NaN,IE=NaN;const JE=A.getAttribute("FourCC");switch(D){case _.t:jc=+fQ(y,A,_.gb);pg=+fQ(y,A,_.hb);break;case _.p:Mr=+A.getAttribute("Channels")||2,mm=+fQ(y,A,"SamplingRate"),HE=+fQ(y,A,"AudioTag"),GE=+fQ(y,A,"BitsPerSample"),IE=
|
|
21
|
+
+fQ(y,A,"PacketSize")}let Nr=String(A.getAttribute("CodecPrivateData"));if(D===_.p&&!Nr){{var M=Mr;const KE={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},nm=KE[mm];if("AACH"===JE){Ka=new Uint8Array(4);const LE=KE[2*mm];Ka[0]=40|nm>>1;Ka[1]=nm<<7|M<<3|LE>>1;Ka[2]=LE<<7|8;Ka[3]=0;Vc=new Uint16Array(2);Vc[0]=(Ka[0]<<8)+Ka[1];Vc[1]=(Ka[2]<<8)+Ka[3];Id=Vc[0].toString(16)+Vc[1].toString(16)}else Ka=new Uint8Array(2),Ka[0]=16|nm>>1,Ka[1]=nm<<7|M<<3,Vc=
|
|
22
|
+
new Uint16Array(1),Vc[0]=(Ka[0]<<8)+Ka[1],Id=Vc[0].toString(16);Nr=Id.toUpperCase()}}var ea={id:y.V++,type:D,index:qj,bitrate:og,qd:Nr,maxHeight:jc,maxWidth:pg,gd:mm,$e:Mr,Oh:HE,ig:GE,$h:IE,zg:JE,segmentIndex:null}}Uc.push(ea)}var sb=Uc}{const Uc=[],pj=_.um(v,"c");for(let pe=0;pe<pj.length;pe++){const Vc=pj[pe];let Ka=parseInt(Vc.getAttribute("t"),10),Id=parseInt(Vc.getAttribute("d"),10),qj=parseInt(Vc.getAttribute("r"),10),og=0;if(isNaN(Ka)&&isNaN(Id))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===pe&&isNaN(Ka)&&(og=Ka=0);if(0<pe){const jc=Uc[Uc.length-1];og=jc.n+1;jc.d||(jc.d=Ka-jc.t);Ka||(Ka=jc.t+jc.d);Id||(Id=Ka-jc.t)}Uc.push({n:og,d:Id,t:Ka});if(qj){qj--;for(let jc=0;jc<qj;jc++){const pg=Uc[Uc.length-1];og=pg.n+1;Ka=pg.t+pg.d;Id=pg.d;Uc.push({n:og,d:Id,t:Ka})}}}u.C()||Uc.length===Tc||u.g.warn("Number of fragments ("+Tc+") differs from number of chunks ("+Uc.length+").");var Sb=Uc}var od={type:ib,Rh:Tc,yh:Hh,language:oe,$c:ne,name:Ih,maxWidth:ff,maxHeight:ng,
|
|
24
|
+
Ih:Lr,tracks:sb,gf:Sb,timescale:lm}}fa.push(od)}var jg=fa}const Ua={Zh:d,yf:e,timescale:f,duration:g,isLive:h,Yh:k,Xd:l,ce:!1,streams:jg};if(a.h&&a.w)return jQ(a,Ua),Promise.resolve();a.G.clear();{const fa=Ua.timescale,Za=Ua.duration,Pa=UO(Ua.streams,_.p),ib=UO(Ua.streams,_.t),Tc=UO(Ua.streams,_.F),Hh=[];let ne=kQ(a,Za,fa,Pa),oe=kQ(a,Za,fa,ib);const Ih=kQ(a,Za,fa,Tc);ne.length||(ne=[null]);oe.length||(oe=[null]);for(let ff=0;ff<oe.length;ff++)for(let ng=0;ng<ne.length;ng++)Hh.push(lQ(a,oe[ff],ne[ng]));
|
|
25
|
+
var ke={id:"ID",configurationId:void 0,startTime:0,endTime:Za,variants:Hh,textStreams:Ih,thumbStreams:[]}}{var Qc=Ua.streams;let fa=a.a.startTime,Za=a.a.delay;const Pa=a.I;let ib=Math.min(a.a.duration||Infinity,Pa);const Tc=a.C(),Hh=a.a.Xd,ne=a.a.bd,oe=a.H,Ih=isFinite(a.F)?a.F:0;if(Tc)ib=Infinity,fa=Date.now()/1E3-ne,a.a.startTime=fa,Za=3*oe;else{const ng=isFinite(Pa)?Pa:a.a.duration;for(const Lr of Qc)for(const lm of Lr.tracks)lm.segmentIndex.offset(-Ih),_.FB(lm.segmentIndex,ng)}const ff=a.f.timeline||
|
|
26
|
+
{};ff.type=void 0;a.B=new _.sH(ff,fa,Za,!Tc,!0);a.B.f=ib;_.TB(a.B,oe);a.B.A=Hh;Tc||a.B.offset(-Ih)}a.D.filterAllPeriods([ke]);a.h={presentationTimeline:a.B,periods:[ke],minBufferTime:0,cues:[]};Promise.resolve();a.K||(a.D.networkingEngine.uc(a.L),a.K=!0);a.w=Ua;return Promise.resolve()},nQ=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.Pb.bind(a),b))},fQ=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);},gQ=
|
|
27
|
+
function(a,b){const c=b===iQ;a.h&&a.h.presentationTimeline&&_.OB(a.h.presentationTimeline,c);c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.M=b},jQ=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){SO(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=oQ(a,a.w.timescale,f,c);c=g.segmentIndex;_.eC(c,
|
|
28
|
+
d);(d=a.a.Xd)&&_.fC(c,_.cC(c)-d).forEach(h=>{h.Va().forEach(k=>{a.G.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},oQ=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.gf.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=RO(a.l,c,k,d);a.H=Math.max(a.H,l);f.push(new _.dC(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.bd?a.a.bd=b.endTime:a.a.bd=Math.min(a.a.bd,b.endTime);return f},kQ=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=oQ(a,c,k,h);const ea=new _.tH(l);var m=null;k.type!==_.F&&(m=pQ(a,b,c,k,h));h.segmentIndex=ea;l=_.xH++;var n=Promise.resolve.bind(Promise),q=ea.f.bind(ea),u=ea.get.bind(ea),v=ea.h.bind(ea),y=ea.getDuration.bind(ea),A=qQ[k.type];var D="";switch(k.type){case _.t:D=h.qd;var M=/00000001[0-9]7/.exec(D);D="avc1."+
|
|
30
|
+
(M&&M[0]?D.substr(D.indexOf(M[0])+10,6):"42c00c");a.g.debug("VIDEO CODECS: ",D);break;case _.p:D=h.qd,M=2,"AACH"===h.zg?M=5:D&&(M=(parseInt(D.substr(0,2),16)&248)>>3),D="mp4a.40."+M,a.g.debug("AUDIO CODECS: ",D)}M=k.type===_.F?rQ[k.yh]:void 0;h={id:l,originalId:null,bi:null,createSegmentIndex:n,findSegmentPosition:q,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:ea,segmentLookupStrategy:_.DA,initSegmentReference:m,mimeType:A,codecs:D,frameRate:void 0,bandwidth:h.bitrate,
|
|
31
|
+
width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:M,encrypted:a.J(),keyId:null,language:k.language,originalLanguage:k.$c,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},lQ=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.ag;return c||b?{id:a.R++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,
|
|
32
|
+
allowedByKeySystem:!0}:null},pQ=function(a,b,c,d,e){b=TO(b,d.timescale||c,e);c={isLive:a.C.bind(a),yd:a.J.bind(a),Fg:()=>1,wd:a.O.bind(a)};d=new Uint8Array(0);try{d=MP(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,"+_.Hi(d);return new _.pH(()=>[f],0,null,null,!0)},dP=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]),
|
|
33
|
+
a[b].parent=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);_.xl(a,PO(this.type));
|
|
34
|
+
this.size>b&&JO(a,this.size);"uuid"===this.type&&_.xl(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()}},sQ=class extends dP{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);KO(a,this.version);LO(a,this.flags)}},KP=class extends dP{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);_.xl(a,this.h,this.offset);
|
|
35
|
+
a.getPosition()}},QP=class extends sQ{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);_.xl(a,this.h,this.offset);a.getPosition()}},JP=class extends dP{constructor(a,b,c){super("ftyp");this.j=a;this.yf=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);_.xl(a,PO(this.j));_.N(a,this.yf);_.xl(a,PO(this.h.join("")));a.getPosition()}},IP=class extends dP{constructor(){super(_.Be)}},
|
|
36
|
+
HP=class extends dP{constructor(){super(_.Yf)}},kP=class extends sQ{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?(JO(a,0),JO(a,0),_.N(a,this.timescale),JO(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);MO(a,this.volume);MO(a,0);_.N(a,0);_.N(a,0);for(let b=0;b<this.h.length;b++)KO(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()}},lP=class extends dP{constructor(){super("mvex")}},mP=class extends sQ{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()}},nP=class extends sQ{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?(JO(a,0),JO(a,0),_.N(a,this.j),_.N(a,0),JO(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);MO(a,0);MO(a,0);MO(a,this.volume);MO(a,0);for(let b=
|
|
39
|
+
0;b<this.h.length;b++)KO(a,this.h[b]);MO(a,this.width);MO(a,0);MO(a,this.height);MO(a,0);a.getPosition()}},oP=class extends sQ{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?(JO(a,0),JO(a,0),_.N(a,this.timescale),JO(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.timescale),_.N(a,this.duration*this.timescale));MO(a,this.language);MO(a,0);a.getPosition()}},
|
|
40
|
+
pP=class extends sQ{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?_.xl(a,PO("vide")):_.xl(a,PO("soun"));_.N(a,0);_.N(a,0);_.N(a,0);this.h===_.t?_.xl(a,PO("VideoHandler\x00")):_.xl(a,PO("SoundHandler\x00"));a.getPosition()}},vP=class extends sQ{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);MO(a,0);_.xl(a,this.h);a.getPosition()}},tQ=class extends dP{constructor(a){super(a);
|
|
41
|
+
this.A=!0}a(){return 8+super.a()}write(a){super.write(a);_.N(a,0);MO(a,0);MO(a,1)}},uQ=class extends tQ{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);MO(a,0);MO(a,0);_.N(a,0);_.N(a,0);_.N(a,0);MO(a,this.width);MO(a,this.height);_.N(a,4718592);_.N(a,4718592);_.N(a,0);MO(a,1);KO(a,10);_.xl(a,PO("AVC Coding",31));MO(a,this.depth);OO(a,-1)}},vQ=class extends tQ{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);MO(a,this.channelCount);MO(a,this.sampleSize);OO(a,0);MO(a,0);MO(a,this.sampleRate);MO(a,0)}},uP=class extends uQ{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()}},eP=class extends uP{constructor(a,b){super(a,b);this.type="encv"}},xP=class extends vQ{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()}},fP=class extends xP{constructor(a,b,c){super(a,b,c);this.type="enca"}},tP=class extends dP{constructor(a,b){super("avcC");this.Xa=a;this.Yb=b;this.version=1;this.h=this.Xa[0][1];this.j=this.Xa[0][2];this.level=this.Xa[0][3]}a(){let a=7;for(var b=0;b<this.Xa.length;b++)a+=2,a+=this.Xa[b].byteLength;for(b=0;b<this.Xa.length;b++)a+=2,a+=this.Yb[b].byteLength;return a+super.a()}write(a){super.write(a);KO(a,this.version);KO(a,this.h);KO(a,this.j);KO(a,this.level);KO(a,255);KO(a,224|this.Xa.length);
|
|
44
|
+
for(var b=0;b<this.Xa.length;b++)MO(a,this.Xa[b].length),_.xl(a,this.Xa[b]);KO(a,this.Yb.length);for(b=0;b<this.Yb.length;b++)MO(a,this.Yb[b].length),_.xl(a,this.Yb[b]);a.getPosition()}},wP=class extends sQ{constructor(a){super("esds",0,0);this.Wb=a}a(){return 22+(this.Wb.byteLength+3)+super.a()}write(a){super.write(a);KO(a,3);KO(a,23+this.Wb.byteLength);MO(a,1);KO(a,0);KO(a,4);KO(a,15+this.Wb.byteLength);KO(a,64);KO(a,21);LO(a,0);_.N(a,0);_.N(a,0);KO(a,5);KO(a,this.Wb.byteLength);_.xl(a,this.Wb);
|
|
45
|
+
_.xl(a,new Uint8Array([6,1,2]));a.getPosition()}},rP=class extends sQ{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&&_.xl(a,PO(this.location));a.getPosition()}},qP=class extends sQ{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()}},zP=class extends dP{constructor(){super(_.Of)}},sP=class extends sQ{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()}},AP=class extends sQ{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()}},BP=class extends sQ{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()}},DP=class extends sQ{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()}},CP=class extends sQ{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.N(a,0);_.N(a,0);a.getPosition()}},yP=class extends sQ{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);OO(a,0);MO(a,0);a.getPosition()}},EP=class extends dP{constructor(){super("dinf")}},FP=class extends dP{constructor(){super(_.Ae)}},
|
|
49
|
+
GP=class extends dP{constructor(){super(_.we)}},YP=class extends sQ{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?JO(a,this.baseMediaDecodeTime):_.N(a,this.baseMediaDecodeTime);a.getPosition()}},NP=class extends sQ{constructor(){super("mfhd",0,0);this.h=0}a(){return 4+super.a()}write(a){super.write(a);_.N(a,this.h);a.getPosition()}},PP=class extends sQ{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&wQ&&(a+=4);this.flags&xQ&&(a+=4);for(let b=0;b<this.h;b++)this.flags&yQ&&(a+=4),this.flags&zQ&&(a+=4),this.flags&AQ&&(a+=4),this.flags&BQ&&(a+=4);return a+super.a()}write(a){super.write(a);_.N(a,this.h);this.flags&wQ&&(a.getPosition(),NO(a,this.l));this.flags&xQ&&_.N(a,this.o);for(let b=0;b<this.h;b++)this.flags&yQ&&_.N(a,this.w[b]),this.flags&zQ&&_.N(a,this.sampleSize[b]),this.flags&AQ&&_.N(a,this.B[b]),
|
|
51
|
+
this.flags&BQ&&(0===this.version?_.N(a,this.j[b]):NO(a,this.j[b]));a.getPosition()}},wQ=1,xQ=4,yQ=256,zQ=512,AQ=1024,BQ=2048,OP=class extends sQ{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&CQ&&(a+=8);this.flags&DQ&&(a+=4);this.flags&EQ&&(a+=4);this.flags&FQ&&(a+=4);this.flags&GQ&&(a+=4);return a+super.a()}write(a){super.write(a);_.N(a,this.h);this.flags&CQ&&JO(a,this.j);this.flags&DQ&&_.N(a,this.B);this.flags&EQ&&_.N(a,this.l);this.flags&
|
|
52
|
+
FQ&&_.N(a,this.w);this.flags&GQ&&_.N(a,this.o);a.getPosition()}},CQ=1,DQ=2,EQ=8,FQ=16,GQ=32,UP=class extends dP{constructor(){super("traf")}},VP=class extends dP{constructor(){super("moof")}},TP=class extends dP{constructor(){super(_.ve);this.h=new Uint8Array(0)}a(){return this.h.byteLength+super.a()}write(a){super.write(a);0<this.h.byteLength&&_.xl(a,this.h)}},gP=class extends sQ{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);KO(a,0);0===this.version?KO(a,0):KO(a,0);KO(a,this.h);KO(a,this.j);_.xl(a,_.Ji(this.o));if(1===this.h&&0===this.j){KO(a,0);for(let b=0;b<this.l.length;b++)KO(a,this.l[b])}a.getPosition()}},iP=class extends sQ{constructor(a,b){super("schm",0,0);this.h=a;this.j=b;this.Rb=""}a(){let a=8;this.flags&1&&(a+=PO(this.Rb).byteLength);return a+super.a()}write(a){super.write(a);_.xl(a,PO(this.h));_.N(a,this.j);this.flags&1&&_.xl(a,PO(this.Rb));a.getPosition()}},hP=
|
|
54
|
+
class extends dP{constructor(a){super("frma");this.h=a}a(){return PO(this.h).byteLength+super.a()}write(a){super.write(a);_.xl(a,PO(this.h));a.getPosition()}},ZP=class extends sQ{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]):JO(a,this.offset[b]);a.getPosition()}},$P=class extends sQ{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));KO(a,this.h);_.N(a,this.j);if(0===this.h)for(let b=0;b<this.j;b++)KO(a,this.l[b]);a.getPosition()}},SP=class extends sQ{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].uf.byteLength,this.flags&2){a+=2;for(let c=0;c<this.h[b].Lc;c++)a+=
|
|
56
|
+
2,a+=4}return a+super.a()}write(a){super.write(a);_.N(a,this.j);this.flags&1&&KO(a,this.l);for(let b=0;b<this.j;b++)if(_.xl(a,this.h[b].uf),this.flags&2){MO(a,this.h[b].Lc);for(let c=0;c<this.h[b].Lc;c++)MO(a,this.h[b].He[c].Ye),_.N(a,this.h[b].He[c].Ze)}a.getPosition()}};var XP=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))}},WO=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,XO=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,YO=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,ZO=/^(\d*\.?\d*)f$/,$O=/^(\d*\.?\d*)t$/,aP=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var LP=class{constructor(a){this.a=a;this.f=cP(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=cP(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var RP=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var HQ=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=iQ;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,QO(a)])];return eQ(this,a).then(c=>mQ(this,c.data).then(()=>{nQ(this,this.A);return this.h}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.fd(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 eQ(this,[this.l]).then(a=>mQ(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Pb(){this.g.debug(_.uA);this.D&&(this.j=null,this.update().then(()=>{nQ(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&nQ(this,100))}))}C(){return this.M===hQ}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),yd:this.J.bind(this),Fg:()=>1,wd: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=aQ(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)}},qQ={video:_.qg,audio:_.Lc,text:_.Fc},iQ=_.Ub,hQ="LIVE",rQ={Jh:_.zA,Lh:_.PA};_.x("clpp.smooth.SmoothComponent",class extends _.au{f(){_.Qr.ism=HQ;_.Or[_.Gc]=HQ}a(){_.CC("ism");_.DC(_.Gc)}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(_.Fd);a.style.width=c+_.
|
|
6
|
-
this.width*c+_.
|
|
7
|
-
f=>{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.
|
|
11
|
-
h.offset-k.offset,k.duration=h.time-k.time;this.f.push(h);d+=8;(g=4294967295===g)&&this.
|
|
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.
|
|
19
|
-
var
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var bx="Thumbnail URL is mandatory",cx="Wrong gridSize format",dx="clpp.thumbnails",fx=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Fe&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>ex(a,0,e,!!f))},Promise.resolve())},ex=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return gx(a,d).then(()=>a.a[b].load()).then(()=>ex(a,e,c,d))},gx=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.Un)c();else a.player.one(_.Sc,()=>{c()})})},
|
|
2
|
+
hx=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.Gc.resolve()})},kx=function(a,b){return ix(a,b).then(c=>new jx(c,b.time,b.duration))},ix=function(a,b){return b.load().then(()=>{const c=_.I(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.Gi(c)})},lx=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},mx=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
nx=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Xc:c,Oe:d,tf:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},ox=function(a){return a.some(b=>0<b.thumbStreams.length)},wx=function(a){return a?a===px||a===qx?new rx:a===sx?new tx:a===ux?new vx:null:null},xx=function(a){if(!a)return null;a=new _.Nl(a);return a.path.match(/.*\.vtt$/i)?sx:a.path.match(/.*\.bif$/i)?ux:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
px:null};var yx=class{constructor(){this.log=new _.R(dx);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&&fx(this,b.preload)})}};var jx=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.og=h;this.ph=k;this.Mg=l;this.Ng=m;this.de=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(_.Fd);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.de||(this.de=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.oa.naturalWidth||this.oa.width)/this.og);this.height||(this.height=(this.oa.naturalHeight||this.oa.height)/this.ph);this.x||(this.x=this.width*this.Mg);this.y||(this.y=this.height*this.Ng)};if(this.oa.src&&this.oa.complete)c(),a(this);else{var d=null,e=()=>{c();this.oa.removeEventListener(_.qe,e);this.oa.removeEventListener(_.Vd,d);a(this)};d=
|
|
7
|
+
f=>{this.oa.removeEventListener(_.qe,e);this.oa.removeEventListener(_.Vd,d);b(new _.G(1,9,2014,"Failed to load thumbnail.",f))};this.oa.addEventListener(_.qe,e);this.oa.addEventListener(_.Vd,d);this.oa.src=this.src}}));return this.de}};_.x("clpp.thumbnails.Thumbnail",jx);jx.prototype.load=jx.prototype.load;jx.prototype.element=jx.prototype.element;jx.prototype.raw=jx.prototype.raw;var rx=class extends yx{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,bx);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,cx);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
|
+
c),new _.G(1,9,7100,cx);}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 jx(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 zx=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Gc=new _.gn}load(){return this.Gc}},vx=class{constructor(){this.g=new _.R(dx);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.gn}init(a,b){if(!b||!b.url)throw new _.G(1,9,7100,bx);const c=b.url;b=_.Wi(c);b.type=_.Vi;a.getNetworkEngine().fetch(b).W.then(d=>{var e=d.data;d=_.I(this.a);e=_.I(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=_.I(f);h=String.fromCharCode.apply(null,Ax);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 zx(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");hx(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 kx(b,c);yield c.load();return c})}},Ax=[137,66,73,70,13,10,26,10];var tx=class extends yx{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.G(1,9,7100,bx);const c=b.url,d=_.Wi(c);d.type=_.Vi;this.f=a.getNetworkEngine().fetch(d).W.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.si(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=lx(g[0]);g=lx(g[1])-l;this.a.push(new jx(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 Bx=class extends yx{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=mx(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=nx(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.tf+k]);else if((e=f.Va())&&0<e.length){let l=g=0;f=f.startTime;1<h.tf&&(g=k%h.Xc,l=Math.floor(k/h.Xc),f+=k*h.durationPerTile);g=new jx(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.Xc,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=nx(d,a),f=d.Va()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.Oe;++k)for(let l=0;l<e.Xc;++l)this.a.push(new jx(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.Xc,e.Oe,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var Cx=class{constructor(){this.g=new _.R(dx);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=xx(b.url||null));(this.a=wx(c))?(this.g.info("Loading thumbs configuration",b),this.m.one(_.se,()=>{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(ox(c)){this.a=new Bx;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",Cx);Cx.prototype.get=Cx.prototype.get;Cx.Id="thumbnails";_.rq(new class{create(){return new Cx}});
|
|
19
|
+
var px="SINGLE",qx="GRID",sx="WEBVTT",ux="BIF";};f.call(g, window);
|