@castlabs/prestoplay 6.23.1 → 6.24.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 +14 -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 +113 -113
- package/cjs/cl.conviva.js +32 -32
- package/cjs/cl.core.js +608 -591
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +87 -86
- package/cjs/cl.externs.js +94 -30
- package/cjs/cl.freewheel.js +25 -24
- package/cjs/cl.hls.js +73 -71
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +30 -30
- package/cjs/cl.ima.js +23 -23
- package/cjs/cl.mse.js +344 -339
- package/cjs/cl.muxdata.js +15 -15
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +14 -13
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.sessions.js +16 -16
- package/cjs/cl.simid.js +15 -15
- package/cjs/cl.smooth.js +72 -72
- package/cjs/cl.thumbnails.js +26 -26
- package/cjs/cl.tizen.js +71 -71
- package/cjs/cl.ttml.js +29 -29
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +12 -12
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.yospace.js +4 -4
- package/cjs/cl.youbora.js +37 -37
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +88 -88
- package/cl.conviva.js +27 -27
- package/cl.core.js +492 -478
- package/cl.crypto.js +9 -9
- package/cl.dash.js +81 -80
- package/cl.externs.js +94 -30
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +75 -74
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +17 -17
- package/cl.mse.js +307 -305
- 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 +14 -14
- package/cl.vtt.js +12 -12
- package/cl.yospace.js +3 -3
- package/cl.youbora.js +28 -28
- package/package.json +1 -1
- package/typings.d.ts +44 -10
package/cl.smooth.js
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
b,a.h),a.a+=2}catch(c){_.
|
|
3
|
-
String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.
|
|
4
|
-
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.
|
|
5
|
-
Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else
|
|
6
|
-
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.
|
|
7
|
-
|
|
8
|
-
(a=(new
|
|
9
|
-
|
|
10
|
-
0<l-k.reader.getPosition()&&k.flags&32&&(m.l=_.P(k.reader));d=m}}).
|
|
11
|
-
2048&&(0===k.version?m.h.push(_.P(k.reader)):m.h.push(_.
|
|
12
|
-
u.
|
|
13
|
-
g;d=g.get(_.
|
|
14
|
-
A;y++){b:{var k=h;var l=g[y],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const
|
|
15
|
-
m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.h;m++)k.push(10+6*c.f[m].
|
|
16
|
-
periodId:null}},
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).U;a.o=c.uri;return c})},
|
|
18
|
-
if(!1===/^[2].[0-2]$/.test(""+e+"."+f))throw a.g.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.
|
|
19
|
-
u}{const
|
|
20
|
-
|
|
21
|
-
32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},
|
|
22
|
-
maxWidth:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
textStreams:
|
|
26
|
-
a.C.A=
|
|
27
|
-
c);c&&null!=a.l&&(window.clearTimeout(a.l),a.l=null,a.B=null);a.O=b},
|
|
28
|
-
`track with bitrate ${g.bitrate}. Skipping update.`)}}},
|
|
29
|
-
d.length;f++){const g=d[f].tracks.map(h=>{{var k=d[f],l=
|
|
30
|
-
2),16)&248)>>3),
|
|
31
|
-
primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.
|
|
32
|
-
try{d=
|
|
33
|
-
a)return this.children[b];{const c=this.children[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.children.length)for(let c=0;c<this.children.length;c++)b+=this.children[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.O(a,1):_.O(a,this.size);_.
|
|
34
|
-
!this.w)for(b=0;b<this.children.length;b++)this.children[b].write(a),this.children[b].a(),a.getPosition()}},
|
|
35
|
-
b,c);this.f=d;this.offset=e}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
d;this.height=e;this.volume=1;this.f=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.f.length;return a+super.a()}write(a){super.write(a);1===this.version?(
|
|
39
|
-
this.width);
|
|
40
|
-
0,0);this.f=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.f===_.w?_.
|
|
41
|
-
super.a()}write(a){super.write(a);_.O(a,0);
|
|
42
|
-
super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);
|
|
43
|
-
a.getPosition()}},
|
|
44
|
-
for(var b=0;b<this.
|
|
45
|
-
_.
|
|
46
|
-
a.getPosition()}},
|
|
47
|
-
_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},
|
|
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()}},
|
|
49
|
-
|
|
50
|
-
b);this.l=this.j=this.f=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&
|
|
51
|
-
this.flags&
|
|
52
|
-
|
|
53
|
-
return a+super.a()}write(a){super.write(a);
|
|
54
|
-
class extends
|
|
55
|
-
b,c){super("saiz",0,0);this.f=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.f&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));
|
|
56
|
-
2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&1&&
|
|
57
|
-
this.j=this.f=this.D=null;this.l&&(clearTimeout(this.l),this.l=null);this.L=!1;this.J=this.G=Infinity;return Promise.resolve()}update(){if(this.F())return
|
|
58
|
-
0;c<this.w.length;c++)if(this.w[c].keySystem===a){b=this.w[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.A.timescale,c={isLive:this.F.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 IR="Full MP4 box must have flags defined",JR="clpp.smooth.SmoothMP4Processor",KR="codecPrivateData",LR=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.O(a,c);_.O(a,b)},MR=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.jm()}},NR=function(a,b){MR(a,b>>16&255);MR(a,b>>8&255);MR(a,b&255)},OR=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.jm()}},PR=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.jm()}},QR=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.jm()}},RR=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},SR=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},TR=function(a,b,c,d){c=b.Of[c];b=b.Ci;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 _.fD([a],[b])[0]},UR=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",KR,"fourCC"]:a.type===_.p&&(c=["bitrate",KR,"channels","bitsPerSample","samplingRate","fourCC"]);return _.th(a,b,c,["id","segmentIndex"])},VR=function(a,b,c){const d=c.Jd.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,eb:null,fc:null,width:NaN,height:NaN,cc:null,xd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.eb=[_.tj(d[1])];a.fc=[_.tj(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.cc=_.tj(c.Jd),a.sampleSize=c.Tg||16,a.xd=c.xd,a.channelCount=c.Ff}return a},WR=function(a,b){return a.filter(c=>c.type===b)},YR=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)},eS=function(a,b,c){var d=null;if(ZR.test(a)){{a=ZR.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 $R.test(a)?d=YR($R,a):aS.test(a)?d=YR(aS,a):bS.test(a)?(a=bS.exec(a),d=Number(a[1])/c.frameRate):cS.test(a)?(a=cS.exec(a),d=Number(a[1])/c.a):dS.test(a)&&(d=YR(dS,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},fS=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Em(b)},mS=function(a,b,c){a:{var d=[_.Jd,_.Hd];for(e of d)if((d=c.Od(e))&&d.keyId){var e=d.keyId;break a}_.C(JR,"Could not get default Key ID for DRM init data!");e=null}c=new gS("xxxx");a.type===_.w?c=new hS(a.width,a.height):c=new iS(a.channelCount,a.sampleSize,a.xd);a=new jS;a.f=1;a.h=8;a.l=e||"00000000000000000000000000000000";a=(new gS("schi")).append([a]);b=(new gS(_.Vf)).append([new kS(b),new lS(_.jd,65536),a]);c.append([b]);return c},
|
|
7
|
+
PS=function(a,b){var c=b.Rd(),d=new nS(a.timescale,a.duration,a.id),e=(new oS).append([new pS(a.id)]),f=new qS(a.id,a.duration,a.timescale,a.width,a.height),g=new rS(a.timescale,a.duration);const h=new sS(a.type);var k=null,l=new tS;l.entries=[new uS];var m=new vS;switch(a.type){case _.w:k=new wS(a.eb,a.fc);c?(a=mS(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new xS(a.width,a.height)).append([k]),m.entries=[a]);k=new yS;break;case _.p:k=new zS(a.cc),c?(a=mS(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new AS(a.channelCount,a.sampleSize,a.xd)).append([k]),m.entries=[a]),k=new BS}m=(new CS).append([m,new DS,new ES,new FS,new GS]);l=(new HS).append([l]);l=(new IS).append([k,l,m]);g=(new JS).append([g,h,l]);f=(new KS).append([f,g]);d=(new LS).append([d,f,e]);e=new MS("dash",0,["iso6","mp41","avc1"]);c&&(c=b.Od(_.Hd),b=b.Od(_.Jd),c&&d.append([new NS("pssh",c.initData,8)]),b&&d.append([new NS("pssh",b.initData,8)]),c||b||_.C(JR,"Could not get PSSH init data!"));b=new OS([e,d]);return _.K(b.write())},
|
|
9
|
+
ZS=function(a,b){let c,d,e,f,g,h;(new _.Cm).N("moof",_.vm).ea("mfhd",k=>{{const l=new QS;l.f=_.P(k.reader);c=l}}).N("traf",_.vm).ea("tfhd",k=>{{const l=k.reader.Sa();if(null===k.flags)throw new _.I(_.F,3,3019,IR);const m=new RS(k.version||0,k.flags||0);m.f=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.h=_.qm(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.A=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.j=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.o=_.P(k.reader));
|
|
10
|
+
0<l-k.reader.getPosition()&&k.flags&32&&(m.l=_.P(k.reader));d=m}}).ea("trun",k=>{{var l=k.reader.Sa();if(null===k.flags)throw new _.I(_.F,3,3019,IR);const m=new SS(k.version||0,k.flags||0);m.f=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.pm(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.l=_.P(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.f;l++)k.flags&256&&m.o.push(_.P(k.reader)),k.flags&512&&m.sampleSize.push(_.P(k.reader)),k.flags&1024&&m.A.push(_.P(k.reader)),k.flags&
|
|
11
|
+
2048&&(0===k.version?m.h.push(_.P(k.reader)):m.h.push(_.pm(k.reader)));e=m}}).ea("sdtp",k=>{{const l=_.sm(k.reader,k.reader.Sa());f=new TS("sdtp",k.version||0,k.flags||0,l,0)}}).N("uuid",k=>{var l=_.sm(k.reader,16);if(_.vj(l,US)){l=_.P(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new VS(k.version,k.flags);l.h=_.P(k.reader);k.flags&1&&(l.j=_.nm(k.reader));for(let m=0;m<l.h;m++){const n={$f:_.sm(k.reader,8),Uc:0,df:[]};if(k.flags&2){n.Uc=_.om(k.reader);for(let q=0;q<n.Uc;q++){const u={Cf:0,Df:0};
|
|
12
|
+
u.Cf=_.om(k.reader);u.Df=_.P(k.reader);n.df.push(u)}}l.f.push(n)}g=l}}).N(_.He,k=>{{const l=new WS;0<k.reader.Sa()?l.f=_.sm(k.reader,k.reader.Sa()):(_.C(JR,"mdat box is empty!"),l.f=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new XS).append([d,e]);f&&a.append([f]);b.Rd()&&g&&a.append([g]);b=(new YS).append([c,a]);return new OS([b,h])},dT=function(a,b,c,d){var e=d.Rd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=ZS(b,d);if(null===g)return a.request.contentType===_.H?a.data:
|
|
13
|
+
g;d=g.get(_.He);if(a.request.contentType===_.H){e=d.f.buffer;if(c){e=_.fj(e);if((e=(new DOMParser).parseFromString(e,_.hg))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new $S(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",_.he];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 E=l.length;for(;n<E;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[y],eS(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.gj(e).buffer}else c=e;return c}h=new YS;a=g.get("mfhd");b=new XS;k=g.get("tfhd");m=new aT(1,f);f=g.get("trun");n=g.get("sdtp");c=g.get("senc");k.f=1;k.flags&=16777214;k.flags|=131072;b.append([k,
|
|
15
|
+
m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.h;m++)k.push(10+6*c.f[m].Uc);else g=8;b.append([c,new bT,new cT(g,k,c.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;d=new OS([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},eT=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},fT=function(a){return{initData:_.TC(_.yn(a)),initDataType:_.jd,keyId:a,periodId:null}},gT=function(a,b,c){a=_.Hn(a);c&&a.version!==c&&(a=_.VC(a,c));return{initData:_.TC(a),initDataType:_.jd,keyId:b,periodId:null}},hT=function(a,b){return _.x(function*(){var c=_.Jj(b);c.timeout=a.f.attemptParameters.timeout;c.maxAttempts=Math.max(a.f.attemptParameters.maxAttempts,b.length);c.baseDelay=a.f.attemptParameters.baseDelay;c.backoffFactor=a.f.attemptParameters.backoffFactor;c.fuzzFactor=a.f.attemptParameters.fuzzFactor;
|
|
17
|
+
c.type=1;c=yield a.D.networkingEngine.fetch(c).U;a.o=c.uri;return c})},pT=function(a,b){const c=_.Cn;let d=null;try{const Ea=_.fj(b);d=c.j(Ea,_.Eb)}catch(Ea){}if(!d)throw a.g.error("Unable to parse manifest"),new _.I(_.F,4,4033,a.o);const e=+iT(a,d,"MajorVersion"),f=+iT(a,d,"MinorVersion"),g=+d.getAttribute("TimeScale")||1E7;let h=+iT(a,d,"Duration");const k="TRUE"===d.getAttribute("IsLive"),l=+d.getAttribute("LookAheadCount"),m=+d.getAttribute("DVRWindowLength")||Infinity,n=c.a(d,"Protection")[0];
|
|
18
|
+
if(!1===/^[2].[0-2]$/.test(""+e+"."+f))throw a.g.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.I(_.F,4,4036,a.o);k?(jT(a,kT),a.B=typeof a.f.liveRefreshPeriod===_.t?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.I,1E4),h=Infinity):jT(a,lT);a.a={startTime:0,delay:0,duration:h/g,ve:m/g,od:0};if(n){{var q=a.f.playreadyVersion;const Ea=_.Cn,Sa=[],Nb=Ea.a(n,"ProtectionHeader")[0],zc=_.sj(Ea.f(Nb)||""),gc=_.Hn(zc).a;Sa.push(eT(_.Jd,fT(gc),[gc]));Sa.push(eT(_.Hd,gT(zc,gc,q),[gc]));var u=Sa}a.w=
|
|
19
|
+
u}{const Ea=[],Sa=_.Cn.a(d,"StreamIndex");if(!Sa.length)throw a.g.error("No streams found!"),new _.I(_.F,4,4034,a.o);for(let Nb=0;Nb<Sa.length;Nb++){{var v=a,y=Sa[Nb];const zc=iT(v,y,"Type"),gc=+y.getAttribute("Chunks"),Th=y.getAttribute("Subtype")||"",xe=y.getAttribute("Language")||_.sg,ye=_.Pi(xe),Uh=y.getAttribute("Name")||"",tf=+y.getAttribute(_.eb),wg=+y.getAttribute(_.db),Ms=iT(v,y,"Url"),Jm=+y.getAttribute("TimeScale")||null;{const fd=[],Aj=_.Cn.a(y,_.xb);for(let ze=0;ze<Aj.length;ze++){{let gd,
|
|
20
|
+
Na,Xd;var A=v,E=Aj[ze],G=zc;const Bj=+E.getAttribute("Index"),xg=+iT(A,E,"Bitrate");let Ac=NaN,yg=NaN,Km=NaN,Ns=NaN,wG=NaN,xG=NaN,yG=NaN;const zG=E.getAttribute("FourCC")||"";switch(G){case _.w:Ac=+iT(A,E,_.db);yg=+iT(A,E,_.eb);break;case _.p:Ns=+E.getAttribute("Channels")||2,Km=+iT(A,E,"SamplingRate"),xG=+iT(A,E,"AudioTag"),wG=+iT(A,E,"BitsPerSample"),yG=+iT(A,E,"PacketSize")}let Os=String(E.getAttribute("CodecPrivateData"));if(G===_.p&&!Os){{var X=Ns;const AG={96E3:0,88200:1,64E3:2,48E3:3,44100:4,
|
|
21
|
+
32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},Lm=AG[Km];if("AACH"===zG){Na=new Uint8Array(4);const BG=AG[2*Km];Na[0]=40|Lm>>1;Na[1]=Lm<<7|X<<3|BG>>1;Na[2]=BG<<7|8;Na[3]=0;gd=new Uint16Array(2);gd[0]=(Na[0]<<8)+Na[1];gd[1]=(Na[2]<<8)+Na[3];Xd=gd[0].toString(16)+gd[1].toString(16)}else Na=new Uint8Array(2),Na[0]=16|Lm>>1,Na[1]=Lm<<7|X<<3,gd=new Uint16Array(1),gd[0]=(Na[0]<<8)+Na[1],Xd=gd[0].toString(16);Os=Xd.toUpperCase()}}var wc={id:A.V++,type:G,index:Bj,bitrate:xg,Jd:Os,maxHeight:Ac,
|
|
22
|
+
maxWidth:yg,xd:Km,Ff:Ns,Hi:xG,Tg:wG,Ui:yG,nh:zG,segmentIndex:null}}fd.push(wc)}var dc=fd}{const fd=[],Aj=_.Cn.a(y,"c");for(let ze=0;ze<Aj.length;ze++){const gd=Aj[ze];let Na=parseInt(gd.getAttribute("t"),10),Xd=parseInt(gd.getAttribute("d"),10),Bj=parseInt(gd.getAttribute("r"),10),xg=0;if(isNaN(Na)&&isNaN(Xd))throw v.g.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),new _.I(_.F,4,4037,v.o);0===ze&&isNaN(Na)&&(xg=Na=0);if(0<ze){const Ac=
|
|
23
|
+
fd[fd.length-1];xg=Ac.n+1;Ac.d||(Ac.d=Na-Ac.t);Na||(Na=Ac.t+Ac.d);Xd||(Xd=Na-Ac.t)}fd.push({n:xg,d:Xd,t:Na});if(Bj){Bj--;for(let Ac=0;Ac<Bj;Ac++){const yg=fd[fd.length-1];xg=yg.n+1;Na=yg.t+yg.d;Xd=yg.d;fd.push({n:xg,d:Xd,t:Na})}}}v.F()||fd.length===gc||v.g.warn("Number of fragments ("+gc+") differs from number of chunks ("+fd.length+").");var cd=fd}var Ed={type:zc,Li:gc,pi:Th,language:ye,nd:xe,name:Uh,maxWidth:tf,maxHeight:wg,Ci:Ms,tracks:dc,Of:cd,timescale:Jm}}Ea.push(Ed)}var Kb=Ea}const Lb={Ti:e,
|
|
24
|
+
fg:f,timescale:g,duration:h,isLive:k,Si:l,ve:m,Be:!1,streams:Kb};if(a.j&&a.A)return mT(a,Lb),Promise.resolve();a.H.clear();{const Ea=Lb.timescale,Sa=Lb.duration,Nb=WR(Lb.streams,_.p),zc=WR(Lb.streams,_.w),gc=WR(Lb.streams,_.H),Th=[];let xe=nT(a,Sa,Ea,Nb),ye=nT(a,Sa,Ea,zc);const Uh=nT(a,Sa,Ea,gc);xe.length||(xe=[null]);ye.length||(ye=[null]);for(let tf=0;tf<ye.length;tf++)for(let wg=0;wg<xe.length;wg++)Th.push(oT(a,ye[tf],xe[wg]));var ec={id:"ID",configurationId:void 0,startTime:0,endTime:Sa,variants:Th,
|
|
25
|
+
textStreams:Uh,thumbStreams:[]}}{var Mb=Lb.streams;let Ea=a.a.startTime,Sa=a.a.delay;const Nb=a.J;let zc=Math.min(a.a.duration||Infinity,Nb);const gc=a.F(),Th=a.a.ve,xe=a.a.od,ye=a.I,Uh=isFinite(a.G)?a.G:0;if(gc)zc=Infinity,Ea=Date.now()/1E3-xe,a.a.startTime=Ea,Sa=3*ye;else{const wg=isFinite(Nb)?Nb:a.a.duration;for(const Ms of Mb)for(const Jm of Ms.tracks)Jm.segmentIndex.offset(-Uh),_.KD(Jm.segmentIndex,wg)}const tf=a.f.timeline||{};tf.type=void 0;a.C=new _.hK(tf,Ea,Sa,!gc,!0);a.C.f=zc;_.YD(a.C,ye);
|
|
26
|
+
a.C.A=Th;gc||a.C.offset(-Uh)}a.D.filterAllPeriods([ec]);a.j={presentationTimeline:a.C,periods:[ec],minBufferTime:0,cues:[]};Promise.resolve();a.L||(a.D.networkingEngine.Ec(a.M),a.L=!0);a.A=Lb;return Promise.resolve()},qT=function(a,b){null!=a.B&&null!=b&&(a.l=window.setTimeout(a.Xb.bind(a),b))},iT=function(a,b,c){if(b=b.getAttribute(c))return b;a.g.error("required attribute not provided: "+c);throw new _.I(_.F,4,4038,a.o,c);},jT=function(a,b){const c=b===lT;a.j&&a.j.presentationTimeline&&_.TD(a.j.presentationTimeline,
|
|
27
|
+
c);c&&null!=a.l&&(window.clearTimeout(a.l),a.l=null,a.B=null);a.O=b},mT=function(a,b){for(let e=0;e<a.A.streams.length;e++){const f=b.streams[e];for(const g of a.A.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){UR(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=rT(a,a.A.timescale,f,c);c=g.segmentIndex;_.jE(c,d);(d=a.a.ve)&&_.kE(c,_.hE(c)-d).forEach(h=>{h.ab().forEach(k=>{a.H.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+
|
|
28
|
+
`track with bitrate ${g.bitrate}. Skipping update.`)}}},rT=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.Of.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.G=Math.min(a.G,h)):h=f[k-1].endTime;const m=h+l,n=TR(a.o,c,k,d);a.I=Math.max(a.I,l);f.push(new _.iE(k,h,m,()=>[n],0,null,0,null,!0,g));a.H.set(n,h);e+=l});if(c.type===_.w||c.type===_.p)b=f[f.length-1],a.J=Math.min(a.J,e),0===a.a.od?a.a.od=b.endTime:a.a.od=Math.min(a.a.od,b.endTime);return f},nT=function(a,b,c,d){let e=[];for(let f=0;f<
|
|
29
|
+
d.length;f++){const g=d[f].tracks.map(h=>{{var k=d[f],l=rT(a,c,k,h);const X=new _.iK(l);var m=null;k.type!==_.H&&(m=sT(a,b,c,k,h));h.segmentIndex=X;l=_.eK++;var n=Promise.resolve.bind(Promise),q=X.f.bind(X),u=X.get.bind(X),v=X.h.bind(X),y=X.getDuration.bind(X),A=tT[k.type];var E="";switch(k.type){case _.w:E=h.Jd;var G=/00000001[0-9]7/.exec(E);E="avc1."+(G&&G[0]?E.substr(E.indexOf(G[0])+10,6):"42c00c");a.g.debug("VIDEO CODECS: ",E);break;case _.p:E=h.Jd,G=2,"AACH"===h.nh?G=5:E&&(G=(parseInt(E.substr(0,
|
|
30
|
+
2),16)&248)>>3),E="mp4a.40."+G,a.g.debug("AUDIO CODECS: ",E)}G=k.type===_.H?uT[k.pi]:void 0;h={id:l,originalId:null,Xi:null,createSegmentIndex:n,findSegmentPosition:q,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:X,segmentLookupStrategy:_.AC,initSegmentReference:m,mimeType:A,codecs:E,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:G,encrypted:a.K(),keyId:null,language:k.language,originalLanguage:k.nd,label:k.name,type:k.type,
|
|
31
|
+
primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.Ff||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},oT=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.sg;return c||b?{id:a.h++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.w,allowedByApplication:!0,allowedByKeySystem:!0}:null},sT=function(a,b,c,d,e){b=VR(b,d.timescale||c,e);c={isLive:a.F.bind(a),Rd:a.K.bind(a),th:()=>1,Od:a.R.bind(a)};d=new Uint8Array(0);
|
|
32
|
+
try{d=PS(b,c)}catch(g){throw a.g.error("Failed to generate initialization segment."),new _.I(_.F,3,4035,g);}const f="data:text/plain;base64,"+_.rj(d);return new _.dK(()=>[f],0,null,null,!0)},gS=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.w=!1;this.entries=[];this.children=[]}append(a=[]){for(let b=0;b<a.length;b++)this.children.push(a[b]),a[b].parent=this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.children.length;b++){if(this.children[b].type===
|
|
33
|
+
a)return this.children[b];{const c=this.children[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.children.length)for(let c=0;c<this.children.length;c++)b+=this.children[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.O(a,1):_.O(a,this.size);_.km(a,RR(this.type));this.size>b&&LR(a,this.size);"uuid"===this.type&&_.km(a,null);if(0<this.children.length&&
|
|
34
|
+
!this.w)for(b=0;b<this.children.length;b++)this.children[b].write(a),this.children[b].a(),a.getPosition()}},vT=class extends gS{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);MR(a,this.version);NR(a,this.flags)}},NS=class extends gS{constructor(a,b,c){super(a);this.f=b;this.offset=c}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.km(a,this.f,this.offset);a.getPosition()}},TS=class extends vT{constructor(a,b,c,d,e){super(a,
|
|
35
|
+
b,c);this.f=d;this.offset=e}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.km(a,this.f,this.offset);a.getPosition()}},MS=class extends gS{constructor(a,b,c){super("ftyp");this.h=a;this.fg=b;this.f=c}a(){let a=this.h.length;a=a+4+this.f.join("").length;return a+super.a()}write(a){super.write(a);_.km(a,RR(this.h));_.O(a,this.fg);_.km(a,RR(this.f.join("")));a.getPosition()}},LS=class extends gS{constructor(){super(_.Ne)}},KS=class extends gS{constructor(){super(_.pg)}},
|
|
36
|
+
nS=class extends vT{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.h=c+1;this.f=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+28:a+16;a=a+44+this.f.length;return a+=super.a()}write(a){super.write(a);1===this.version?(LR(a,0),LR(a,0),_.O(a,this.timescale),LR(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));_.O(a,65536);OR(a,this.volume);
|
|
37
|
+
OR(a,0);_.O(a,0);_.O(a,0);for(let b=0;b<this.f.length;b++)MR(a,this.f[b]);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,this.h);a.getPosition()}},oS=class extends gS{constructor(){super("mvex")}},pS=class extends vT{constructor(a){super("trex",0,0);this.f=a}a(){return 20+super.a()}write(a){super.write(a);_.O(a,this.f);_.O(a,1);_.O(a,0);_.O(a,0);_.O(a,0);a.getPosition()}},qS=class extends vT{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=
|
|
38
|
+
d;this.height=e;this.volume=1;this.f=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.f.length;return a+super.a()}write(a){super.write(a);1===this.version?(LR(a,0),LR(a,0),_.O(a,this.h),_.O(a,0),LR(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.h),_.O(a,0),_.O(a,this.duration*this.timescale));_.O(a,0);_.O(a,0);OR(a,0);OR(a,0);OR(a,this.volume);OR(a,0);for(let b=0;b<this.f.length;b++)MR(a,this.f[b]);OR(a,
|
|
39
|
+
this.width);OR(a,0);OR(a,this.height);OR(a,0);a.getPosition()}},rS=class extends vT{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?(LR(a,0),LR(a,0),_.O(a,this.timescale),LR(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));OR(a,this.language);OR(a,0);a.getPosition()}},sS=class extends vT{constructor(a){super("hdlr",
|
|
40
|
+
0,0);this.f=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.f===_.w?_.km(a,RR("vide")):_.km(a,RR("soun"));_.O(a,0);_.O(a,0);_.O(a,0);this.f===_.w?_.km(a,RR("VideoHandler\x00")):_.km(a,RR("SoundHandler\x00"));a.getPosition()}},yS=class extends vT{constructor(){super("vmhd",0,1);this.f=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.f.byteLength+super.a()}write(a){super.write(a);OR(a,0);_.km(a,this.f);a.getPosition()}},wT=class extends gS{constructor(a){super(a);this.w=!0}a(){return 8+
|
|
41
|
+
super.a()}write(a){super.write(a);_.O(a,0);OR(a,0);OR(a,1)}},xT=class extends wT{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);OR(a,0);OR(a,0);_.O(a,0);_.O(a,0);_.O(a,0);OR(a,this.width);OR(a,this.height);_.O(a,4718592);_.O(a,4718592);_.O(a,0);OR(a,1);MR(a,10);_.km(a,RR("AVC Coding",31));OR(a,this.depth);QR(a,-1)}},yT=class extends wT{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+
|
|
42
|
+
super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);OR(a,this.channelCount);OR(a,this.sampleSize);QR(a,0);OR(a,0);OR(a,this.sampleRate);OR(a,0)}},xS=class extends xT{constructor(a,b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.children.length;b++)this.children[b].write(a);a.getPosition()}},hS=class extends xS{constructor(a,b){super(a,b);this.type="encv"}},AS=class extends yT{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.children.length;b++)this.children[b].write(a);
|
|
43
|
+
a.getPosition()}},iS=class extends AS{constructor(a,b,c){super(a,b,c);this.type="enca"}},wS=class extends gS{constructor(a,b){super("avcC");this.eb=a;this.fc=b;this.version=1;this.f=this.eb[0][1];this.h=this.eb[0][2];this.level=this.eb[0][3]}a(){let a=7;for(var b=0;b<this.eb.length;b++)a+=2,a+=this.eb[b].byteLength;for(b=0;b<this.eb.length;b++)a+=2,a+=this.fc[b].byteLength;return a+super.a()}write(a){super.write(a);MR(a,this.version);MR(a,this.f);MR(a,this.h);MR(a,this.level);MR(a,255);MR(a,224|this.eb.length);
|
|
44
|
+
for(var b=0;b<this.eb.length;b++)OR(a,this.eb[b].length),_.km(a,this.eb[b]);MR(a,this.fc.length);for(b=0;b<this.fc.length;b++)OR(a,this.fc[b].length),_.km(a,this.fc[b]);a.getPosition()}},zS=class extends vT{constructor(a){super("esds",0,0);this.cc=a}a(){return 22+(this.cc.byteLength+3)+super.a()}write(a){super.write(a);MR(a,3);MR(a,23+this.cc.byteLength);OR(a,1);MR(a,0);MR(a,4);MR(a,15+this.cc.byteLength);MR(a,64);MR(a,21);NR(a,0);_.O(a,0);_.O(a,0);MR(a,5);MR(a,this.cc.byteLength);_.km(a,this.cc);
|
|
45
|
+
_.km(a,new Uint8Array([6,1,2]));a.getPosition()}},uS=class extends vT{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&&_.km(a,RR(this.location));a.getPosition()}},tS=class extends vT{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()}},CS=class extends gS{constructor(){super(_.ag)}},vS=class extends vT{constructor(){super(_.cg,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()}},DS=class extends vT{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()}},ES=class extends vT{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()}},GS=class extends vT{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()}},FS=class extends vT{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);a.getPosition()}},BS=class extends vT{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);QR(a,0);OR(a,0);a.getPosition()}},HS=class extends gS{constructor(){super("dinf")}},IS=class extends gS{constructor(){super(_.Me)}},
|
|
49
|
+
JS=class extends gS{constructor(){super(_.Ie)}},aT=class extends vT{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?LR(a,this.baseMediaDecodeTime):_.O(a,this.baseMediaDecodeTime);a.getPosition()}},QS=class extends vT{constructor(){super("mfhd",0,0);this.f=0}a(){return 4+super.a()}write(a){super.write(a);_.O(a,this.f);a.getPosition()}},SS=class extends vT{constructor(a,b){super("trun",a,
|
|
50
|
+
b);this.l=this.j=this.f=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&zT&&(a+=4);this.flags&AT&&(a+=4);for(let b=0;b<this.f;b++)this.flags&BT&&(a+=4),this.flags&CT&&(a+=4),this.flags&DT&&(a+=4),this.flags&ET&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.f);this.flags&zT&&(a.getPosition(),PR(a,this.j));this.flags&AT&&_.O(a,this.l);for(let b=0;b<this.f;b++)this.flags&BT&&_.O(a,this.o[b]),this.flags&CT&&_.O(a,this.sampleSize[b]),this.flags&DT&&_.O(a,this.A[b]),
|
|
51
|
+
this.flags&ET&&(0===this.version?_.O(a,this.h[b]):PR(a,this.h[b]));a.getPosition()}},zT=1,AT=4,BT=256,CT=512,DT=1024,ET=2048,RS=class extends vT{constructor(a,b){super("tfhd",a,b);this.f=255;this.l=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&FT&&(a+=8);this.flags>&&(a+=4);this.flags&HT&&(a+=4);this.flags&IT&&(a+=4);this.flags&JT&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.f);this.flags&FT&&LR(a,this.h);this.flags>&&_.O(a,this.A);this.flags&HT&&_.O(a,this.j);this.flags&
|
|
52
|
+
IT&&_.O(a,this.o);this.flags&JT&&_.O(a,this.l);a.getPosition()}},FT=1,GT=2,HT=8,IT=16,JT=32,XS=class extends gS{constructor(){super("traf")}},YS=class extends gS{constructor(){super("moof")}},WS=class extends gS{constructor(){super(_.He);this.f=new Uint8Array(0)}a(){return this.f.byteLength+super.a()}write(a){super.write(a);0<this.f.byteLength&&_.km(a,this.f)}},jS=class extends vT{constructor(){super("tenc",0,0);this.f=1;this.h=8;this.l="";this.j=[]}a(){let a;a=20;1===this.f&&0===this.h&&(a=a+1+this.j.length);
|
|
53
|
+
return a+super.a()}write(a){super.write(a);MR(a,0);0===this.version?MR(a,0):MR(a,0);MR(a,this.f);MR(a,this.h);_.km(a,_.tj(this.l));if(1===this.f&&0===this.h){MR(a,0);for(let b=0;b<this.j.length;b++)MR(a,this.j[b])}a.getPosition()}},lS=class extends vT{constructor(a,b){super("schm",0,0);this.f=a;this.h=b;this.Zb=""}a(){let a=8;this.flags&1&&(a+=RR(this.Zb).byteLength);return a+super.a()}write(a){super.write(a);_.km(a,RR(this.f));_.O(a,this.h);this.flags&1&&_.km(a,RR(this.Zb));a.getPosition()}},kS=
|
|
54
|
+
class extends gS{constructor(a){super("frma");this.f=a}a(){return RR(this.f).byteLength+super.a()}write(a){super.write(a);_.km(a,RR(this.f));a.getPosition()}},bT=class extends vT{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]):LR(a,this.offset[b]);a.getPosition()}},cT=class extends vT{constructor(a,
|
|
55
|
+
b,c){super("saiz",0,0);this.f=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.f&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));MR(a,this.f);_.O(a,this.h);if(0===this.f)for(let b=0;b<this.h;b++)MR(a,this.j[b]);a.getPosition()}},VS=class extends vT{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.f=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.f[b].$f.byteLength,this.flags&2){a+=2;for(let c=0;c<this.f[b].Uc;c++)a+=
|
|
56
|
+
2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&1&&MR(a,this.j);for(let b=0;b<this.h;b++)if(_.km(a,this.f[b].$f),this.flags&2){OR(a,this.f[b].Uc);for(let c=0;c<this.f[b].Uc;c++)OR(a,this.f[b].df[c].Cf),_.O(a,this.f[b].df[c].Df)}a.getPosition()}};var $S=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))}},ZR=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,$R=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,aS=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,bS=/^(\d*\.?\d*)f$/,cS=/^(\d*\.?\d*)t$/,dS=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var OS=class{constructor(a){this.a=a;this.f=fS(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=fS(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var US=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var KT=class{constructor(){this.A=this.j=this.f=this.D=null;this.h=1;this.V=0;this.o="";this.C=this.a=null;this.g=new _.S("clpp.smooth.SmoothParser");this.L=!1;this.l=this.B=null;this.O=lT;this.I=0;this.G=this.J=Infinity;this.w=[];this.M=this.S.bind(this);this.H=new Map}configure(a){this.f=a}start(a,b){this.D=b;a=[...new Set([a,SR(a)])];return hT(this,a).then(c=>pT(this,c.data).then(()=>{qT(this,this.B);return this.j}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.vd(this.M);this.B=this.A=
|
|
57
|
+
this.j=this.f=this.D=null;this.l&&(clearTimeout(this.l),this.l=null);this.L=!1;this.J=this.G=Infinity;return Promise.resolve()}update(){if(this.F())return hT(this,[this.o]).then(a=>pT(this,a.data).then(()=>this.j)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Xb(){this.g.debug(_.pC);this.D&&(this.l=null,this.update().then(()=>{qT(this,this.B)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&qT(this,100))}))}F(){return this.O===kT}K(){return 0<this.w.length}R(a){let b=null;if(this.w.length)for(let c=
|
|
58
|
+
0;c<this.w.length;c++)if(this.w[c].keySystem===a){b=this.w[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.A.timescale,c={isLive:this.F.bind(this),Rd:this.K.bind(this),th:()=>1,Od:this.R.bind(this)};let d=!1;const e=new _.I(_.F,3,4035,null);let f=null;try{const g=this.H.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=dT(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)}},tT={video:_.Hg,audio:_.Tc,text:_.Nc},lT=_.Tb,kT="LIVE",uT={Di:_.vC,Ei:_.MC};_.z("clpp.smooth.SmoothComponent",class extends _.Iv{f(){_.dt.ism=KT;_.bt[_.Oc]=KT}a(){_.HE("ism");_.IE(_.Oc)}id(){return _.Wf}});};f.call(g, window);
|
package/cl.thumbnails.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.
|
|
6
|
-
this.width*c+_.
|
|
7
|
-
{this.
|
|
8
|
-
c),new _.
|
|
9
|
-
for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new
|
|
10
|
-
d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.a=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`);f=this.a;d=_.K(f);h=String.fromCharCode.apply(null
|
|
11
|
-
h.offset-k.offset,k.duration=h.time-k.time;this.f.push(h);d+=8;(g=4294967295===g)&&this.h.resolve();if(1E5<e)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");
|
|
12
|
-
+ 'URL: ${c}`,d);a.onError(new _.
|
|
13
|
-
l);f.match(/^http|^\/\//)||(f=c.substr(0,c.lastIndexOf("/"))+"/"+f);l=
|
|
14
|
-
yield c.load();return c})}l(){return this.f}};var
|
|
15
|
-
e.findSegmentPosition(a-d.startTime);if(null===d||void 0===d)throw b.log.error("Could not find segment index for specified position",a),c();var f=e.getSegmentReference(d);if(f){const h=
|
|
16
|
-
h.
|
|
17
|
-
0;k<e.
|
|
18
|
-
this.g.warn("Unknown thumbnail mode",c)}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();if(
|
|
19
|
-
var
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Ty="Thumbnail URL is mandatory",Uy="Wrong gridSize format",Vy="clpp.thumbnails",Xy=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Re&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Wy(a,0,e,!!f))},Promise.resolve())},Wy=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return Yy(a,d).then(()=>a.a[b].load()).then(()=>Wy(a,e,c,d))},Yy=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.cp)c();else a.player.one(_.$c,()=>{c()})})},
|
|
2
|
+
Zy=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.Qc.resolve()})},bz=function(a,b){return $y(a,b).then(c=>new az(c,b.time,b.duration))},$y=function(a,b){return b.load().then(()=>{const c=_.K(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.qj(c)})},cz=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},dz=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
ez=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{kd:c,pf:d,Zf:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},fz=function(a){return a.some(b=>0<b.thumbStreams.length)},nz=function(a){return a?a===gz||a===hz?new iz:a===jz?new kz:a===lz?new mz:null:null},oz=function(a){if(!a)return null;a=new _.Am(a);return a.path.match(/.*\.vtt$/i)?jz:a.path.match(/.*\.bif$/i)?lz:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
gz:null};var pz=class{constructor(){this.log=new _.S(Vy);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.Hf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&Xy(this,b.preload)})}};var az=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.ta=n;this.ah=h;this.fi=k;this.Bh=l;this.Ch=m;this.Ce=null}raw(){return this.ta.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(_.Sd);a.style.width=c+_.Ef;a.style.height=d+_.Ef;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.ta.naturalWidth||this.ta.width))}px ${Math.ceil(d/this.height*(this.ta.naturalHeight||this.ta.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/
|
|
6
|
+
this.width*c+_.Ef;a.style.backgroundPositionY="-"+b*d+_.Ef;return a}load(){this.Ce||(this.Ce=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.ta.naturalWidth||this.ta.width)/this.ah);this.height||(this.height=(this.ta.naturalHeight||this.ta.height)/this.fi);this.x||(this.x=this.width*this.Bh);this.y||(this.y=this.height*this.Ch)};if(this.ta.src&&this.ta.complete)c(),a(this);else{var d=null,e=()=>{c();this.ta.removeEventListener(_.Ce,e);this.ta.removeEventListener(_.r,d);a(this)};d=f=>
|
|
7
|
+
{this.ta.removeEventListener(_.Ce,e);this.ta.removeEventListener(_.r,d);b(new _.I(1,9,2014,"Failed to load thumbnail.",f))};this.ta.addEventListener(_.Ce,e);this.ta.addEventListener(_.r,d);this.ta.src=this.src}}));return this.Ce}};_.z("clpp.thumbnails.Thumbnail",az);az.prototype.load=az.prototype.load;az.prototype.element=az.prototype.element;az.prototype.raw=az.prototype.raw;var iz=class extends pz{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Ty);if("GRID"===b.mode&&!b.gridSize)throw new _.I(1,9,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.I(1,9,7100,"Duration is mandatory");this.f=b;this.j=this.f.duration;if(this.f.gridSize)try{const c=this.f.gridSize.split(/x/).map(d=>parseInt(d,10)).filter(d=>0<d);if(2===c.length)this.h=c[0],this.o=c[1];else throw new _.I(1,9,7100,Uy);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
|
+
c),new _.I(1,9,7100,Uy);}super.init(a,b)}get(a){const b=this;return _.x(function*(){var c=b.player.getDuration();if(0>a||a>c)throw new _.I(1,9,2014,`Position is out of range: ${a}`);c=Math.floor(a/b.f.duration);const d=b.a[c];if(!d)throw new _.I(1,9,2014,"No thumbnail found for position "+a+" at index "+c);yield d.load();return d})}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";
|
|
9
|
+
for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new az(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 qz=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Qc=new _.qn}load(){return this.Qc}},mz=class{constructor(){this.g=new _.S(Vy);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.qn}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Ty);const c=b.url;b=_.Jj(c);b.type=_.Ij;a.getNetworkEngine().fetch(b).U.then(d=>{var e=d.data;d=_.K(this.a);e=_.K(e);var f=d.byteLength+e.byteLength,g=new ArrayBuffer(f),h=new DataView(g),k=0;for(let l=0,m=d.byteLength;l<m;l++)h.setUint8(k,
|
|
10
|
+
d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.a=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`);f=this.a;d=_.K(f);h=String.fromCharCode.apply(null,rz);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 qz(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");Zy(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
|
|
12
|
+
+ 'URL: ${c}`,d);a.onError(new _.I(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.I(1,9,2014,`Position is out of range: ${a}`);yield b.h;var c=b.f.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.I(1,9,2014,`No thumbnail found for position: ${a}`);c=yield bz(b,c);yield c.load();return c})}},rz=[137,66,73,70,13,10,26,10];var kz=class extends pz{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Ty);const c=b.url,d=_.Jj(c);d.type=_.Ij;this.f=a.getNetworkEngine().fetch(d).U.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.cj(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=cz(g[0]);g=cz(g[1])-l;this.a.push(new az(f,l,g,h,n,q,k,0,0))}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnails "+`URL: ${c}`,e);a.onError(new _.I(1,9,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.I(1,9,2014,`Position is out of range: ${a}`);yield b.f;const c=b.a.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.I(1,9,2014,`No thumbnail found for position: ${a}`);
|
|
14
|
+
yield c.load();return c})}l(){return this.f}};var sz=class extends pz{get(a){const b=this;return _.x(function*(){function c(){return new _.I(1,9,2014,`No thumbnail found for position: ${a}`)}if(0>a)throw b.log.error("Position must be greater than 0 but is "+a),new _.I(1,9,2014,`Position is out of range: ${a}`);var d=b.player.getPeriods();d=dz(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=ez(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.Zf+k]);else if((e=f.ab())&&0<e.length){let l=g=0;f=f.startTime;1<h.Zf&&(g=k%h.kd,l=Math.floor(k/h.kd),f+=k*h.durationPerTile);g=new az(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.kd,h.pf,g,l)}if(g)return yield g.load(),g}b.log.error("segment reference for specified segment index does not exist",d);throw c();})}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.getPeriods();for(const b of a)if(a=b.thumbStreams.sort(this.f)[0]){let c=a.findSegmentPosition(0),d;for(;null!==c&&!_.B(d=a.getSegmentReference(c++));){const e=ez(d,a),f=d.ab()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.pf;++k)for(let l=0;l<e.kd;++l)this.a.push(new az(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.kd,e.pf,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var tz=class{constructor(){this.g=new _.S(Vy);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=oz(b.url||null));(this.a=nz(c))?(this.g.info("Loading thumbs configuration",b),this.m.one(_.Ee,()=>{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(fz(c)){this.a=new sz;try{this.a.init(a,b)}catch(d){this.m.onError(d)}}}}}get(a){return this.a?this.a.get(a):Promise.reject(new _.I(1,9,2014,"Thumbnail format is not supported"))}id(){return"thumbnails"}};_.z("clpp.thumbnails.ThumbnailsPlugin",tz);tz.prototype.get=tz.prototype.get;tz.Id="thumbnails";_.Mr(new class{create(){return new tz}});
|
|
19
|
+
var gz="SINGLE",hz="GRID",jz="WEBVTT",lz="BIF";};f.call(g, window);
|