@castlabs/prestoplay 6.17.1 → 6.18.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 +30 -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 +111 -111
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +566 -558
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +75 -74
- package/cjs/cl.externs.js +46 -46
- package/cjs/cl.freewheel.js +24 -24
- package/cjs/cl.hls.js +71 -69
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +29 -29
- package/cjs/cl.ima.js +23 -23
- package/cjs/cl.mse.js +311 -311
- 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 +15 -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 +69 -69
- package/cjs/cl.ttml.js +28 -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 +87 -87
- package/cl.conviva.js +27 -27
- package/cl.core.js +456 -450
- package/cl.crypto.js +8 -8
- package/cl.dash.js +70 -69
- package/cl.externs.js +46 -46
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +72 -72
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +17 -17
- package/cl.mse.js +274 -273
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- package/cl.playlist.js +5 -5
- package/cl.sessions.js +10 -10
- package/cl.simid.js +13 -13
- package/cl.smooth.js +59 -59
- package/cl.thumbnails.js +19 -19
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +15 -15
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +15 -15
- package/package.json +2 -2
- package/typings.d.ts +37 -3
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 _.w:a.
|
|
5
|
-
Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else
|
|
6
|
-
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.
|
|
7
|
-
|
|
8
|
-
(a=(new
|
|
9
|
-
|
|
10
|
-
0<l-k.reader.getPosition()&&k.flags&32&&(m.o=_.P(k.reader));d=m}}).
|
|
11
|
-
2048&&(0===k.version?m.j.push(_.P(k.reader)):m.j.push(_.
|
|
12
|
-
u.
|
|
13
|
-
g;d=g.get(_.
|
|
14
|
-
B;y++){b:{var k=h;var l=g[y],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const D=l.length;for(;n<D;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[y],
|
|
15
|
-
m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.j;m++)k.push(10+6*c.
|
|
16
|
-
periodId:null}},
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).
|
|
18
|
-
1E7;let g=+
|
|
19
|
-
const ea=[],$a=_.
|
|
20
|
-
|
|
21
|
-
+
|
|
22
|
-
new Uint16Array(1),Tc[0]=(Ka[0]<<8)+Ka[1],Jd=Tc[0].toString(16);
|
|
23
|
-
new _.H(_.F,4,4037,u.l);0===
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
{},ea,$a,!Rc,!0);a.B.f=
|
|
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
|
-
|
|
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?_.O(a,1):_.O(a,this.size);_.
|
|
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
|
-
_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,this.j);a.getPosition()}},
|
|
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
|
-
_.w?_.
|
|
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);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},
|
|
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&&(_.O(a,0),_.O(a,0));
|
|
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}T(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 rO="Full MP4 box must have flags defined",sO="clpp.smooth.SmoothMP4Processor",tO="codecPrivateData",uO=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.O(a,c);_.O(a,b)},vO=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.tl()}},wO=function(a,b){vO(a,b>>16&255);vO(a,b>>8&255);vO(a,b&255)},xO=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.tl()}},yO=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.tl()}},zO=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.tl()}},AO=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},BO=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},CO=function(a,b,c,d){c=b.gf[c];b=b.Eh;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 _.cB([a],[b])[0]},DO=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",tO,"fourCC"]:a.type===_.p&&(c=["bitrate",tO,"channels","bitsPerSample","samplingRate","fourCC"]);return _.Yg(a,b,c,["id","segmentIndex"])},EO=function(a,b,c){const d=c.sd.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Ua:null,Vb:null,width:NaN,height:NaN,Nb:null,hd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.Ua=[_.Fi(d[1])];a.Vb=[_.Fi(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Nb=_.Fi(c.sd),a.sampleSize=c.fg||16,a.hd=c.hd,a.channelCount=c.Ze}return a},FO=function(a,b){return a.filter(c=>c.type===b)},GO=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)},NO=function(a,b,c){var d=null;if(HO.test(a)){{a=HO.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 IO.test(a)?d=GO(IO,a):JO.test(a)?d=GO(JO,a):KO.test(a)?(a=KO.exec(a),d=Number(a[1])/c.frameRate):LO.test(a)?(a=LO.exec(a),d=Number(a[1])/c.a):MO.test(a)&&(d=GO(MO,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},OO=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Ol(b)},VO=function(a,b,c){a:{var d=[_.zd,_.xd];for(e of d)if((d=c.xd(e))&&d.keyId){var e=d.keyId;break a}_.C(sO,"Could not get default Key ID for DRM init data!");e=null}c=new PO("xxxx");a.type===_.w?c=new QO(a.width,a.height):c=new RO(a.channelCount,a.sampleSize,a.hd);a=new SO;a.h=1;a.j=8;a.o=e||"00000000000000000000000000000000";a=(new PO("schi")).append([a]);b=(new PO(_.Jf)).append([new TO(b),new UO(_.$c,65536),a]);c.append([b]);return c},
|
|
7
|
+
xP=function(a,b){var c=b.zd(),d=new WO(a.timescale,a.duration,a.id),e=(new XO).append([new YO(a.id)]),f=new ZO(a.id,a.duration,a.timescale,a.width,a.height),g=new $O(a.timescale,a.duration);const h=new aP(a.type);var k=null,l=new bP;l.entries=[new cP];var m=new dP;switch(a.type){case _.w:k=new eP(a.Ua,a.Vb);c?(a=VO(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new fP(a.width,a.height)).append([k]),m.entries=[a]);k=new gP;break;case _.p:k=new hP(a.Nb),c?(a=VO(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new iP(a.channelCount,a.sampleSize,a.hd)).append([k]),m.entries=[a]),k=new jP}m=(new kP).append([m,new lP,new mP,new nP,new oP]);l=(new pP).append([l]);l=(new qP).append([k,l,m]);g=(new rP).append([g,h,l]);f=(new sP).append([f,g]);d=(new tP).append([d,f,e]);e=new uP("dash",0,["iso6","mp41","avc1"]);c&&(c=b.xd(_.xd),b=b.xd(_.zd),c&&d.append([new vP("pssh",c.initData,8)]),b&&d.append([new vP("pssh",b.initData,8)]),c||b||_.C(sO,"Could not get PSSH init data!"));b=new wP([e,d]);return _.J(b.write())},
|
|
9
|
+
HP=function(a,b){let c,d,e,f,g,h;(new _.Ml).M("moof",_.Fl).ca("mfhd",k=>{{const l=new yP;l.h=_.P(k.reader);c=l}}).M("traf",_.Fl).ca("tfhd",k=>{{const l=k.reader.Ha();if(null===k.flags)throw new _.H(_.F,3,3019,rO);const m=new zP(k.version||0,k.flags||0);m.h=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.Al(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.B=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.l=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.w=_.P(k.reader));
|
|
10
|
+
0<l-k.reader.getPosition()&&k.flags&32&&(m.o=_.P(k.reader));d=m}}).ca("trun",k=>{{var l=k.reader.Ha();if(null===k.flags)throw new _.H(_.F,3,3019,rO);const m=new AP(k.version||0,k.flags||0);m.h=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.l=_.zl(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.o=_.P(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.h;l++)k.flags&256&&m.w.push(_.P(k.reader)),k.flags&512&&m.sampleSize.push(_.P(k.reader)),k.flags&1024&&m.B.push(_.P(k.reader)),k.flags&
|
|
11
|
+
2048&&(0===k.version?m.j.push(_.P(k.reader)):m.j.push(_.zl(k.reader)));e=m}}).ca("sdtp",k=>{{const l=_.Cl(k.reader,k.reader.Ha());f=new BP("sdtp",k.version||0,k.flags||0,l,0)}}).M("uuid",k=>{var l=_.Cl(k.reader,16);if(_.Hi(l,CP)){l=_.P(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new DP(k.version,k.flags);l.j=_.P(k.reader);k.flags&1&&(l.l=_.xl(k.reader));for(let m=0;m<l.j;m++){const n={tf:_.Cl(k.reader,8),Ic:0,Ge:[]};if(k.flags&2){n.Ic=_.yl(k.reader);for(let q=0;q<n.Ic;q++){const u={Xe:0,Ye:0};
|
|
12
|
+
u.Xe=_.yl(k.reader);u.Ye=_.P(k.reader);n.Ge.push(u)}}l.h.push(n)}g=l}}).M(_.ve,k=>{{const l=new EP;0<k.reader.Ha()?l.h=_.Cl(k.reader,k.reader.Ha()):(_.C(sO,"mdat box is empty!"),l.h=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new FP).append([d,e]);f&&a.append([f]);b.zd()&&g&&a.append([g]);b=(new GP).append([c,a]);return new wP([b,h])},MP=function(a,b,c,d){var e=d.zd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=HP(b,d);if(null===g)return a.request.contentType===_.G?a.data:
|
|
13
|
+
g;d=g.get(_.ve);if(a.request.contentType===_.G){e=d.h.buffer;if(c){e=_.ri(e);if((e=(new DOMParser).parseFromString(e,_.Wf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new IP(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",_.Ud];for(let y=0,B=g.length;y<
|
|
14
|
+
B;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],NO(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.si(e).buffer}else c=e;return c}h=new GP;a=g.get("mfhd");b=new FP;k=g.get("tfhd");m=new JP(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].Ic);else g=8;b.append([c,new KP,new LP(g,k,c.j)])}h.append([a,b]);f.flags|=1;f.l=h.a()+8;d=new wP([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},NP=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},OP=function(a){return{initData:_.RA(_.xm(a)),initDataType:_.$c,keyId:a,periodId:null}},PP=function(a,b,c){a=_.Fm(a);c&&a.version!==c&&(a=_.TA(a,c));return{initData:_.RA(a),initDataType:_.$c,keyId:b,periodId:null}},QP=function(a,b){return _.x(function*(){var c=_.Si(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).R;a.l=c.uri;return c})},YP=function(a,b){let c=null;try{{const ea=new DOMParser;let $a,Pa;try{const jb=_.ri(b);Pa=ea.parseFromString(jb.trim(),_.Wf)}catch(jb){throw jb;}Pa&&Pa.documentElement.tagName===_.Jb&&($a=Pa.documentElement);c=$a&&0<$a.getElementsByTagName("parsererror").length?null:$a}}catch(ea){}if(!c)throw a.g.error("Unable to parse manifest"),new _.H(_.F,4,4033,a.l);const d=+RP(a,c,"MajorVersion"),e=+RP(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||
|
|
18
|
+
1E7;let g=+RP(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.om(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 _.H(_.F,4,4036,a.l);h?(SP(a,TP),a.A=typeof a.f.liveRefreshPeriod===_.t?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):SP(a,UP);a.a={startTime:0,delay:0,duration:g/f,Zd:l/f,bd:0};if(m){{var n=a.f.playreadyVersion;
|
|
19
|
+
const ea=[],$a=_.om(m,"ProtectionHeader")[0],Pa=_.Ei(_.qm($a)||""),jb=_.Fm(Pa).a;ea.push(NP(_.zd,OP(jb),[jb]));ea.push(NP(_.xd,PP(Pa,jb,n),[jb]));var q=ea}a.o=q}{const ea=[],$a=_.om(c,"StreamIndex");if(!$a.length)throw a.g.error("No streams found!"),new _.H(_.F,4,4034,a.l);for(let Pa=0;Pa<$a.length;Pa++){{var u=a,v=$a[Pa];const jb=RP(u,v,"Type"),Rc=+v.getAttribute("Chunks"),Ph=v.getAttribute("Subtype"),oe=v.getAttribute("Language")||_.ag,pe=_.bi(oe),Qh=v.getAttribute("Name")||"",hf=+v.getAttribute(_.hb),
|
|
20
|
+
og=+v.getAttribute(_.gb),cs=RP(u,v,"Url"),um=+v.getAttribute("TimeScale")||null;{const Sc=[],uj=_.om(v,_.Bb);for(let qe=0;qe<uj.length;qe++){{let Tc,Ka,Jd;var y=u,B=uj[qe],D=jb;const vj=+B.getAttribute("Index"),pg=+RP(y,B,"Bitrate");let kc=NaN,qg=NaN,vm=NaN,ds=NaN,JE=NaN,KE=NaN,LE=NaN;const ME=B.getAttribute("FourCC");switch(D){case _.w:kc=+RP(y,B,_.gb);qg=+RP(y,B,_.hb);break;case _.p:ds=+B.getAttribute("Channels")||2,vm=+RP(y,B,"SamplingRate"),KE=+RP(y,B,"AudioTag"),JE=+RP(y,B,"BitsPerSample"),LE=
|
|
21
|
+
+RP(y,B,"PacketSize")}let es=String(B.getAttribute("CodecPrivateData"));if(D===_.p&&!es){{var M=ds;const NE={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},wm=NE[vm];if("AACH"===ME){Ka=new Uint8Array(4);const OE=NE[2*vm];Ka[0]=40|wm>>1;Ka[1]=wm<<7|M<<3|OE>>1;Ka[2]=OE<<7|8;Ka[3]=0;Tc=new Uint16Array(2);Tc[0]=(Ka[0]<<8)+Ka[1];Tc[1]=(Ka[2]<<8)+Ka[3];Jd=Tc[0].toString(16)+Tc[1].toString(16)}else Ka=new Uint8Array(2),Ka[0]=16|wm>>1,Ka[1]=wm<<7|M<<3,Tc=
|
|
22
|
+
new Uint16Array(1),Tc[0]=(Ka[0]<<8)+Ka[1],Jd=Tc[0].toString(16);es=Jd.toUpperCase()}}var da={id:y.W++,type:D,index:vj,bitrate:pg,sd:es,maxHeight:kc,maxWidth:qg,hd:vm,Ze:ds,Lh:KE,fg:JE,Wh:LE,wg:ME,segmentIndex:null}}Sc.push(da)}var vb=Sc}{const Sc=[],uj=_.om(v,"c");for(let qe=0;qe<uj.length;qe++){const Tc=uj[qe];let Ka=parseInt(Tc.getAttribute("t"),10),Jd=parseInt(Tc.getAttribute("d"),10),vj=parseInt(Tc.getAttribute("r"),10),pg=0;if(isNaN(Ka)&&isNaN(Jd))throw u.g.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),
|
|
23
|
+
new _.H(_.F,4,4037,u.l);0===qe&&isNaN(Ka)&&(pg=Ka=0);if(0<qe){const kc=Sc[Sc.length-1];pg=kc.n+1;kc.d||(kc.d=Ka-kc.t);Ka||(Ka=kc.t+kc.d);Jd||(Jd=Ka-kc.t)}Sc.push({n:pg,d:Jd,t:Ka});if(vj){vj--;for(let kc=0;kc<vj;kc++){const qg=Sc[Sc.length-1];pg=qg.n+1;Ka=qg.t+qg.d;Jd=qg.d;Sc.push({n:pg,d:Jd,t:Ka})}}}u.C()||Sc.length===Rc||u.g.warn("Number of fragments ("+Rc+") differs from number of chunks ("+Sc.length+").");var Ub=Sc}var pd={type:jb,Oh:Rc,uh:Ph,language:pe,$c:oe,name:Qh,maxWidth:hf,maxHeight:og,
|
|
24
|
+
Eh:cs,tracks:vb,gf:Ub,timescale:um}}ea.push(pd)}var kg=ea}const Wa={Vh:d,xf:e,timescale:f,duration:g,isLive:h,Uh:k,Zd:l,fe:!1,streams:kg};if(a.h&&a.w)return VP(a,Wa),Promise.resolve();a.G.clear();{const ea=Wa.timescale,$a=Wa.duration,Pa=FO(Wa.streams,_.p),jb=FO(Wa.streams,_.w),Rc=FO(Wa.streams,_.G),Ph=[];let oe=WP(a,$a,ea,Pa),pe=WP(a,$a,ea,jb);const Qh=WP(a,$a,ea,Rc);oe.length||(oe=[null]);pe.length||(pe=[null]);for(let hf=0;hf<pe.length;hf++)for(let og=0;og<oe.length;og++)Ph.push(XP(a,pe[hf],oe[og]));
|
|
25
|
+
var le={id:"ID",configurationId:void 0,startTime:0,endTime:$a,variants:Ph,textStreams:Qh,thumbStreams:[]}}{var Oc=Wa.streams;let ea=a.a.startTime,$a=a.a.delay;const Pa=a.I;let jb=Math.min(a.a.duration||Infinity,Pa);const Rc=a.C(),Ph=a.a.Zd,oe=a.a.bd,pe=a.H,Qh=isFinite(a.F)?a.F:0;if(Rc)jb=Infinity,ea=Date.now()/1E3-oe,a.a.startTime=ea,$a=3*pe;else{const og=isFinite(Pa)?Pa:a.a.duration;for(const cs of Oc)for(const um of cs.tracks)um.segmentIndex.offset(-Qh),_.DB(um.segmentIndex,og)}const hf=a.f.timeline||
|
|
26
|
+
{};hf.type=void 0;a.B=new _.jH(hf,ea,$a,!Rc,!0);a.B.f=jb;_.RB(a.B,pe);a.B.A=Ph;Rc||a.B.offset(-Qh)}a.D.filterAllPeriods([le]);a.h={presentationTimeline:a.B,periods:[le],minBufferTime:0};Promise.resolve();a.K||(a.D.networkingEngine.tc(a.L),a.K=!0);a.w=Wa;return Promise.resolve()},ZP=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.Hb.bind(a),b))},RP=function(a,b,c){if(b=b.getAttribute(c))return b;a.g.error("required attribute not provided: "+c);throw new _.H(_.F,4,4038,a.l,c);},SP=function(a,
|
|
27
|
+
b){const c=b===UP;a.h&&a.h.presentationTimeline&&_.MB(a.h.presentationTimeline,c);c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.N=b},VP=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){DO(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=$P(a,a.w.timescale,f,c);c=g.segmentIndex;_.cC(c,d);(d=
|
|
28
|
+
a.a.Zd)&&_.dC(c,_.aC(c)-d).forEach(h=>{h.Ra().forEach(k=>{a.G.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},$P=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=CO(a.l,c,k,d);a.H=Math.max(a.H,l);f.push(new _.bC(k,h,m,()=>[n],0,null,0,null,!0,g));a.G.set(n,h);e+=l});if(c.type===_.w||c.type===_.p)b=f[f.length-1],
|
|
29
|
+
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},WP=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=$P(a,c,k,h);const da=new _.kH(l);var m=null;k.type!==_.G&&(m=aQ(a,b,c,k,h));h.segmentIndex=da;l=_.oH++;var n=Promise.resolve.bind(Promise),q=da.find.bind(da),u=da.get.bind(da),v=da.f.bind(da),y=da.getDuration.bind(da),B=bQ[k.type];var D="";switch(k.type){case _.w:D=h.sd;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.sd,M=2,"AACH"===h.wg?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===_.G?cQ[k.uh]:void 0;h={id:l,originalId:null,Yh:null,createSegmentIndex:n,findSegmentPosition:q,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:da,segmentLookupStrategy:_.AA,initSegmentReference:m,mimeType:B,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.Ze||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},XP=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.ag;return c||b?{id:a.S++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,
|
|
32
|
+
allowedByKeySystem:!0}:null},aQ=function(a,b,c,d,e){b=EO(b,d.timescale||c,e);c={isLive:a.C.bind(a),zd:a.J.bind(a),Cg:()=>1,xd:a.O.bind(a)};d=new Uint8Array(0);try{d=xP(b,c)}catch(g){throw a.g.error("Failed to generate initialization segment."),new _.H(_.F,3,4035,g);}const f="data:text/plain;base64,"+_.Di(d);return new _.gH(()=>[f],0,null,null,!0)},PO=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?_.O(a,1):_.O(a,this.size);_.ul(a,AO(this.type));
|
|
34
|
+
this.size>b&&uO(a,this.size);"uuid"===this.type&&_.ul(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()}},dQ=class extends PO{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);vO(a,this.version);wO(a,this.flags)}},vP=class extends PO{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);_.ul(a,this.h,this.offset);
|
|
35
|
+
a.getPosition()}},BP=class extends dQ{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);_.ul(a,this.h,this.offset);a.getPosition()}},uP=class extends PO{constructor(a,b,c){super("ftyp");this.j=a;this.xf=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);_.ul(a,AO(this.j));_.O(a,this.xf);_.ul(a,AO(this.h.join("")));a.getPosition()}},tP=class extends PO{constructor(){super(_.Be)}},
|
|
36
|
+
sP=class extends PO{constructor(){super(_.Yf)}},WO=class extends dQ{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?(uO(a,0),uO(a,0),_.O(a,this.timescale),uO(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*
|
|
37
|
+
this.timescale));_.O(a,65536);xO(a,this.volume);xO(a,0);_.O(a,0);_.O(a,0);for(let b=0;b<this.h.length;b++)vO(a,this.h[b]);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,this.j);a.getPosition()}},XO=class extends PO{constructor(){super("mvex")}},YO=class extends dQ{constructor(a){super("trex",0,0);this.h=a}a(){return 20+super.a()}write(a){super.write(a);_.O(a,this.h);_.O(a,1);_.O(a,0);_.O(a,0);_.O(a,0);a.getPosition()}},ZO=class extends dQ{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?(uO(a,0),uO(a,0),_.O(a,this.j),_.O(a,0),uO(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.j),_.O(a,0),_.O(a,this.duration*this.timescale));_.O(a,0);_.O(a,0);xO(a,0);xO(a,0);xO(a,this.volume);xO(a,0);for(let b=
|
|
39
|
+
0;b<this.h.length;b++)vO(a,this.h[b]);xO(a,this.width);xO(a,0);xO(a,this.height);xO(a,0);a.getPosition()}},$O=class extends dQ{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?(uO(a,0),uO(a,0),_.O(a,this.timescale),uO(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));xO(a,this.language);xO(a,0);a.getPosition()}},
|
|
40
|
+
aP=class extends dQ{constructor(a){super("hdlr",0,0);this.h=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.h===_.w?_.ul(a,AO("vide")):_.ul(a,AO("soun"));_.O(a,0);_.O(a,0);_.O(a,0);this.h===_.w?_.ul(a,AO("VideoHandler\x00")):_.ul(a,AO("SoundHandler\x00"));a.getPosition()}},gP=class extends dQ{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);xO(a,0);_.ul(a,this.h);a.getPosition()}},eQ=class extends PO{constructor(a){super(a);
|
|
41
|
+
this.A=!0}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);xO(a,0);xO(a,1)}},fQ=class extends eQ{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);xO(a,0);xO(a,0);_.O(a,0);_.O(a,0);_.O(a,0);xO(a,this.width);xO(a,this.height);_.O(a,4718592);_.O(a,4718592);_.O(a,0);xO(a,1);vO(a,10);_.ul(a,AO("AVC Coding",31));xO(a,this.depth);zO(a,-1)}},gQ=class extends eQ{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=
|
|
42
|
+
d}a(){return 20+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);xO(a,this.channelCount);xO(a,this.sampleSize);zO(a,0);xO(a,0);xO(a,this.sampleRate);xO(a,0)}},fP=class extends fQ{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()}},QO=class extends fP{constructor(a,b){super(a,b);this.type="encv"}},iP=class extends gQ{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()}},RO=class extends iP{constructor(a,b,c){super(a,b,c);this.type="enca"}},eP=class extends PO{constructor(a,b){super("avcC");this.Ua=a;this.Vb=b;this.version=1;this.h=this.Ua[0][1];this.j=this.Ua[0][2];this.level=this.Ua[0][3]}a(){let a=7;for(var b=0;b<this.Ua.length;b++)a+=2,a+=this.Ua[b].byteLength;for(b=0;b<this.Ua.length;b++)a+=2,a+=this.Vb[b].byteLength;return a+super.a()}write(a){super.write(a);vO(a,this.version);vO(a,this.h);vO(a,this.j);vO(a,this.level);vO(a,255);vO(a,224|this.Ua.length);
|
|
44
|
+
for(var b=0;b<this.Ua.length;b++)xO(a,this.Ua[b].length),_.ul(a,this.Ua[b]);vO(a,this.Vb.length);for(b=0;b<this.Vb.length;b++)xO(a,this.Vb[b].length),_.ul(a,this.Vb[b]);a.getPosition()}},hP=class extends dQ{constructor(a){super("esds",0,0);this.Nb=a}a(){return 22+(this.Nb.byteLength+3)+super.a()}write(a){super.write(a);vO(a,3);vO(a,23+this.Nb.byteLength);xO(a,1);vO(a,0);vO(a,4);vO(a,15+this.Nb.byteLength);vO(a,64);vO(a,21);wO(a,0);_.O(a,0);_.O(a,0);vO(a,5);vO(a,this.Nb.byteLength);_.ul(a,this.Nb);
|
|
45
|
+
_.ul(a,new Uint8Array([6,1,2]));a.getPosition()}},cP=class extends dQ{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&&_.ul(a,AO(this.location));a.getPosition()}},bP=class extends dQ{constructor(){super("dref",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
|
|
46
|
+
a.getPosition()}},kP=class extends PO{constructor(){super(_.Pf)}},dP=class extends dQ{constructor(){super(_.Rf,0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},lP=class extends dQ{constructor(){super("stts",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);
|
|
47
|
+
_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},mP=class extends dQ{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},oP=class extends dQ{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();
|
|
48
|
+
return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},nP=class extends dQ{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);a.getPosition()}},jP=class extends dQ{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);zO(a,0);xO(a,0);a.getPosition()}},pP=class extends PO{constructor(){super("dinf")}},qP=class extends PO{constructor(){super(_.Ae)}},
|
|
49
|
+
rP=class extends PO{constructor(){super(_.we)}},JP=class extends dQ{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?uO(a,this.baseMediaDecodeTime):_.O(a,this.baseMediaDecodeTime);a.getPosition()}},yP=class extends dQ{constructor(){super("mfhd",0,0);this.h=0}a(){return 4+super.a()}write(a){super.write(a);_.O(a,this.h);a.getPosition()}},AP=class extends dQ{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&hQ&&(a+=4);this.flags&iQ&&(a+=4);for(let b=0;b<this.h;b++)this.flags&jQ&&(a+=4),this.flags&kQ&&(a+=4),this.flags&lQ&&(a+=4),this.flags&mQ&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&hQ&&(a.getPosition(),yO(a,this.l));this.flags&iQ&&_.O(a,this.o);for(let b=0;b<this.h;b++)this.flags&jQ&&_.O(a,this.w[b]),this.flags&kQ&&_.O(a,this.sampleSize[b]),this.flags&lQ&&_.O(a,this.B[b]),
|
|
51
|
+
this.flags&mQ&&(0===this.version?_.O(a,this.j[b]):yO(a,this.j[b]));a.getPosition()}},hQ=1,iQ=4,jQ=256,kQ=512,lQ=1024,mQ=2048,zP=class extends dQ{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&nQ&&(a+=8);this.flags&oQ&&(a+=4);this.flags&pQ&&(a+=4);this.flags&qQ&&(a+=4);this.flags&rQ&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&nQ&&uO(a,this.j);this.flags&oQ&&_.O(a,this.B);this.flags&pQ&&_.O(a,this.l);this.flags&
|
|
52
|
+
qQ&&_.O(a,this.w);this.flags&rQ&&_.O(a,this.o);a.getPosition()}},nQ=1,oQ=2,pQ=8,qQ=16,rQ=32,FP=class extends PO{constructor(){super("traf")}},GP=class extends PO{constructor(){super("moof")}},EP=class extends PO{constructor(){super(_.ve);this.h=new Uint8Array(0)}a(){return this.h.byteLength+super.a()}write(a){super.write(a);0<this.h.byteLength&&_.ul(a,this.h)}},SO=class extends dQ{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);vO(a,0);0===this.version?vO(a,0):vO(a,0);vO(a,this.h);vO(a,this.j);_.ul(a,_.Fi(this.o));if(1===this.h&&0===this.j){vO(a,0);for(let b=0;b<this.l.length;b++)vO(a,this.l[b])}a.getPosition()}},UO=class extends dQ{constructor(a,b){super("schm",0,0);this.h=a;this.j=b;this.Kb=""}a(){let a=8;this.flags&1&&(a+=AO(this.Kb).byteLength);return a+super.a()}write(a){super.write(a);_.ul(a,AO(this.h));_.O(a,this.j);this.flags&1&&_.ul(a,AO(this.Kb));a.getPosition()}},TO=
|
|
54
|
+
class extends PO{constructor(a){super("frma");this.h=a}a(){return AO(this.h).byteLength+super.a()}write(a){super.write(a);_.ul(a,AO(this.h));a.getPosition()}},KP=class extends dQ{constructor(){super("saio",0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));_.O(a,1);for(let b=0;1>b;b++)0===this.version?_.O(a,this.offset[b]):uO(a,this.offset[b]);a.getPosition()}},LP=class extends dQ{constructor(a,
|
|
55
|
+
b,c){super("saiz",0,0);this.h=a;this.l=b;this.j=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.h&&(a+=this.l.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));vO(a,this.h);_.O(a,this.j);if(0===this.h)for(let b=0;b<this.j;b++)vO(a,this.l[b]);a.getPosition()}},DP=class extends dQ{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].tf.byteLength,this.flags&2){a+=2;for(let c=0;c<this.h[b].Ic;c++)a+=
|
|
56
|
+
2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.j);this.flags&1&&vO(a,this.l);for(let b=0;b<this.j;b++)if(_.ul(a,this.h[b].tf),this.flags&2){xO(a,this.h[b].Ic);for(let c=0;c<this.h[b].Ic;c++)xO(a,this.h[b].Ge[c].Xe),_.O(a,this.h[b].Ge[c].Ye)}a.getPosition()}};var IP=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))}},HO=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,IO=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,JO=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,KO=/^(\d*\.?\d*)f$/,LO=/^(\d*\.?\d*)t$/,MO=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var wP=class{constructor(a){this.a=a;this.f=OO(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=OO(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var CP=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var sQ=class{constructor(){this.w=this.h=this.f=this.D=null;this.S=1;this.W=0;this.l="";this.B=this.a=null;this.g=new _.R("clpp.smooth.SmoothParser");this.K=!1;this.j=this.A=null;this.N=UP;this.H=0;this.F=this.I=Infinity;this.o=[];this.L=this.T.bind(this);this.G=new Map}configure(a){this.f=a}start(a,b){this.D=b;a=[...new Set([a,BO(a)])];return QP(this,a).then(c=>YP(this,c.data).then(()=>{ZP(this,this.A);return this.h}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.gd(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 QP(this,[this.l]).then(a=>YP(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Hb(){this.g.debug(_.rA);this.D&&(this.j=null,this.update().then(()=>{ZP(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&ZP(this,100))}))}C(){return this.N===TP}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}T(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),zd:this.J.bind(this),Cg:()=>1,xd:this.O.bind(this)};let d=!1;const e=new _.H(_.F,3,4035,null);let f=null;try{const g=this.G.get(a.request.uris[a.request.uriIndex])||a.request.startTime||0;g!==a.request.startTime&&this.g.debug(`Using base media decode time ${g} instead of `+
|
|
59
|
+
`segment reference time ${a.request.startTime}`);f=MP(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)}},bQ={video:_.mg,audio:_.Jc,text:_.Dc},UP=_.Tb,TP="LIVE",cQ={Fh:_.wA,Ih:_.MA};_.z("clpp.smooth.SmoothComponent",class extends _.Yt{f(){_.Br.ism=sQ;_.zr[_.Ec]=sQ}a(){_.AC("ism");_.BC(_.Ec)}id(){return _.Kf}});};f.call(g, window);
|
package/cl.thumbnails.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.
|
|
6
|
-
this.width*c+_.
|
|
7
|
-
f=>{this.
|
|
8
|
-
c),new _.H(1,9,7100,
|
|
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 _.H(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.H(1,9,2014,`Position is out of range: ${a}`);yield b.
|
|
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 $w="Thumbnail URL is mandatory",ax="Wrong gridSize format",bx="clpp.thumbnails",dx=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Fe&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>cx(a,0,e,!!f))},Promise.resolve())},cx=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return ex(a,d).then(()=>a.a[b].load()).then(()=>cx(a,e,c,d))},ex=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.Rn)c();else a.player.one(_.Qc,()=>{c()})})},
|
|
2
|
+
fx=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.ed.resolve()})},ix=function(a,b){return gx(a,b).then(c=>new hx(c,b.time,b.duration))},gx=function(a,b){return b.load().then(()=>{const c=_.J(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.Ci(c)})},jx=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},kx=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
lx=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Wc:c,Ne:d,sf:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},mx=function(a){return a.some(b=>0<b.thumbStreams.length)},ux=function(a){return a?a===nx||a===ox?new px:a===qx?new rx:a===sx?new tx:null:null},vx=function(a){if(!a)return null;a=new _.Kl(a);return a.path.match(/.*\.vtt$/i)?qx:a.path.match(/.*\.bif$/i)?sx:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
nx:null};var wx=class{constructor(){this.log=new _.R(bx);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.vf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&dx(this,b.preload)})}};var hx=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.qa=n;this.lg=h;this.mh=k;this.Kg=l;this.Lg=m;this.ge=null}raw(){return this.qa.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(_.Gd);a.style.width=c+_.sf;a.style.height=d+_.sf;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.qa.naturalWidth||this.qa.width))}px ${Math.ceil(d/this.height*(this.qa.naturalHeight||this.qa.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/
|
|
6
|
+
this.width*c+_.sf;a.style.backgroundPositionY="-"+b*d+_.sf;return a}load(){this.ge||(this.ge=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.qa.naturalWidth||this.qa.width)/this.lg);this.height||(this.height=(this.qa.naturalHeight||this.qa.height)/this.mh);this.x||(this.x=this.width*this.Kg);this.y||(this.y=this.height*this.Lg)};if(this.qa.src&&this.qa.complete)c(),a(this);else{var d=null,e=()=>{c();this.qa.removeEventListener("load",e);this.qa.removeEventListener(_.r,d);a(this)};d=
|
|
7
|
+
f=>{this.qa.removeEventListener("load",e);this.qa.removeEventListener(_.r,d);b(new _.H(1,9,2014,"Failed to load thumbnail.",f))};this.qa.addEventListener("load",e);this.qa.addEventListener(_.r,d);this.qa.src=this.src}}));return this.ge}};_.z("clpp.thumbnails.Thumbnail",hx);hx.prototype.load=hx.prototype.load;hx.prototype.element=hx.prototype.element;hx.prototype.raw=hx.prototype.raw;var px=class extends wx{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.H(1,9,7100,$w);if("GRID"===b.mode&&!b.gridSize)throw new _.H(1,9,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.H(1,9,7100,"Duration is mandatory");this.f=b;this.j=this.f.duration;if(this.f.gridSize)try{const c=this.f.gridSize.split(/x/).map(d=>parseInt(d,10)).filter(d=>0<d);if(2===c.length)this.h=c[0],this.o=c[1];else throw new _.H(1,9,7100,ax);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
|
+
c),new _.H(1,9,7100,ax);}super.init(a,b)}get(a){const b=this;return _.x(function*(){var c=b.player.getDuration();if(0>a||a>c)throw new _.H(1,9,2014,`Position is out of range: ${a}`);c=Math.floor(a/b.f.duration);const d=b.a[c];if(!d)throw new _.H(1,9,2014,"No thumbnail found for position "+a+" at index "+c);yield d.load();return d})}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";
|
|
9
|
+
for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new hx(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 xx=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.ed=new _.dn}load(){return this.ed}},tx=class{constructor(){this.g=new _.R(bx);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.dn}init(a,b){if(!b||!b.url)throw new _.H(1,9,7100,$w);const c=b.url;b=_.Si(c);b.type=_.Ri;a.getNetworkEngine().fetch(b).R.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,yx);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 xx(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");fx(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
|
|
12
|
+
+ 'URL: ${c}`,d);a.onError(new _.H(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.H(1,9,2014,`Position is out of range: ${a}`);yield b.h;var c=b.f.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.H(1,9,2014,`No thumbnail found for position: ${a}`);c=yield ix(b,c);yield c.load();return c})}},yx=[137,66,73,70,13,10,26,10];var rx=class extends wx{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.H(1,9,7100,$w);const c=b.url,d=_.Si(c);d.type=_.Ri;this.f=a.getNetworkEngine().fetch(d).R.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.oi(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=jx(g[0]);g=jx(g[1])-l;this.a.push(new hx(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 _.H(1,9,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.H(1,9,2014,`Position is out of range: ${a}`);yield b.f;const c=b.a.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.H(1,9,2014,`No thumbnail found for position: ${a}`);
|
|
14
|
+
yield c.load();return c})}l(){return this.f}};var zx=class extends wx{get(a){const b=this;return _.x(function*(){function c(){return new _.H(1,9,2014,`No thumbnail found for position: ${a}`)}if(0>a)throw b.log.error("Position must be greater than 0 but is "+a),new _.H(1,9,2014,`Position is out of range: ${a}`);var d=b.player.getPeriods();d=kx(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=lx(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.sf+k]);else if((e=f.Ra())&&0<e.length){let l=g=0;f=f.startTime;1<h.sf&&(g=k%h.Wc,l=Math.floor(k/h.Wc),f+=k*h.durationPerTile);g=new hx(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.Wc,h.Ne,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&&!_.A(d=a.getSegmentReference(c++));){const e=lx(d,a),f=d.Ra()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.Ne;++k)for(let l=0;l<e.Wc;++l)this.a.push(new hx(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.Wc,e.Ne,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var Ax=class{constructor(){this.g=new _.R(bx);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=vx(b.url||null));(this.a=ux(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(mx(c)){this.a=new zx;try{this.a.init(a,b)}catch(d){this.m.onError(d)}}}}}get(a){return this.a?this.a.get(a):Promise.reject(new _.H(1,9,2014,"Thumbnail format is not supported"))}id(){return"thumbnails"}};_.z("clpp.thumbnails.ThumbnailsPlugin",Ax);Ax.prototype.get=Ax.prototype.get;Ax.Id="thumbnails";_.dp(new class{create(){return new Ax}});
|
|
19
|
+
var nx="SINGLE",ox="GRID",qx="WEBVTT",sx="BIF";};f.call(g, window);
|