@castlabs/prestoplay 1.1.1-beta.2
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 +768 -0
- package/README.md +52 -0
- package/cjs/cl.adobe.js +8 -0
- package/cjs/cl.airplay.js +8 -0
- package/cjs/cl.broadpeak.js +11 -0
- package/cjs/cl.cast.js +117 -0
- package/cjs/cl.conviva.js +38 -0
- package/cjs/cl.core.js +565 -0
- package/cjs/cl.crypto.js +15 -0
- package/cjs/cl.dash.js +78 -0
- package/cjs/cl.externs.js +4112 -0
- package/cjs/cl.freewheel.js +29 -0
- package/cjs/cl.hls.js +72 -0
- package/cjs/cl.hlssmpte.js +11 -0
- package/cjs/cl.htmlcue.js +35 -0
- package/cjs/cl.ima.js +29 -0
- package/cjs/cl.mse.js +279 -0
- package/cjs/cl.muxdata.js +19 -0
- package/cjs/cl.onboard.js +8 -0
- package/cjs/cl.persistent.js +19 -0
- package/cjs/cl.playlist.js +11 -0
- package/cjs/cl.simid.js +21 -0
- package/cjs/cl.smooth.js +76 -0
- package/cjs/cl.thumbnails.js +29 -0
- package/cjs/cl.tizen.js +76 -0
- package/cjs/cl.ttml.js +33 -0
- package/cjs/cl.verimatrix.js +10 -0
- package/cjs/cl.vimond.js +18 -0
- package/cjs/cl.vr.js +25 -0
- package/cjs/cl.vtt.js +19 -0
- package/cjs/cl.youbora.js +25 -0
- package/cjs/polyfill.min.js +47 -0
- package/cl.adobe.js +3 -0
- package/cl.airplay.js +3 -0
- package/cl.broadpeak.js +5 -0
- package/cl.cast.js +88 -0
- package/cl.conviva.js +27 -0
- package/cl.core.js +466 -0
- package/cl.crypto.js +9 -0
- package/cl.dash.js +68 -0
- package/cl.externs.js +4028 -0
- package/cl.freewheel.js +19 -0
- package/cl.hls.js +69 -0
- package/cl.hlssmpte.js +5 -0
- package/cl.htmlcue.js +26 -0
- package/cl.ima.js +17 -0
- package/cl.mse.js +241 -0
- package/cl.muxdata.js +12 -0
- package/cl.onboard.js +4 -0
- package/cl.persistent.js +11 -0
- package/cl.playlist.js +5 -0
- package/cl.simid.js +13 -0
- package/cl.smooth.js +59 -0
- package/cl.thumbnails.js +17 -0
- package/cl.tizen.js +57 -0
- package/cl.ttml.js +22 -0
- package/cl.verimatrix.js +4 -0
- package/cl.vimond.js +8 -0
- package/cl.vr.js +15 -0
- package/cl.vtt.js +12 -0
- package/cl.youbora.js +15 -0
- package/clpp.styles.css +166 -0
- package/package.json +63 -0
- package/typings.d.ts +8255 -0
package/cl.smooth.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var eK="Full MP4 box must have flags defined",fK="clpp.smooth.SmoothMP4Processor",gK="codecPrivateData",hK=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.N(a,c);_.N(a,b)},iK=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.Kk()}},jK=function(a,b){iK(a,b>>16&255);iK(a,b>>8&255);iK(a,b&255)},kK=function(a,b){try{a.f.setUint16(a.a,b,a.g),a.a+=2}catch(c){_.Kk()}},lK=function(a,b){try{a.f.setInt32(a.a,b,a.g),a.a+=4}catch(c){_.Kk()}},mK=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.g),a.a+=2}catch(c){_.Kk()}},nK=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},oK=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},pK=function(a,b,c,d){c=b.Xe[c];b=b.jh;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 _.Px([a],[b])[0]},qK=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",gK,"fourCC"]:a.type===_.p&&(c=["bitrate",gK,"channels","bitsPerSample","samplingRate","fourCC"]);return _.Bg(a,b,c,["id","segmentIndex"])},rK=function(a,b,c){const d=c.md.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Na:null,Sb:null,width:NaN,height:NaN,Lb:null,$c:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.Na=[_.fi(d[1])];a.Sb=[_.fi(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Lb=_.fi(c.md),a.sampleSize=c.Vf||16,a.$c=c.$c,a.channelCount=c.Pe}return a},sK=function(a,b){return a.filter(c=>c.type===b)},tK=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)},AK=function(a,b,c){var d=null;if(uK.test(a)){{a=uK.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 vK.test(a)?d=tK(vK,a):wK.test(a)?d=tK(wK,a):xK.test(a)?(a=xK.exec(a),d=Number(a[1])/c.frameRate):yK.test(a)?(a=yK.exec(a),d=Number(a[1])/c.a):zK.test(a)&&(d=tK(zK,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},BK=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.fl(b)},IK=function(a,b,c){a:{var d=[_.sd,_.pd];for(e of d)if((d=c.sd(e))&&d.keyId){var e=d.keyId;break a}_.C(fK,"Could not get default Key ID for DRM init data!");e=null}c=new CK("xxxx");a.type===_.w?c=new DK(a.width,a.height):c=new EK(a.channelCount,a.sampleSize,a.$c);a=new FK;a.g=1;a.j=8;a.o=e||"00000000000000000000000000000000";a=(new CK("schi")).append([a]);b=(new CK(_.nf)).append([new GK(b),new HK(_.Sc,65536),a]);c.append([b]);return c},
|
|
7
|
+
kL=function(a,b){var c=b.xd(),d=new JK(a.timescale,a.duration,a.id),e=(new KK).append([new LK(a.id)]),f=new MK(a.id,a.duration,a.timescale,a.width,a.height),g=new NK(a.timescale,a.duration);const h=new OK(a.type);var k=null,l=new PK;l.entries=[new QK];var m=new RK;switch(a.type){case _.w:k=new SK(a.Na,a.Sb);c?(a=IK(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new TK(a.width,a.height)).append([k]),m.entries=[a]);k=new UK;break;case _.p:k=new VK(a.Lb),c?(a=IK(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new WK(a.channelCount,a.sampleSize,a.$c)).append([k]),m.entries=[a]),k=new XK}m=(new YK).append([m,new ZK,new $K,new aL,new bL]);l=(new cL).append([l]);l=(new dL).append([k,l,m]);g=(new eL).append([g,h,l]);f=(new fL).append([f,g]);d=(new gL).append([d,f,e]);e=new hL("dash",0,["iso6","mp41","avc1"]);c&&(c=b.sd(_.pd),b=b.sd(_.sd),c&&d.append([new iL("pssh",c.initData,8)]),b&&d.append([new iL("pssh",b.initData,8)]),c||b||_.C(fK,"Could not get PSSH init data!"));b=new jL([e,d]);return _.J(b.write())},
|
|
9
|
+
uL=function(a,b){let c,d,e,f,g,h;(new _.dl).L("moof",_.Wk).$("mfhd",k=>{{const l=new lL;l.g=_.P(k.reader);c=l}}).L("traf",_.Wk).$("tfhd",k=>{{const l=k.reader.Ba();if(null===k.flags)throw new _.H(_.G,3,3019,eK);const m=new mL(k.version||0,k.flags||0);m.g=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.Rk(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}}).$("trun",k=>{{var l=k.reader.Ba();if(null===k.flags)throw new _.H(_.G,3,3019,eK);const m=new nL(k.version||0,k.flags||0);m.g=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.l=_.Qk(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.g;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(_.Qk(k.reader)));e=m}}).$("sdtp",k=>{{const l=_.Tk(k.reader,k.reader.Ba());f=new oL("sdtp",k.version||0,k.flags||0,l,0)}}).L("uuid",k=>{var l=_.Tk(k.reader,16);if(_.hi(l,pL)){l=_.P(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new qL(k.version,k.flags);l.j=_.P(k.reader);k.flags&1&&(l.l=_.Ok(k.reader));for(let m=0;m<l.j;m++){const n={ff:_.Tk(k.reader,8),Hc:0,ze:[]};if(k.flags&2){n.Hc=_.Pk(k.reader);for(let q=0;q<n.Hc;q++){const u={Ne:0,Oe:0};
|
|
12
|
+
u.Ne=_.Pk(k.reader);u.Oe=_.P(k.reader);n.ze.push(u)}}l.g.push(n)}g=l}}).L(_.ie,k=>{{const l=new rL;0<k.reader.Ba()?l.g=_.Tk(k.reader,k.reader.Ba()):(_.C(fK,"mdat box is empty!"),l.g=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new sL).append([d,e]);f&&a.append([f]);b.xd()&&g&&a.append([g]);b=(new tL).append([c,a]);return new jL([b,h])},zL=function(a,b,c,d){var e=d.xd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=uL(b,d);if(null===g)return a.request.contentType===_.t?a.data:
|
|
13
|
+
g;d=g.get(_.ie);if(a.request.contentType===_.t){e=d.g.buffer;if(c){e=_.Sh(e);if((e=(new DOMParser).parseFromString(e,_.zf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new vL(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",_.Kd];for(let y=0,A=g.length;y<
|
|
14
|
+
A;y++){b:{var k=h;var l=g[y],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const D=l.length;for(;n<D;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[y],AK(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.Th(e).buffer}else c=e;return c}h=new tL;a=g.get("mfhd");b=new sL;k=g.get("tfhd");m=new wL(1,f);f=g.get("trun");n=g.get("sdtp");c=g.get("senc");k.g=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.g[m].Hc);else g=8;b.append([c,new xL,new yL(g,k,c.j)])}h.append([a,b]);f.flags|=1;f.l=h.a()+8;d=new jL([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},AL=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},BL=function(a){return{initData:_.Fx(_.Pl(a)),initDataType:_.Sc,keyId:a,periodId:null}},CL=function(a,b,c){a=_.Xl(a);c&&a.version!==c&&(a=_.Hx(a,c));return{initData:_.Fx(a),initDataType:_.Sc,keyId:b,periodId:null}},DL=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).P;a.l=c.uri;return c})},LL=function(a,b){let c=null;try{{const ea=new DOMParser;let bb,Oa;try{const gb=_.Sh(b);Oa=ea.parseFromString(gb.trim(),_.zf)}catch(gb){throw gb;}Oa&&Oa.documentElement.tagName==_.Db&&(bb=Oa.documentElement);c=bb&&0<bb.getElementsByTagName("parsererror").length?null:bb}}catch(ea){}if(!c)throw a.h.error("Unable to parse manifest"),new _.H(_.G,4,4033,a.l);const d=+EL(a,c,"MajorVersion"),e=+EL(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||
|
|
18
|
+
1E7;let g=+EL(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.Jl(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+d+"."+e))throw a.h.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.H(_.G,4,4036,a.l);h?(FL(a,GL),a.A=typeof a.f.liveRefreshPeriod===_.r?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):FL(a,HL);a.a={startTime:0,delay:0,duration:g/f,Rd:l/f,Uc:0};if(m){{var n=a.f.playreadyVersion;
|
|
19
|
+
const ea=[],bb=_.Jl(m,"ProtectionHeader")[0],Oa=_.ei(_.Ll(bb)||""),gb=_.Xl(Oa).a;ea.push(AL(_.sd,BL(gb),[gb]));ea.push(AL(_.pd,CL(Oa,gb,n),[gb]));var q=ea}a.o=q}{const ea=[],bb=_.Jl(c,"StreamIndex");if(!bb.length)throw a.h.error("No streams found!"),new _.H(_.G,4,4034,a.l);for(let Oa=0;Oa<bb.length;Oa++){{var u=a,v=bb[Oa];const gb=EL(u,v,"Type"),wc=+v.getAttribute("Chunks"),lh=v.getAttribute("Subtype"),$d=v.getAttribute("Language")||_.Df,ae=_.Ch($d),mh=v.getAttribute("Name")||"",Tf=+v.getAttribute(_.db),
|
|
20
|
+
Uf=+v.getAttribute(_.cb),vl=EL(u,v,"Url"),VO=+v.getAttribute("TimeScale")||null;{const xc=[],Pi=_.Jl(v,_.sb);for(let be=0;be<Pi.length;be++){{let yc,La,rd;var y=u,A=Pi[be],D=gb;const Qi=+A.getAttribute("Index"),Vf=+EL(y,A,"Bitrate");let Yb=NaN,Wf=NaN,wl=NaN,Qq=NaN,EB=NaN,FB=NaN,GB=NaN;const HB=A.getAttribute("FourCC");switch(D){case _.w:Yb=+EL(y,A,_.cb);Wf=+EL(y,A,_.db);break;case _.p:Qq=+A.getAttribute("Channels")||2,wl=+EL(y,A,"SamplingRate"),FB=+EL(y,A,"AudioTag"),EB=+EL(y,A,"BitsPerSample"),GB=
|
|
21
|
+
+EL(y,A,"PacketSize")}let Rq=String(A.getAttribute("CodecPrivateData"));if(D===_.p&&!Rq){{var E=Qq;const IB={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},xl=IB[wl];if("AACH"===HB){La=new Uint8Array(4);const JB=IB[2*wl];La[0]=40|xl>>1;La[1]=xl<<7|E<<3|JB>>1;La[2]=JB<<7|8;La[3]=0;yc=new Uint16Array(2);yc[0]=(La[0]<<8)+La[1];yc[1]=(La[2]<<8)+La[3];rd=yc[0].toString(16)+yc[1].toString(16)}else La=new Uint8Array(2),La[0]=16|xl>>1,La[1]=xl<<7|E<<3,yc=
|
|
22
|
+
new Uint16Array(1),yc[0]=(La[0]<<8)+La[1],rd=yc[0].toString(16);Rq=rd.toUpperCase()}}var O={id:y.W++,type:D,index:Qi,bitrate:Vf,md:Rq,maxHeight:Yb,maxWidth:Wf,$c:wl,Pe:Qq,rh:FB,Vf:EB,Kh:GB,kg:HB,segmentIndex:null}}xc.push(O)}var tb=xc}{const xc=[],Pi=_.Jl(v,"c");for(let be=0;be<Pi.length;be++){const yc=Pi[be];let La=parseInt(yc.getAttribute("t"),10),rd=parseInt(yc.getAttribute("d"),10),Qi=parseInt(yc.getAttribute("r"),10),Vf=0;if(isNaN(La)&&isNaN(rd))throw u.h.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),
|
|
23
|
+
new _.H(_.G,4,4037,u.l);0===be&&isNaN(La)&&(Vf=La=0);if(0<be){const Yb=xc[xc.length-1];Vf=Yb.n+1;Yb.d||(Yb.d=La-Yb.t);La||(La=Yb.t+Yb.d);rd||(rd=La-Yb.t)}xc.push({n:Vf,d:rd,t:La});if(Qi){Qi--;for(let Yb=0;Yb<Qi;Yb++){const Wf=xc[xc.length-1];Vf=Wf.n+1;La=Wf.t+Wf.d;rd=Wf.d;xc.push({n:Vf,d:rd,t:La})}}}u.C()||xc.length===wc||u.h.warn("Number of fragments ("+wc+") differs from number of chunks ("+xc.length+").");var Nb=xc}var Yc={type:gb,uh:wc,bh:lh,language:ae,Tc:$d,name:mh,maxWidth:Tf,maxHeight:Uf,
|
|
24
|
+
jh:vl,tracks:tb,Xe:Nb,timescale:VO}}ea.push(Yc)}var Pf=ea}const Va={Hh:d,hf:e,timescale:f,duration:g,isLive:h,Gh:k,Rd:l,Zd:!1,streams:Pf};if(a.g&&a.w)return IL(a,Va),Promise.resolve();a.G.clear();{const ea=Va.timescale,bb=Va.duration,Oa=sK(Va.streams,_.p),gb=sK(Va.streams,_.w),wc=sK(Va.streams,_.t),lh=[];let $d=JL(a,bb,ea,Oa),ae=JL(a,bb,ea,gb);const mh=JL(a,bb,ea,wc);$d.length||($d=[null]);ae.length||(ae=[null]);for(let Tf=0;Tf<ae.length;Tf++)for(let Uf=0;Uf<$d.length;Uf++)lh.push(KL(a,ae[Tf],$d[Uf]));
|
|
25
|
+
var Xd={startTime:0,variants:lh,textStreams:mh,thumbStreams:[]}}{var tc=Va.streams;let ea=a.a.startTime,bb=a.a.delay;const Oa=a.I;let gb=Math.min(a.a.duration||Infinity,Oa);const wc=a.C(),lh=a.a.Rd,$d=a.a.Uc,ae=a.H,mh=isFinite(a.F)?a.F:0;if(wc)gb=Infinity,ea=Date.now()/1E3-$d,a.a.startTime=ea,bb=3*ae;else{const Tf=isFinite(Oa)?Oa:a.a.duration;for(const Uf of tc)for(const vl of Uf.tracks)vl.segmentIndex.offset(-mh),_.oy(vl.segmentIndex,Tf)}a.B=new _.fD(ea,bb,!wc,!0);a.B.f=gb;_.wy(a.B,ae);a.B.w=lh;
|
|
26
|
+
wc||a.B.offset(-mh)}a.D.filterAllPeriods([Xd]);a.g={presentationTimeline:a.B,periods:[Xd],offlineSessionIds:[],minBufferTime:0};Promise.resolve();a.K||(a.D.networkingEngine.Ic(a.M),a.K=!0);a.w=Va;return Promise.resolve()},ML=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.Cb.bind(a),b))},EL=function(a,b,c){if(b=b.getAttribute(c))return b;a.h.error("required attribute not provided: "+c);throw new _.H(_.G,4,4038,a.l,c);},FL=function(a,b){const c=b===HL;if(a.g&&a.g.presentationTimeline){var d=
|
|
27
|
+
a.g.presentationTimeline;d.j=c;d.l=c}c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.R=b},IL=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){qK(g,c)||a.h.warn("The current stream is updated with a stream that seems to have different base properties!");var d=NL(a,a.w.timescale,f,c);c=g.segmentIndex;_.Gy(c,d);(d=a.a.Rd)&&_.Hy(c,_.Ey(c)-d).forEach(h=>{h.Ka().forEach(k=>
|
|
28
|
+
{a.G.delete(k)})})}else a.h.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},NL=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.Xe.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=pK(a.l,c,k,d);a.H=Math.max(a.H,l);f.push(new _.Fy(k,h,m,()=>[n],0,null,0,null,!0,g));a.G.set(n,h);e+=l});if(c.type===_.w||c.type===_.p)b=f[f.length-1],a.I=Math.min(a.I,e),0===a.a.Uc?a.a.Uc=b.endTime:a.a.Uc=
|
|
29
|
+
Math.min(a.a.Uc,b.endTime);return f},JL=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=NL(a,c,k,h);const O=new _.gD(l);var m=null;k.type!==_.t&&(m=OL(a,b,c,k,h));h.segmentIndex=O;l=a.O++;var n=Promise.resolve.bind(Promise),q=O.f.bind(O),u=O.get.bind(O),v=O.g.bind(O),y=O.getDuration.bind(O),A=PL[k.type];var D="";switch(k.type){case _.w:D=h.md;var E=/00000001[0-9]7/.exec(D);D="avc1."+(E&&E[0]?D.substr(D.indexOf(E[0])+10,6):"42c00c");a.h.debug("VIDEO CODECS: ",
|
|
30
|
+
D);break;case _.p:D=h.md,E=2,"AACH"===h.kg?E=5:D&&(E=(parseInt(D.substr(0,2),16)&248)>>3),D="mp4a.40."+E,a.h.debug("AUDIO CODECS: ",D)}E=k.type===_.t?QL[k.bh]:void 0;h={id:l,originalId:null,Mh:null,createSegmentIndex:n,findSegmentPosition:q,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:O,segmentLookupStrategy:_.qx,initSegmentReference:m,mimeType:A,codecs:D,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:E,encrypted:a.J(),keyId:null,
|
|
31
|
+
language:k.language,originalLanguage:k.Tc,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.Pe||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},KL=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.Df;return c||b?{id:a.O++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,allowedByKeySystem:!0}:null},OL=function(a,b,c,d,e){b=rK(b,d.timescale||c,e);c={isLive:a.C.bind(a),
|
|
32
|
+
xd:a.J.bind(a),qg:()=>1,sd:a.T.bind(a)};d=new Uint8Array(0);try{d=kL(b,c)}catch(g){throw a.h.error("Failed to generate initialization segment."),new _.H(_.G,3,4035,g);}const f="data:text/plain;base64,"+_.di(d);return new _.cD(()=>[f],0,null,null,!0)},CK=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.A=!1;this.entries=[];this.f=[]}append(a=[]){for(let b=0;b<a.length;b++)this.f.push(a[b]),a[b].parent=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===
|
|
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?_.N(a,1):_.N(a,this.size);_.Lk(a,nK(this.type));this.size>b&&hK(a,this.size);"uuid"===this.type&&_.Lk(a,null);if(0<this.f.length&&!this.A)for(b=0;b<this.f.length;b++)this.f[b].write(a),
|
|
34
|
+
this.f[b].a(),a.getPosition()}},RL=class extends CK{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);iK(a,this.version);jK(a,this.flags)}},iL=class extends CK{constructor(a,b,c){super(a);this.g=b;this.offset=c}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.Lk(a,this.g,this.offset);a.getPosition()}},oL=class extends RL{constructor(a,b,c,d,e){super(a,b,c);this.g=d;this.offset=e}a(){return this.g.byteLength+super.a()-
|
|
35
|
+
this.offset}write(a){super.write(a);_.Lk(a,this.g,this.offset);a.getPosition()}},hL=class extends CK{constructor(a,b,c){super("ftyp");this.j=a;this.hf=b;this.g=c}a(){let a=this.j.length;a=a+4+this.g.join("").length;return a+super.a()}write(a){super.write(a);_.Lk(a,nK(this.j));_.N(a,this.hf);_.Lk(a,nK(this.g.join("")));a.getPosition()}},gL=class extends CK{constructor(){super(_.oe)}},fL=class extends CK{constructor(){super(_.Bf)}},JK=class extends RL{constructor(a,b,c){super("mvhd",1,0);this.timescale=
|
|
36
|
+
a;this.duration=b;this.volume=256;this.j=c+1;this.g=[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.g.length;return a+=super.a()}write(a){super.write(a);1===this.version?(hK(a,0),hK(a,0),_.N(a,this.timescale),hK(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.timescale),_.N(a,this.duration*this.timescale));_.N(a,65536);kK(a,this.volume);kK(a,0);_.N(a,0);_.N(a,0);for(let b=0;b<this.g.length;b++)iK(a,this.g[b]);
|
|
37
|
+
_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,0);_.N(a,this.j);a.getPosition()}},KK=class extends CK{constructor(){super("mvex")}},LK=class extends RL{constructor(a){super("trex",0,0);this.g=a}a(){return 20+super.a()}write(a){super.write(a);_.N(a,this.g);_.N(a,1);_.N(a,0);_.N(a,0);_.N(a,0);a.getPosition()}},MK=class extends RL{constructor(a,b,c,d,e){super("tkhd",1,7);this.j=a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
|
|
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.g.length;return a+super.a()}write(a){super.write(a);1===this.version?(hK(a,0),hK(a,0),_.N(a,this.j),_.N(a,0),hK(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.j),_.N(a,0),_.N(a,this.duration*this.timescale));_.N(a,0);_.N(a,0);kK(a,0);kK(a,0);kK(a,this.volume);kK(a,0);for(let b=0;b<this.g.length;b++)iK(a,this.g[b]);kK(a,this.width);kK(a,0);kK(a,this.height);kK(a,0);a.getPosition()}},NK=class extends RL{constructor(a,
|
|
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?(hK(a,0),hK(a,0),_.N(a,this.timescale),hK(a,this.duration*this.timescale)):(_.N(a,0),_.N(a,0),_.N(a,this.timescale),_.N(a,this.duration*this.timescale));kK(a,this.language);kK(a,0);a.getPosition()}},OK=class extends RL{constructor(a){super("hdlr",0,0);this.g=a}a(){return 33+super.a()}write(a){super.write(a);_.N(a,0);this.g===
|
|
40
|
+
_.w?_.Lk(a,nK("vide")):_.Lk(a,nK("soun"));_.N(a,0);_.N(a,0);_.N(a,0);this.g===_.w?_.Lk(a,nK("VideoHandler\x00")):_.Lk(a,nK("SoundHandler\x00"));a.getPosition()}},UK=class extends RL{constructor(){super("vmhd",0,1);this.g=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.g.byteLength+super.a()}write(a){super.write(a);kK(a,0);_.Lk(a,this.g);a.getPosition()}},SL=class extends CK{constructor(a){super(a);this.A=!0}a(){return 8+super.a()}write(a){super.write(a);_.N(a,0);kK(a,0);kK(a,1)}},TL=class extends SL{constructor(a){super(a);
|
|
41
|
+
this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);kK(a,0);kK(a,0);_.N(a,0);_.N(a,0);_.N(a,0);kK(a,this.width);kK(a,this.height);_.N(a,4718592);_.N(a,4718592);_.N(a,0);kK(a,1);iK(a,10);_.Lk(a,nK("AVC Coding",31));kK(a,this.depth);mK(a,-1)}},UL=class extends SL{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+super.a()}write(a){super.write(a);_.N(a,0);_.N(a,0);kK(a,this.channelCount);kK(a,this.sampleSize);mK(a,0);
|
|
42
|
+
kK(a,0);kK(a,this.sampleRate);kK(a,0)}},TK=class extends TL{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()}},DK=class extends TK{constructor(a,b){super(a,b);this.type="encv"}},WK=class extends UL{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);a.getPosition()}},EK=class extends WK{constructor(a,b,c){super(a,b,c);this.type="enca"}},
|
|
43
|
+
SK=class extends CK{constructor(a,b){super("avcC");this.Na=a;this.Sb=b;this.version=1;this.g=this.Na[0][1];this.j=this.Na[0][2];this.level=this.Na[0][3]}a(){let a=7;for(var b=0;b<this.Na.length;b++)a+=2,a+=this.Na[b].byteLength;for(b=0;b<this.Na.length;b++)a+=2,a+=this.Sb[b].byteLength;return a+super.a()}write(a){super.write(a);iK(a,this.version);iK(a,this.g);iK(a,this.j);iK(a,this.level);iK(a,255);iK(a,224|this.Na.length);for(var b=0;b<this.Na.length;b++)kK(a,this.Na[b].length),_.Lk(a,this.Na[b]);
|
|
44
|
+
iK(a,this.Sb.length);for(b=0;b<this.Sb.length;b++)kK(a,this.Sb[b].length),_.Lk(a,this.Sb[b]);a.getPosition()}},VK=class extends RL{constructor(a){super("esds",0,0);this.Lb=a}a(){return 22+(this.Lb.byteLength+3)+super.a()}write(a){super.write(a);iK(a,3);iK(a,23+this.Lb.byteLength);kK(a,1);iK(a,0);iK(a,4);iK(a,15+this.Lb.byteLength);iK(a,64);iK(a,21);jK(a,0);_.N(a,0);_.N(a,0);iK(a,5);iK(a,this.Lb.byteLength);_.Lk(a,this.Lb);_.Lk(a,new Uint8Array([6,1,2]));a.getPosition()}},QK=class extends RL{constructor(a=
|
|
45
|
+
""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.Lk(a,nK(this.location));a.getPosition()}},PK=class extends RL{constructor(){super("dref",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},YK=class extends CK{constructor(){super(_.sf)}},RK=class extends RL{constructor(){super(_.uf,
|
|
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);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},ZK=class extends RL{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);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},
|
|
47
|
+
$K=class extends RL{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},bL=class extends RL{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.N(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
|
|
48
|
+
a.getPosition()}},aL=class extends RL{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.N(a,0);_.N(a,0);a.getPosition()}},XK=class extends RL{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);mK(a,0);kK(a,0);a.getPosition()}},cL=class extends CK{constructor(){super("dinf")}},dL=class extends CK{constructor(){super(_.ne)}},eL=class extends CK{constructor(){super(_.je)}},wL=class extends RL{constructor(a,b){super("tfdt",a,0);this.g=b}a(){let a=
|
|
49
|
+
0;a=1===this.version?a+8:a+4;return a+super.a()}write(a){super.write(a);1===this.version?hK(a,this.g):_.N(a,this.g);a.getPosition()}},lL=class extends RL{constructor(){super("mfhd",0,0);this.g=0}a(){return 4+super.a()}write(a){super.write(a);_.N(a,this.g);a.getPosition()}},nL=class extends RL{constructor(a,b){super("trun",a,b);this.o=this.l=this.g=0;this.w=[];this.sampleSize=[];this.B=[];this.j=[]}a(){let a=4;this.flags&VL&&(a+=4);this.flags&WL&&(a+=4);for(let b=0;b<this.g;b++)this.flags&XL&&(a+=
|
|
50
|
+
4),this.flags&YL&&(a+=4),this.flags&ZL&&(a+=4),this.flags&$L&&(a+=4);return a+super.a()}write(a){super.write(a);_.N(a,this.g);this.flags&VL&&(a.getPosition(),lK(a,this.l));this.flags&WL&&_.N(a,this.o);for(let b=0;b<this.g;b++)this.flags&XL&&_.N(a,this.w[b]),this.flags&YL&&_.N(a,this.sampleSize[b]),this.flags&ZL&&_.N(a,this.B[b]),this.flags&$L&&(0===this.version?_.N(a,this.j[b]):lK(a,this.j[b]));a.getPosition()}},VL=1,WL=4,XL=256,YL=512,ZL=1024,$L=2048,mL=class extends RL{constructor(a,b){super("tfhd",
|
|
51
|
+
a,b);this.g=255;this.o=this.w=this.l=this.B=this.j=0}a(){let a=4;this.flags&aM&&(a+=8);this.flags&bM&&(a+=4);this.flags&cM&&(a+=4);this.flags&dM&&(a+=4);this.flags&eM&&(a+=4);return a+super.a()}write(a){super.write(a);_.N(a,this.g);this.flags&aM&&hK(a,this.j);this.flags&bM&&_.N(a,this.B);this.flags&cM&&_.N(a,this.l);this.flags&dM&&_.N(a,this.w);this.flags&eM&&_.N(a,this.o);a.getPosition()}},aM=1,bM=2,cM=8,dM=16,eM=32,sL=class extends CK{constructor(){super("traf")}},tL=class extends CK{constructor(){super("moof")}},
|
|
52
|
+
rL=class extends CK{constructor(){super(_.ie);this.g=new Uint8Array(0)}a(){return this.g.byteLength+super.a()}write(a){super.write(a);0<this.g.byteLength&&_.Lk(a,this.g)}},FK=class extends RL{constructor(){super("tenc",0,0);this.g=1;this.j=8;this.o="";this.l=[]}a(){let a;a=20;1===this.g&&0===this.j&&(a=a+1+this.l.length);return a+super.a()}write(a){super.write(a);iK(a,0);0===this.version?iK(a,0):iK(a,0);iK(a,this.g);iK(a,this.j);_.Lk(a,_.fi(this.o));if(1===this.g&&0===this.j){iK(a,0);for(let b=0;b<
|
|
53
|
+
this.l.length;b++)iK(a,this.l[b])}a.getPosition()}},HK=class extends RL{constructor(a,b){super("schm",0,0);this.g=a;this.j=b;this.Eb=""}a(){let a=8;this.flags&1&&(a+=nK(this.Eb).byteLength);return a+super.a()}write(a){super.write(a);_.Lk(a,nK(this.g));_.N(a,this.j);this.flags&1&&_.Lk(a,nK(this.Eb));a.getPosition()}},GK=class extends CK{constructor(a){super("frma");this.g=a}a(){return nK(this.g).byteLength+super.a()}write(a){super.write(a);_.Lk(a,nK(this.g));a.getPosition()}},xL=class extends RL{constructor(){super("saio",
|
|
54
|
+
0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.N(a,0),_.N(a,0));_.N(a,1);for(let b=0;1>b;b++)0===this.version?_.N(a,this.offset[b]):hK(a,this.offset[b]);a.getPosition()}},yL=class extends RL{constructor(a,b,c){super("saiz",0,0);this.g=a;this.l=b;this.j=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.g&&(a+=this.l.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.N(a,
|
|
55
|
+
0),_.N(a,0));iK(a,this.g);_.N(a,this.j);if(0===this.g)for(let b=0;b<this.j;b++)iK(a,this.l[b]);a.getPosition()}},qL=class extends RL{constructor(a,b){super("senc",a,b);this.j=0;this.l=8;this.g=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.j;b++)if(a+=this.g[b].ff.byteLength,this.flags&2){a+=2;for(let c=0;c<this.g[b].Hc;c++)a+=2,a+=4}return a+super.a()}write(a){super.write(a);_.N(a,this.j);this.flags&1&&iK(a,this.l);for(let b=0;b<this.j;b++)if(_.Lk(a,this.g[b].ff),this.flags&2){kK(a,this.g[b].Hc);
|
|
56
|
+
for(let c=0;c<this.g[b].Hc;c++)kK(a,this.g[b].ze[c].Ne),_.N(a,this.g[b].ze[c].Oe)}a.getPosition()}};var vL=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))}},uK=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,vK=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,wK=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,xK=/^(\d*\.?\d*)f$/,yK=/^(\d*\.?\d*)t$/,zK=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var jL=class{constructor(a){this.a=a;this.f=BK(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=BK(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var pL=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var fM=class{constructor(){this.w=this.g=this.f=this.D=null;this.O=1;this.W=0;this.l="";this.B=this.a=null;this.h=new _.R("clpp.smooth.SmoothParser");this.K=!1;this.j=this.A=null;this.R=HL;this.H=0;this.F=this.I=Infinity;this.o=[];this.M=this.V.bind(this);this.G=new Map}configure(a){this.f=a}start(a,b){this.D=b;a=[...new Set([a,oK(a)])];return DL(this,a).then(c=>LL(this,c.data).then(()=>{ML(this,this.A);return this.g}))}stop(){this.D&&this.D.networkingEngine.Dd(this.M);this.A=this.w=this.g=this.f=
|
|
57
|
+
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 DL(this,[this.l]).then(a=>LL(this,a.data).then(()=>this.g)).catch(a=>{if(this.D)this.D.onError(a)})}onExpirationUpdated(){}setCurrentVariant(){}Cb(){this.h.debug(_.hx);this.D&&(this.j=null,this.update().then(()=>{ML(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&ML(this,100))}))}C(){return this.R===GL}J(){return 0<this.o.length}T(a){let b=
|
|
58
|
+
null;if(this.o.length)for(let c=0;c<this.o.length;c++)if(this.o[c].keySystem===a){b=this.o[c].initData[0];break}return b}V(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.w.timescale,c={isLive:this.C.bind(this),xd:this.J.bind(this),qg:()=>1,sd:this.T.bind(this)};let d=!1;const e=new _.H(_.G,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.h.debug(`Using base media decode time ${g} instead of `+
|
|
59
|
+
`segment reference time ${a.request.startTime}`);f=zL(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)}},PL={video:_.Of,audio:_.Gc,text:_.Ac},HL=_.ix,GL="LIVE",QL={mh:_.nx,oh:_.Ax};_.z("clpp.smooth.SmoothComponent",class extends _.xs{f(){_.kq.ism=fM;_.iq[_.Bc]=fM}a(){_.My("ism");_.Ny(_.Bc)}id(){return"smooth"}});};f.call(g, window);
|
package/cl.thumbnails.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var zv="No thumbnail duration or URL specified",Av="No thumbnail found for position ",Bv="Position is out of range: ",Cv="Thumbnail URL is mandatory",Dv="Wrong gridSize format",Ev="clpp.thumbnails",Gv=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.te&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Fv(a,0,e,!!f))},Promise.resolve())},Fv=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return Hv(a,d).then(()=>a.a[b].load()).then(()=>Fv(a,e,
|
|
2
|
+
c,d))},Hv=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.en)c();else a.player.one(_.Lc,()=>{c()})})},Iv=function(a){const b=a.f.byteLength;a.a.forEach(c=>{c.offset+c.length<b&&c.Xc.resolve()})},Lv=function(a,b){return Jv(a,b).then(c=>new Kv(c,b.time,b.duration))},Jv=function(a,b){return b.load().then(()=>{const c=_.J(a.f,b.offset,b.length);return"data:image/jpeg;base64,"+_.ci(c)})},Mv=function(a){a=a.split(/\.|:/).map(parseFloat);let b=0,c;const d={3:.001,2:1,1:60,0:3600};for(c=
|
|
3
|
+
a.length-1;0<=c;c--)b+=a[c]*d[c];return b},Nv=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},Ov=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Rc:c,Fe:d,ef:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},Pv=function(a){return a.some(b=>0<b.thumbStreams.length)},Qv=function(a){if(!a)return null;a=new _.al(a);return a.path.match(/.*\.vtt$/i)?"WEBVTT":a.path.match(/.*\.bif$/i)?
|
|
4
|
+
"BIF":a.path.match(/.*\.(png|jpg|jpeg)$/i)?"SINGLE":null};var Rv=class{constructor(){this.log=new _.R(Ev);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.cf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&Gv(this,b.preload)})}};var Kv=class{constructor(a,b,c,d=0,e=0,f=0,g=0,h=1,k=1,l=0,m=0,n=new Image){this.time=b;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.la=n;this.ag=h;this.Vg=k;this.ug=l;this.vg=m;this.na=null}raw(){return this.la.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!==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(_.yd);a.style.width=
|
|
5
|
+
c+_.$e;a.style.height=d+_.$e;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.la.naturalWidth||this.la.width))}px ${Math.ceil(d/this.height*(this.la.naturalHeight||this.la.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/this.width*c+_.$e;a.style.backgroundPositionY="-"+b*d+_.$e;return a}load(){this.na||(this.na=new Promise((a,b)=>{const c=()=>{this.width||
|
|
6
|
+
(this.width=(this.la.naturalWidth||this.la.width)/this.ag);this.height||(this.height=(this.la.naturalHeight||this.la.height)/this.Vg);this.x||(this.x=this.width*this.ug);this.y||(this.y=this.height*this.vg)};if(this.la.src&&this.la.complete)c(),a(this);else{var d=null,e=()=>{c();this.la.removeEventListener("load",e);this.la.removeEventListener(_.Md,d);a(this)};d=()=>{this.la.removeEventListener("load",e);this.la.removeEventListener(_.Md,d);b()};this.la.addEventListener("load",e);this.la.addEventListener(_.Md,
|
|
7
|
+
d);this.la.src=this.src}}));return this.na}};_.z("clpp.thumbnails.Thumbnail",Kv);Kv.prototype.load=Kv.prototype.load;Kv.prototype.element=Kv.prototype.element;Kv.prototype.raw=Kv.prototype.raw;var Sv=class extends Rv{constructor(){super();this.f=null;this.o=this.g=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,Cv);if("GRID"===b.mode&&!b.gridSize)throw new _.H(_.G,7,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.H(_.G,7,7100,"Duration is mandatory");this.f=b;const c=this.f.duration,d=this.f.url;if(!c||!d)throw this.log.error(zv,c,d),new _.H(_.G,7,7100,zv);this.j=c;if(this.f.gridSize)try{const e=this.f.gridSize.split(/x/).map(f=>parseInt(f,10)).filter(f=>
|
|
8
|
+
0<f);if(2===e.length)this.g=e[0],this.o=e[1];else throw new _.H(_.G,7,7100,Dv);}catch(e){throw this.log.error("Error during parsing gridSize",e),new _.H(_.G,7,7100,Dv);}super.init(a,b)}get(a){const b=this.player.getDuration();if(void 0===this.f.duration)return Promise.reject("Duration configuration not defined");const c=Math.floor(a/this.f.duration);if(0>a||a>b)return Promise.reject(Bv+a);const d=this.a[c];return d?d.load().then(()=>d):Promise.reject(Av+a+" at index "+c)}l(){if(0<this.a.length)return Promise.resolve();
|
|
9
|
+
var a=this.player.getDuration();const b=this.g*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";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 Kv(e,this.j*(d*b+g),this.j,0,0,0,0,this.g,this.o,g%this.g,Math.floor(g/this.g),f))}return Promise.resolve()}};var Tv=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Xc=new _.sm}load(){return this.Xc}},Vv=class{constructor(){this.h=new _.R(Ev);this.f=new ArrayBuffer(0);this.a=[];this.g=new _.sm}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,Cv);const c=b.url;b=_.si(c);b.type=_.ri;a.getNetworkEngine().fetch(b).P.then(d=>{{var e=d.data;d=_.J(this.f);e=_.J(e);const f=d.byteLength+e.byteLength,g=new ArrayBuffer(f),h=new DataView(g);let 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.f=g;this.h.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`)}}).then(()=>{{var d=this.f,e=_.J(d),f=String.fromCharCode.apply(null,Uv),g=Array.prototype.slice.call(e,0,8);e=64;let k=0;var h=!1;if(f===String.fromCharCode.apply(null,g))for(d=new DataView(d,16,20),d=d.getUint32(0,!0),0===d&&(d=1E3);!h;){k+=1;g=d;f=new DataView(this.f,e);h=f.getUint32(0,!0);g=h*g/1E3;f=f.getUint32(4,!0);f=new Tv(g,f);if(g=this.a.length)g=
|
|
11
|
+
this.a[g-1],g.length=f.offset-g.offset,g.duration=f.time-g.time;this.a.push(f);e+=8;(h=4294967295===h)&&this.g.resolve();if(1E5<k)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");}}).then(()=>{Iv(this)}).catch(d=>{this.h.error(`[BIF] Error while loading thumbnails '
|
|
12
|
+
+ 'URL: ${c}`,d);a.onError(new _.H(1,7,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){return 0>a?Promise.reject(Bv+a):this.g.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(a>=c.time&&a<c.time+c.duration)return Lv(this,c).then(d=>d.load().then(()=>d))}return Promise.reject(Av+a)})}},Uv=[137,66,73,70,13,10,26,10];var Wv=class extends Rv{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,Cv);const c=b.url,d=_.si(c);d.type=_.ri;this.f=a.getNetworkEngine().fetch(d).P.then(e=>{if(e=e.data){e=_.Ph(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,l);f.match(/^http|^\/\//)||(f=
|
|
13
|
+
c.substr(0,c.lastIndexOf("/"))+"/"+f);l=Mv(g[0]);g=Mv(g[1])-l;this.a.push(new Kv(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,7,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){return 0>a?Promise.reject(Bv+a):this.f.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(a>=c.time&&a<c.time+c.duration)return c.load().then(()=>c)}return Promise.reject(Av+a)})}l(){return this.f}};var Xv=class extends Rv{get(a){if(0>a)return this.log.error("Position must be greater than 0 but is "+a),Promise.reject();var b=this.player.getPeriods();b=Nv(b,a);if(!b)return this.log.error("Could not find period for specified position",a),Promise.reject();var c=b.thumbStreams.sort(this.f)[0];if(!c)return this.log.error("Could not find thumb stream for specified position",a),Promise.reject();b=c.findSegmentPosition(a-b.startTime);if(null===b||void 0===b)return this.log.error("Could not find segment index for specified position",
|
|
14
|
+
a),Promise.reject();var d=c.getSegmentReference(b);if(d){const e=Ov(d,c);a=Math.floor((a-d.startTime)/e.durationPerTile);let f;if(0<this.a.length)d=c.findSegmentPosition(0),null!==d&&(f=this.a[(b-d)*e.ef+a]);else if((c=d.Ka())&&0<c.length){let g=0,h=0;d=d.startTime;1<e.ef&&(g=a%e.Rc,h=Math.floor(a/e.Rc),d+=a*e.durationPerTile);f=new Kv(c[0],d,e.durationPerTile,void 0,void 0,void 0,void 0,e.Rc,e.Fe,g,h)}if(f)return f.load().then(()=>f)}this.log.error("segment reference for specified segment index does not exist",
|
|
15
|
+
b);return Promise.reject()}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=Ov(d,a),f=d.Ka()[0],g=new Image;let h=d.startTime;for(let k=0;k<e.Fe;++k)for(let l=0;l<e.Rc;++l)this.a.push(new Kv(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
e.Rc,e.Fe,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var Yv=class{constructor(){this.h=new _.R(Ev);this.a=this.m=null}onPlayerCreated(a){this.m=a}onPlayerWillDestroy(){this.m=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){var b=a.getConfiguration();if(b.thumbnails){var c=b.thumbnails;c&&(void 0===c.enabled||c.enabled)&&((b=c.mode)||(b=Qv(c.url||null)),b&&("SINGLE"===b||"GRID"===b?this.a=new Sv:"WEBVTT"===b?this.a=new Wv:"BIF"===b&&(this.a=new Vv)),this.a&&(this.h.info("Loading thumbs configuration",c),this.m.one(_.fe,()=>{this.h.info("Initialize thumbnails provider");
|
|
17
|
+
this.a.init(a,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();Pv(c)&&(this.a=new Xv,this.a.init(a,b))}}}get(a){return this.a?this.a.get(a):Promise.reject()}id(){return"thumbnails"}};_.z("clpp.thumbnails.ThumbnailsPlugin",Yv);Yv.prototype.get=Yv.prototype.get;Yv.Id="thumbnails";_.oo(new class{create(){return new Yv}});};f.call(g, window);
|
package/cl.tizen.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var zI="An unknown error occurred while trying to get volume",AI="Cannot get loading rendition due to platform limitations",BI="SecurityError",CI="The require privilege is: http://tizen.org/privilege/tv.audio",DI="|STARTBITRATE\x3d",EI=function(a,b,c){const d=e=>{c.call(a,e);a.removeEventListener(b,d)};a.addEventListener(b,d)},HI=function(a){return _.x(function*(){if(a.a!==_.sd&&a.a!==_.pd)throw new _.H(_.G,6,6001,`The key system ${a.a} is not supported by `+"the player or the platform");
|
|
2
|
+
const b=a.f.get(a.a);if(!b.Wc)throw new _.H(_.G,6,6012,`No license server given for ${a.a}`);try{a.a===_.sd?yield FI(a):yield GI(a,b),a.o={keySystem:a.a,licenseServerUri:b.Wc,distinctiveIdentifierRequired:!1,persistentStateRequired:b.qe,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[],keyIds:[],periodId:null}}catch(c){throw a.h.error(`Error while configuring CDM for ${a.a}`,c),new _.H(_.G,6,6005,{message:JSON.stringify(c)});}})},JI=function(a,b){_.x(function*(){var c=a.f.get(a.a);
|
|
3
|
+
a.h.debug("DRM Challenge data: ",b.challenge);const d=atob(b.challenge);var e=new Uint8Array(d.length);for(let h=0;h<d.length;++h)e[h]=d.charCodeAt(h);c=_.si([b.serverurl&&""!==b.serverurl?b.serverurl:c.Wc],_.pi());c.type=3;c.body=e.buffer;c.method="POST";try{var f=yield a.D.Bb.fetch(c).P;if(a.j){var g=_.J(f.data);const h=g.byteLength;e="";for(f=0;f<h;f++)e+=String.fromCharCode(g[f]);const k=`${b.session_id}PARAM_START_POSITION`+`${btoa(e)}PARAM_START_POSITION`;a.h.debug("Widevine license params",
|
|
4
|
+
k);try{webapis.avplay.setDrm(II,"widevine_license_data",k)}catch(l){a.h.error("License response rejected by CDM");const m=new _.H(_.G,6,6008,{browserError:JSON.stringify(l)});a.D.onError(m)}}}catch(h){a.h.error("License request failed.",JSON.stringify(h)),g=new _.H(_.G,6,6007,{message:_.Pa,url:h.data.url,status:h.data.status||NaN,response:h.data.response||"",headers:h.data.headers||{}},h),a.D.onError(g)}})},FI=function(a){return _.x(function*(){try{webapis.avplay.setDrm(II,"Initialize",""),webapis.avplay.setDrm(II,
|
|
5
|
+
"widevine_app_session",a.l.id),webapis.avplay.setDrm(II,"widevine_data_type",a.l.type)}catch(b){throw b;}})},GI=function(a,b){return _.x(function*(){var c={};c[KI]=!b.qe;c[LI]=b.Wc;""!==b.customData&&(c[MI]=b.customData);c=JSON.stringify(c);a.h.debug("PlayReady properties: ",c);try{webapis.avplay.setDrm(NI,"SetProperties",c)}catch(d){throw d;}})},PI=function(a,b){if(a.f!==b)if(a.f===_.jn&&b!==_.kn)a.h.debug(_.ex+`${OI(b)}`);else{var c=(new Date).getTime();a.j=a.f;a.f=b;a.f===_.en?(a.o=(new Date).getTime(),
|
|
6
|
+
a.m.trigger(new _.F(_.Mc,{detail:{bufferedTimeMS:-1,reason:a.g}}))):a.j===_.en&&a.m.trigger(new _.F(_.Lc,{detail:{bufferedTimeMS:c-a.o,reason:a.g}}));b={currentState:a.f,previousState:a.j,timeSinceLastStateChangeMS:c-a.w};a.w=c;a.m.trigger(new _.F(_.qf,{detail:b}));a.h.debug("State changed:",OI(a.j),"-\x3e",OI(a.f))}},OI=function(a){return Object.keys(_.hn)[a]},SI=function(a){if(a.l){var b=a.a.getState(),c=a.f;switch(b){case QI:c=_.nn;break;case RI:c=_.mn;break;default:a.m.isEnded()?c=_.bn:a.h.debug("Inconsistent AVPlay playback state:",
|
|
7
|
+
b)}PI(a,c)}},TI=function(a){return _.x(function*(){const b=a.m.getConfiguration();let c;(c=yield _.hq(a.B.url,a.m.getNetworkEngine(),b.manifest.attemptParameters,a.B.type||null))&&c.configure(b.manifest);return c})},UI=function(a){if(!a)return!1;a=a.periods;let b=!1;for(let c=0;c<a.length;c++)b=b||0<a[c].textStreams.length;return b},VI=function(a){const b=document.createElement(_.w),c=new _.bC,d=new _.RB(()=>null),e=a.m.getTextDisplayer();return new _.cC(b,c,e,d,a.m.getConfiguration())},WI=function(a){const b=
|
|
8
|
+
{wb:()=>a.m.getPosition(),Y:a.g,Bb:a.m.getNetworkEngine(),me:a.F.bind(a),le:a.C.bind(a),onError:a.U.bind(a),kf:()=>{},onEvent:()=>{},nf:a.G.bind(a),Bd:()=>{},Ud:()=>new _.gC,Kd:()=>!1,Nc:null};return new _.SC(a.a,b)},XI=function(a){const b=a.m.getPosition();let c=null;for(const d of a.a.periods)d.startTime<=b&&(c=d);return c},YI=function(a){a.h.debug("getTextStreams()",a.a);if(a.a){var b=[],c=a.a.periods;a.h.debug("getting text streams");for(var d=0;d<c.length;d++)if(a.h.debug(c[d].startTime,a.m.getPosition()),
|
|
9
|
+
c[d].startTime<=a.m.getPosition()){b=c[d].textStreams;break}a=b}else a=[];b=[];c=0;for(d=0;d<a.length;d++){const e=new _.Ii(String(c++),_.K);e.mimeType=a[d].mimeType;e.language=a[d].language;e.roles=a[d].roles;e.kind=a[d].kind||_.Bx;const f=new _.Si(String(a[d].id),e);f.bandwidth=a[d].bandwidth||null;e.renditions.push(f);b.push(e)}return b},ZI=function(a){if(a.g&&!a.g.getTextDisplayer().isTextVisible())return null;if(a.f){const b=_.PA(a.f,_.t);let c=null;if(b){a=YI(a);for(let d=0;d<a.length;d++)if(a[d].renditions[0].id===
|
|
10
|
+
String(b.id)){c=a[d].renditions[0];break}}return c}return null},$I=function(a,b){a.h.debug("Set active track",b);if(b&&(a.o=b.language,a.A=b.roles[0]||"",a.a&&a.f)){a.setTextVisibility(!0);const c=XI(a),d=b.renditions[0];(b=c.textStreams.find(e=>String(e.id)==d.id))?(a.w?(a.h.debug("Switching period defer text selection"),a.l=b):(_.YA(a.f,b,!0,0),a.m.trigger(new _.F(_.bk))),a.o=b.language):a.h.error(_.dx,d.id)}},aJ=function(a){const b=a.ia();b&&a.m.trigger(new _.F(_.Jc,{detail:{width:b.width,height:b.height,
|
|
11
|
+
bandwidth:b.bandwidth,rendition:b}}))},bJ=function(a,b){a.m.trigger(new _.F(_.Rf,{details:{width:b.width,height:b.height,bandwidth:b.bandwidth,track:b.track,abrSelection:a.a.o}}))},cJ=function(a,b){let c=null;try{c=JSON.parse(b)}catch(d){a.h.warn("Couldn't retrieve extra infos from stream."),c=null}return c},dJ=function(a,b){a=a.f[_.M]||[];const c=[];for(let d=0;d<a.length;d++)for(let e=0;e<a[d].renditions.length;e++)_.Bg(a[d].renditions[e],b,Object.keys(b))&&c.push(a[d].renditions[e]);return c[0]||
|
|
12
|
+
null},eJ=function(a){const b=a.m.getConfiguration();var c=_.ch(b.preferredAudioLanguage||[]);const d=a.f[_.L]||[];if(d.length){var e=null;c.some(g=>{e=_.Tx(g,d.map(h=>h.language));return!!e});if(e){var f=d.filter(g=>g.language===e);c=f[0];1<f.length&&b.preferredAudioRole&&(f=f.filter(g=>0<=g.roles.indexOf(b.preferredAudioRole)),0<f.length&&(c=f[0]));a.h.debug("Setting audio track with preferred language:",e);a.sa(c)}else a.h.debug("Preferred language(s) not available")}else a.h.debug("Could not set preferred audio language")},
|
|
13
|
+
kJ=function(a,b){var c=(l,m)=>{for(let n=0;n<l.length;n++)if(l[n].language===m)return l[n];return null};const d={};if(0>=b.length)return d;var e=b.filter(l=>l.type===fJ),f=b.filter(l=>l.type===gJ);const g=[];for(var h=0;h<f.length;h++){const l=cJ(a,f[h].extra_info);if(l){var k=_.Ch(l.language||_.Df);k=_.Ei(k);k=c(g,k);k||(k=new _.Ii(String(a.o++),_.L),g.push(k));k.renditions.push(hJ(f[h].index,l,k))}else a.h.warn("Skipping audio stream with no extra info")}c=new _.Ii(String(a.o++),_.M);for(f=0;f<
|
|
14
|
+
e.length;f++)(h=cJ(a,e[f].extra_info))?c.renditions.push(iJ(e[f].index,h,c)):a.h.warn("Skipping video stream with no extra info");e=[];e=a.g?YI(a.g):jJ(a,b);d[_.M]=[c];d[_.L]=g;d[_.K]=e;return d},nJ=function(a,b){if(b===_.K&&a.g)return ZI(a.g);var c=lJ(a.a)||[];if(0===c.length)return null;c=c.filter(e=>e.type===b.toUpperCase())[0];var d=null;b===_.M&&(d=cJ(a,c.extra_info),d=dJ(a,{width:d.Width,height:d.Height}));b===_.L&&(c?(d=mJ(a,c,_.L),a.j=d):d=a.j);b===_.K&&(c?(d=mJ(a,c,_.K),a.l=d):d=a.l);return d},
|
|
15
|
+
qJ=function(a,b){if(b){const c=b.track.type.toUpperCase();oJ(a.a,c,Number(b.id)).then(()=>{c===gJ&&(a.j=b,a.m.trigger(new _.F(_.ak)));c===pJ&&(a.l=b,a.m.trigger(new _.F(_.bk)))}).catch(()=>{a.h.error("Could not select "+c+" track.")})}else a.h.debug("Must provide valid rendition")},hJ=function(a,b,c){const d=_.Ch(b.language||_.Df);c.language=_.Ei(d);c.originalLanguage=d;c.channelsCount=b.channels?Number(b.channels):null;c.mimeType=_.Gc;a=new _.Si(String(a),c);a.track=c;a.codec=b.fourCC||null;a.bandwidth=
|
|
16
|
+
b.bit_rate||null;return a},iJ=function(a,b,c){c.mimeType=_.Of;a=new _.Si(String(a),c);a.track=c;a.width=b.Width||null;a.height=b.Height||null;a.bandwidth=b.Bit_rate?Number(b.Bit_rate):null;a.codec=b.fourCC||null;return a},rJ=function(a,b,c){b=_.Ch(b.track_lang||_.Df);c.mimeType="text/ttml";c.language=_.Ei(b);c.originalLanguage=b;c.kind=_.Bx;return new _.Si(String(a),c)},jJ=function(a,b){b=b.filter(d=>d.type===pJ);const c=[];for(let d=0;d<b.length;d++){const e=cJ(a,b[d].extra_info);if(!e){a.h.warn("Skipping text stream with no extra info");
|
|
17
|
+
continue}const f=new _.Ii(String(a.o++),_.K);f.renditions.push(rJ(b[d].index,e,f));c.push(f)}return c},mJ=function(a,b,c){a=a.f[c]||[];b=String(b.index);c=null;for(let d=0;d<a.length;d++)for(let e=0;e<a[d].renditions.length;e++)if(a[d].renditions[e].id===b){c=a[d].renditions[e];break}return c},sJ=function(a){return a.f&&a.a?a.a.fh:webapis.avplay.getTotalTrackInfo()},uJ=function(a,b,c){a.h.debug("switchVideoTrack()");try{const d={estimatedBandwidth:parseInt(webapis.avplay.getStreamingProperty("CURRENT_BANDWITH"),
|
|
18
|
+
10),currentBandwidth:b,nextBandwidth:c,currentPosition:a.getPosition()};a.a=tJ(a);a.f=!0;webapis.avplay.stop();webapis.avplay.close();return a.load(a.m.getConfiguration(),d).then(()=>{const e=a.a.Me;a.f=!1;a.a=null;return e===RI?a.pause():a.play()})}catch(d){return Promise.reject(d)}},vJ=function(a,b){var c=a.m.getTextDisplayer();c&&c.setTextVisibility(b);c=a.m.g;try{c||webapis.avplay.setSilentSubtitle(!b)}catch(d){a.h.debug("Could not set text track visibility",d)}},oJ=function(a,b,c){b=b.toUpperCase();
|
|
19
|
+
b===pJ&&vJ(a,!0);const d=a.j[b];d&&(d.Ed.stop(),a.j[b]=null,a.h.debug(`Cancelled pending track switch for ${b}`));return new Promise((e,f)=>{const g=(h,k,l)=>{l=void 0===l?!1:l;try{webapis.avplay.setSelectTrack(h,k),a.j[h]=null,e()}catch(m){a.h.debug(`Could not set ${h} track. Trying again...`+`AVPlay state: ${a.getState()}, `+`buffering: ${a.w}`,m),!1===l&&(a.j[h]={type:h,index:k,Je:0,Ed:new _.kj(()=>g(h,c,!0))}),(k=a.j[h])&&3>k.Je?(!a.w&&++k.Je,k.Ed.ca(a.w?.5:.25)):(a.h.debug("Could not set track after multiple attempts.Giving up..."),
|
|
20
|
+
k&&k.Ed.stop(),a.j[h]=null,f())}};g(b,c)})},lJ=function(a){return a.f&&a.a?a.a.cg:webapis.avplay.getCurrentStreamInfo()},wJ=function(a){return _.x(function*(){tizen.systeminfo.getPropertyValue("DISPLAY",b=>{a.A=b.resolutionWidth/1920;a.h.debug("Display resolution ratio: ",a.A)},b=>{a.h.debug("Could not load DISPLAY property");throw b;})})},yJ=function(a){try{webapis.avplay.setListener({onbufferingstart:a.I.bind(a),onbufferingprogress:a.H.bind(a),onbufferingcomplete:a.G.bind(a),onstreamcompleted:a.M.bind(a),
|
|
21
|
+
oncurrentplaytime:b=>{a.trigger(new _.F(xJ,{currentTime:b}))},onevent:a.K.bind(a),onsubtitlechange:a.O.bind(a),ondrmevent:a.J.bind(a),onerror:a.U.bind(a)})}catch(b){a.h.error(b)}},zJ=function(a){const b=!!a.m.getTrackManager().Ja();try{webapis.avplay.setSilentSubtitle(!b)}catch(c){a.h.debug("Could not set AVPlay subtitle config",c)}},AJ=function(a,b){try{const c=b.estimatedBandwidth||0,d=b.currentBandwidth||0;a.h.debug({estimatedBandwidth:c,zh:d});0!==c&&0!==d&&c>=1.15*d&&webapis.avplay.setStreamingProperty("ADAPTIVE_INFO",
|
|
22
|
+
DI+d)}catch(c){a.h.debug(c)}},BJ=function(a,b){try{webapis.avplay.setStreamingProperty("ADAPTIVE_INFO","|BITRATES\x3d"+b+DI+b)}catch(c){throw a.h.debug("Could not set fixed bandwidth",c),c;}},CJ=function(a){let b=null;try{b=tizen.tvaudiocontrol.isMute()}catch(c){switch(c.name){case BI:a.h.warn("The application doesn't have the privilege to get the mute state.",CI);break;default:a.h.warn(zI,c)}}return!!b},tJ=function(a){return{position:a.getPosition(),state:a.m.getState(),Me:a.getState(),playbackRate:a.getPlaybackRate(),
|
|
23
|
+
isLive:a.isLive(),duration:a.getDuration(),isMuted:CJ(a),volume:a.getVolume(),fh:sJ(a),cg:lJ(a)}},DJ=function(){return new Promise((a,b)=>{if(window.webapis)a();else{const c=document.createElement("script");EI(c,"load",d=>a(d));EI(c,_.Md,d=>b(d));c.src="$WEBAPIS/webapis/webapis.js";document.querySelector("head").appendChild(c)}})},EJ=function(a){return _.x(function*(){yield DJ();const b=new Promise(c=>{(new _.kj(c)).ca(5)});if(!(yield Promise.race([wJ(a).then(()=>!0),b.then(()=>!1)])))return a.h.debug("Took to long for the SDK to be ready"),
|
|
24
|
+
Promise.reject("SDK Timeout")})},FJ=function(a){return _.x(function*(){a.h.debug("avplay.prepare()");return new Promise((b,c)=>{try{webapis.avplay.prepareAsync(()=>{a.h.debug("AVPlay is ready!");zJ(a);b()},d=>{a.h.debug("prepareAsync failed",d);c(d)})}catch(d){a.h.debug("Failed to prepare media player for playback"),c(d)}})})},GJ=function(a,b){try{tizen.tvaudiocontrol.setMute(b)}catch(c){switch(c.name){case BI:a.h.warn("The application does not have the privilege to set mute.",CI);break;default:a.h.warn(zI,
|
|
25
|
+
c)}}},LJ=function(a,b,c){return _.x(function*(){a.l=_.qn(b);const d=a.F,e=c||{estimatedBandwidth:0,currentBandwidth:0,nextBandwidth:null,currentPosition:0};a.h.debug(`Loading manifest URL: ${a.l[d].url}`);let f=b.startTime||void 0;a.f&&(a.trigger(new _.F(HJ)),f=c.currentPosition);try{let g=a.l[d].url;if(a.l[d].type===_.sc&&!g.includes(".mpd")){const h=new URL(g);h.searchParams.append("cl-ext",".mpd");g=h.toString()}webapis.avplay.open(g);e.nextBandwidth?(BJ(a,e.nextBandwidth),a.o=!1):(a.o||AJ(a,e),
|
|
26
|
+
a.o=!0);yJ(a);if(b.drm&&b.drm.env){const h={onError:k=>a.m.onError(k),Bb:a.m.getNetworkEngine()};a.g=new IJ(b.drm,h);yield a.g.init()}else a.h.debug("No DRM configuration was provided. Assuming clear content");a.f||a.trigger(new _.F(JJ));yield FJ(a);a.f||a.trigger(new _.F(KJ));f&&typeof f===_.r&&0<f&&a.seek(f).catch(h=>{a.h.debug("Couldn't set start position",h)});a.f||(b.volume&&a.setVolume(b.volume),b.muted&&GJ(a,b.muted),b.autoplay&&a.m.play().catch(h=>{a.h.debug("Autoplay failed",h)}))}catch(g){throw a.h.debug("Error while attempting to load source."),
|
|
27
|
+
g;}})},MJ=function(a){if("NONE"!==a.a.getState()){var b=a.j.getBoundingClientRect();{a=a.a;const c=Math.floor(b.left*a.A),d=Math.floor(b.top*a.A),e=Math.floor(b.width*a.A);b=Math.floor(b.height*a.A);a.h.debug("Setting display area to","x:",c,"y:",d,"width:",e,"height:",b);webapis.avplay.setDisplayRect(c,d,e,b);0===c&&0===d&&1920===e&&1080===b&&webapis.avplay.setDisplayMethod("PLAYER_DISPLAY_MODE_LETTER_BOX")}}else a.h.debug("Could not apply dimension. Player state "+a.a.getState())},IJ=class{constructor(a,
|
|
28
|
+
b){this.g=a;this.o=null;this.a=_.se;this.l=null;this.j=!1;this.f=new Map;this.D=b;this.h=new _.R("clpp.tizen.DrmEngine")}init(){const a=this;return _.x(function*(){var b=_.Ek[a.g.env]||null;if(!b)throw a.h.debug(_.sa,_.qb+a.g.env+_.aa),new _.H(_.G,6,6015,`DRM environment '${a.g.env}' is missing.`);a.l={id:String(Math.floor(1E4*Math.random())),type:"MPEG-DASH"};var c=Object.keys(a.g.customData||{}).length?btoa(JSON.stringify(a.g.customData)):"";b=_.Gk(b,a.g.customData);const d=b[_.pd];d&&a.f.set(_.pd,
|
|
29
|
+
{Wc:d.licenseUrl||"",customData:c,qe:!1});(b=b[_.sd])&&a.f.set(_.sd,{Wc:b.licenseUrl||"",customData:c,qe:!1});if(0===a.f.size)throw new _.H(_.G,6,6E3);if((c=a.g.preferredDrmSystem)&&a.f.get(c))a.a=c;else if(a.f.get(_.pd))a.a=_.pd;else if(a.f.get(_.sd))a.a=_.sd;else throw new _.H(_.G,6,6001,"Configuration for the target system is missing.");yield HI(a);a.j=!0})}release(){const a=this;return _.x(function*(){a.j=!1;a.o=null;a.a=_.se;a.l=null;a.f=new Map})}getDrmInfo(){return this.o}},KI="DeleteLicenseAfterUse",
|
|
30
|
+
LI="LicenseServer",MI="CustomData";var SJ=class{constructor(a){this.m=a;this.a=this.m.a;this.f=_.kn;this.j=_.es;this.w=(new Date).getTime();this.l=!1;this.o=-1;this.g=2;this.h=new _.R("clpp.tizen.StateManager")}initialize(){this.a.on(HJ,this.C,this);this.a.on(NJ,this.B,this);this.a.on(OJ,this.A,this);this.a.on(JJ,this.H,this);this.a.on(KJ,this.G,this);this.a.on(PJ,this.F,this)}release(){PI(this,_.kn);this.l=!1;this.o=-1;this.g=2}destroy(){this.release();this.a.off(HJ,this.C);this.a.off(NJ,this.B);this.a.off(OJ,this.A);this.a.off(JJ,
|
|
31
|
+
this.H);this.a.off(KJ,this.G);this.a.off(PJ,this.F);this.m=this.a=null}C(){this.h.debug("Buffering start. Player state: ",this.a.getState());this.g=this.a.B?1:2;PI(this,_.en)}B(a){this.h.debug("Buffering progress: "+a.percent+" %. Player state: ",OI(this.f))}A(){this.h.debug("Buffering complete. Player state: ",this.a.getState());if(!this.l){this.l=!0;var a=this.m.getConfiguration().autoplay;const b=this.a.getState()===QJ;if(!a&&b){PI(this,_.mn);return}}if(a=this.f!==_.ln)a=this.a.getState(),a=a===
|
|
32
|
+
QI||a===RI;a&&SI(this)}H(){this.h.debug("Preparing starts. AVPlay State: ",this.a.getState());this.a.getState()===RJ?PI(this,_.ln):this.h.error("AVPlay prepares while state is not IDLE")}G(){this.h.debug("Preparing ends: AVPlay state:",this.a.getState())}F(){PI(this,_.bn)}getState(){return this.f}};var TJ=class{constructor(){this.o=this.A=this.f=this.g=this.B=this.m=this.j=this.a=null;this.w=!0;this.l=null;this.h=new _.R("clpp.tizen.TextStreamer")}initialize(a){this.m=a}load(a){const b=this;return _.x(function*(){if(b.m)if(b.B=a,b.j=yield TI(b),b.j){var c={networkingEngine:b.m.getNetworkEngine(),filterNewPeriod:()=>{},filterAllPeriods:()=>{},onTimelineCueAdded:()=>{},onEvent:()=>{},onError:()=>{}};try{b.a=yield b.j.start(a.url,c)}catch(d){b.h.warn(d);try{b.a=yield b.j.start(a.url.replace("https://",
|
|
33
|
+
"http://"),c)}catch(e){b.h.error(e),b.a=null}}if(b.a&&UI(b.a)){b.g=VI(b);try{yield b.g.I;b.f=WI(b);const d=b.m.getConfiguration();b.f.g=d.streaming;b.o=d.preferredTextLanguage;b.A=d.preferredTextRole}catch(d){b.h.debug("Could not setup media source..."),b.g=null,b.f=null,b.j=null,b.a=null}}}else b.h.debug("Could not find manifest parser for source. Make sure parsers are registered.");else b.h.debug("Text streamer is not initialized. Will not load()")})}F(a){this.h.debug(_.ux,a);this.w=!0;let b=_.Bz(a.textStreams,
|
|
34
|
+
this.o||"",this.A||"")[0]||null;this.l&&(a.textStreams.includes(this.l)&&(b=this.l),this.l=null);return{variant:null,text:b}}C(){this.h.debug("canSwitch_");this.w=!1;this.l&&(_.YA(this.f,this.l,!0,0),this.l=null)}U(){this.h.debug("onError_")}G(){this.j&&this.j.update&&this.j.update()}start(){const a=this;return _.x(function*(){if(a.f)try{a.f.start()}catch(b){a.h.error("Error while starting streaming engine",b)}})}setTextVisibility(a){this.h.debug("Set text visibility",a);this.g&&this.g.getTextDisplayer().setTextVisibility(a)}release(){const a=
|
|
35
|
+
this;return _.x(function*(){a.m=null;a.a=null;a.B=null;a.A=null;a.o=null;a.w=!0;a.l=null})}destroy(){const a=this;return _.x(function*(){a.j&&(yield a.j.stop(),a.j=null);a.f&&(yield a.f.destroy(),a.f=null,a.w=!0);a.g&&(yield a.g.destroy(),a.g=null)})}};var W=class extends _.S{constructor(){super();this.g=this.a=this.m=null;this.f={};this.h=new _.R("clpp.tizen.TrackManager");this.w=this.l=this.j=null;this.B=!1;this.o=1}C(a){var b=a.eventid;a=a.data;switch(b){case UJ:0<Object.keys(this.f).length||(this.h.debug("Loading track manager!"),this.load());b=webapis.avplay.getCurrentStreamInfo();0<b.length&&(b=+cJ(this,b[0].extra_info).Bit_rate,b=dJ(this,{bandwidth:b}))&&(this.w=b,bJ(this,b));break;case VJ:aJ(this);break;default:this.h.debug("Event type: "+
|
|
36
|
+
b+" data: "+a)}}A(a){a.detail.currentState===_.nn&&this.m.off(_.qf,this.A)}initialize(a){this.m=a;this.a=this.m.a;this.m.on(_.qf,b=>{this.B||(b=b.detail,b.currentState===_.nn&&(this.h.debug("Current state",b.currentState),this.B=!0,eJ(this)))});this.a.on(WJ,this.C,this)}release(){this.f={};this.g=this.w=this.l=this.j=null;this.B=!1;this.o=1}load(){if(this.a&&!(0<Object.keys(this.f).length)){this.g=this.m.g;this.m.off(_.qf,this.A);this.m.on(_.qf,this.A,this);try{const a=sJ(this.a);this.f=kJ(this,a);
|
|
37
|
+
const b=this.f[_.L]||[];b.length&&(this.j=b[0].renditions[0]||null);aJ(this)}catch(a){this.h.debug("Could not load track manager")}}}destroy(){this.a.off(WJ,this.C);this.a=this.m=null}getVideoTracks(){return this.f[_.M]||[]}getAudioTracks(){return this.f[_.L]||[]}ka(){return this.f[_.K]||[]}ia(){return nJ(this,_.M)}Ia(){return nJ(this,_.L)}Ja(){return nJ(this,_.K)}Ua(){return this.w}gb(){this.h.info(AI);return null}hb(){this.h.info(AI);return null}La(){const a=this.ia();return a?a.track:null}oa(){const a=
|
|
38
|
+
this.Ia();return a?a.track:null}pa(){const a=this.Ja();return a?a.track:null}Za(a){null===a?(a=this.ia(),uJ(this.a,a.bandwidth,null).then(()=>{aJ(this)})):0<a.renditions.length&&this.Ya(a.renditions[0])}sa(a){a?qJ(this,a.renditions[0]):this.h.warn("Cannot disable audio tracks on this platform.","Consider muting audio instead...")}Ea(a){a?(a=a.renditions[0],this.g?$I(this.g,a.track):qJ(this,a)):(this.h.debug("Disabling text tracks"),this.l=null,vJ(this.a,!1),this.m.trigger(new _.F(_.bk)))}Ya(a){const b=
|
|
39
|
+
this.ia();this.a.o||a.width!==b.width||a.height!==b.height||a.bandwidth!==b.bandwidth?(this.w=a,bJ(this,a),uJ(this.a,b.bandwidth,a.bandwidth).then(()=>{aJ(this)}).catch(c=>{const d=new _.H(_.G,7,7200,{tizenerror:c});this.h.debug("Error while switching video track",c);this.m.onError(d)})):this.h.debug("Trying to switch to already active rendition. Doing nothing...")}mb(a){qJ(this,a)}nb(a){this.g?$I(this.g,a.track):qJ(this,a)}addTextTrack(){}ma(){return this.a.o}};W.prototype.isAbrEnabled=W.prototype.ma;
|
|
40
|
+
W.prototype.addTextTrack=W.prototype.addTextTrack;W.prototype.setTextRendition=W.prototype.nb;W.prototype.setAudioRendition=W.prototype.mb;W.prototype.setVideoRendition=W.prototype.Ya;W.prototype.setTextTrack=W.prototype.Ea;W.prototype.setAudioTrack=W.prototype.sa;W.prototype.setVideoTrack=W.prototype.Za;W.prototype.getTextTrack=W.prototype.pa;W.prototype.getAudioTrack=W.prototype.oa;W.prototype.getVideoTrack=W.prototype.La;W.prototype.getLoadingTextRendition=W.prototype.hb;
|
|
41
|
+
W.prototype.getLoadingAudioRendition=W.prototype.gb;W.prototype.getLoadingVideoRendition=W.prototype.Ua;W.prototype.getTextRendition=W.prototype.Ja;W.prototype.getAudioRendition=W.prototype.Ia;W.prototype.getVideoRendition=W.prototype.ia;W.prototype.getTextTracks=W.prototype.ka;W.prototype.getAudioTracks=W.prototype.getAudioTracks;W.prototype.getVideoTracks=W.prototype.getVideoTracks;var $J=class extends _.Kr{constructor(a){super();this.m=a;this.g=null;this.h=new _.R("clpp.tizen.Middleware");this.C=1;this.B=!1;this.l=null;this.F=0;this.o=!0;this.f=!1;this.a=null;this.A=1;this.w=!1;this.j={}}I(){this.w=!0;this.f||this.trigger(new _.F(HJ))}H(a){this.w=!0;this.trigger(new _.F(NJ,{percent:a}))}G(){this.w=!1;this.trigger(new _.F(OJ))}M(){this.trigger(new _.F(PJ))}K(a,b){this.trigger(new _.F(WJ,{eventid:a,data:b}))}O(a,b,c,d,e){this.trigger(new _.F(XJ,{duration:a,text:b,subtitleType:c,
|
|
42
|
+
attriCount:d,attributes:e}))}J(a,b){this.trigger(new _.F(YJ,{drmType:a,drmData:b}));this.g&&(a=this.g,a.j&&(a.a===_.sd&&"Challenge"===b.name?JI(a,b):"DrmError"===b.name&&(a.h.debug("DrmError event",b),b=new _.H(_.G,6,6005,{message:JSON.stringify(b)}),a.D.onError(b))))}U(a){this.trigger(new _.F(ZJ,{eventType:a}))}play(){const a=this.getState(),b=()=>new Promise((c,d)=>{let e=null;const f=()=>{c();clearTimeout(e)};this.one(xJ,f,this);e=setTimeout(()=>{this.off(xJ,f);d("Timeout")},3E4)});if(a===RJ)return(new Promise((c,
|
|
43
|
+
d)=>{webapis.avplay.prepareAsync(()=>{zJ(this);c(webapis.avplay.play())},e=>{this.trigger(new _.F(ZJ));d(e)})})).then(()=>b());if(a===RI||a===QJ)try{return webapis.avplay.play(),b()}catch(c){return Promise.reject(c)}return a===QI?Promise.resolve():Promise.reject("Player is in invalid state")}pause(){try{webapis.avplay.pause()}catch(a){Promise.reject(a)}return this.getState()===RI?Promise.resolve():Promise.reject()}setPlaybackRate(a){const b=this.getState();if(b===QJ||b===QI||b===RI){try{webapis.avplay.setSpeed(a),
|
|
44
|
+
this.C=a}catch(c){return this.h.debug("Error while trying to set playback rate",c),this.setPlaybackRate(this.C)}return!0}this.h.debug("Cannot set playback rate; AVPlay is in inconsistent state: "+b);return!1}getPlaybackRate(){return this.C}load(a,b){const c=this;return _.x(function*(){c.h.debug("configure()",b||"");try{yield EJ(c),yield LJ(c,a,b)}catch(d){throw new _.H(_.G,7,7003,null,d);}})}getState(){if(this.f&&this.a)return this.a.Me;try{return webapis.avplay.getState()}catch(a){this.U(JSON.stringify(a))}}seek(a){const b=
|
|
45
|
+
1E3*a;return new Promise((c,d)=>{this.B=!0;this.m.trigger(new _.F(_.Jf));webapis.avplay.seekTo(b,()=>{this.B=!1;this.m.trigger(new _.F(_.If));c()},()=>{this.B=!1;d()})})}getPosition(){if(this.f&&this.a)return this.a.position;try{return webapis.avplay.getCurrentTime()/1E3}catch(a){this.U(JSON.stringify(a))}}getDuration(){if(this.f&&this.a)return this.a.duration;try{return webapis.avplay.getDuration()/1E3}catch(a){this.U(JSON.stringify(a))}}release(){return new Promise((a,b)=>{try{this.g&&(this.g.release(),
|
|
46
|
+
this.g=null);webapis.avplay.stop();webapis.avplay.close();for(const c in this.j){const d=this.j[c];d&&d.Ed.stop()}this.j={};this.C=1;this.B=!1;this.a=this.l=null;return a()}catch(c){return b(c)}})}getVolume(){let a=null;try{a=tizen.tvaudiocontrol.getVolume()}catch(b){switch(b.name){case BI:this.h.debug("The application does not have the privilege to get the volume.",CI);break;default:this.h.debug(zI,b)}}return a}setVolume(a){try{tizen.tvaudiocontrol.setVolume(Math.max(0,Math.min(100*a,100)))}catch(b){switch(b.name){case "InvalidValueError":this.h.warn("Invalid value passed for setVolume.",
|
|
47
|
+
"The passed value value should be in the range of 0 to 1.");break;case BI:this.h.warn("The application does not have the privilege to set the volume.",CI);break;default:this.h.warn("An unknown error occurred while trying to set volume",b)}}}isLive(){if(this.f&&this.a)return this.a.isLive;try{return"1"===webapis.avplay.getStreamingProperty("IS_LIVE")}catch(a){this.U(JSON.stringify(a))}}stop(){try{webapis.avplay.stop()}catch(a){this.h.debug(a)}}getDrmInfo(){this.g&&this.g.getDrmInfo();return null}setSourceIndex(a){this.F=
|
|
48
|
+
a}getSourceIndex(){return this.F}getLoadedSource(){return this.l&&this.l[this.getSourceIndex()]}},RJ="IDLE",QJ="READY",QI="PLAYING",RI="PAUSED",fJ=_.Mb,gJ="AUDIO",pJ="TEXT",VJ="PLAYER_MSG_RESOLUTION_CHANGED",UJ="PLAYER_MSG_BITRATE_CHANGE",NI="PLAYREADY",II="WIDEVINE_CDM";var dK=class extends _.Kr{constructor(){super();this.a=new $J(this);this.f=new SJ(this);this.configuration=this.B=_.lk();this.w=null;this.h=new _.R("clpp.tizen.Player");this.j=null;this.l=new W;this.C=new _.lo;this.o=this.g=null;this.A=!1}H(){this.h.debug("On Stream completed. Current time: ",this.getPosition());this.trigger(new _.F(_.Ld));this.configuration.loop?this.seek(this.configuration.startTime||0).catch(()=>{this.h.debug("Could not loop playback")}):this.a.stop()}F(a){this.trigger(new _.F(_.Af,
|
|
49
|
+
{currentTime:a.currentTime/1E3}))}I(a){const b=this.a.getPosition(),c=b+a.duration/1E3;let d=a.text||"";this.h.debug("Got subtitles: ",d,"start:",b,"end:",c,a);(d=_.bi(d))&&this.o.append([new _.er(b,c,d)],[])}G(a){this.h.debug("DRM event: "+a.drmType+", data: "+a.drmData)}J(){this.A||(this.h.debug("Initial buffering completed..."),this.A=!0)}U(a){this.h.debug(`Error: TYPE: ${a.eventType}`);PI(this.f,_.jn);a=new _.H(_.G,7,7200,{tizenerror:a.eventType});this.a.release();this.trigger(new _.F(_.Md,{detail:a}))}init(a,
|
|
50
|
+
b){this.configuration=this.B=b;this.w=a;this.a.on(PJ,this.H,this);this.a.on(xJ,this.F,this);this.a.on(XJ,this.I,this);this.a.on(YJ,this.G,this);this.a.on(ZJ,this.U,this);this.a.on(OJ,this.J,this);this.f.initialize();this.l.initialize(this);this.h.debug("Initializing player surface");this.w.hideMediaElement();a=aK;aK+=1;a="__clpp_tizen_player_"+a;this.j=_.Hn(_.te,{id:a,type:"application/avplayer"});this.w.addElementToContainer(this.j,!0);var c=this.w.getMedia();if(c){a=this.j;{b=[_.fg,_.Pd,"position",
|
|
51
|
+
_.Wd,"top"];const e={};c=null!==c.parentElement?window.getComputedStyle(c,null):c.style;if(!b||0===b.length)for(d in b||(b=[]),c)b.push(d);for(const f of b)e[f]=c[f];var d=e}_.Jn(a,d);MJ(this)}}getSurface(){return this.w}getConfiguration(){return this.configuration}destroy(){const a=this;return _.x(function*(){yield a.release();a.a.off(PJ,a.H);a.a.off(xJ,a.F);a.a.off(XJ,a.I);a.a.off(YJ,a.G);a.a.off(ZJ,a.U);a.a.off(OJ,a.J);a.g&&(yield a.g.destroy(),a.g=null);a.j&&(a.j.parentElement.removeChild(a.j),
|
|
52
|
+
a.j=null);a.l.destroy();a.f.destroy();a.l=null;a.f=null})}namespace(){return bK}getPlaybackRate(){return this.a.getPlaybackRate()}setDrmCustomDataModifier(){}setCdnErrorCallback(){}detach(){}setPlaybackRate(a){this.a.setPlaybackRate(a)}getPosition(){return 0<(this.configuration.startTime||0)&&!this.A?0:this.f.getState()===_.bn?this.getDuration():this.a.getPosition()||0}seek(a){return typeof a===_.r&&0<=a?(this.isLive()||(a=Math.min(a,this.getDuration())),this.a.seek(a)):Promise.reject()}getPresentationStartTime(){return null}getSeekRange(){return{start:0,
|
|
53
|
+
end:0}}getVolume(){const a=this.a.getVolume();return typeof a===_.r?a/100:null}setVolume(a){this.a.setVolume(a)}getDuration(){return this.a.getDuration()}getBufferInfo(){this.h.warn(_.oa);return new _.Jr}getTrackManager(){return this.l}unload(){return this.a.release().then(()=>{this.l.release()})}release(){const a=this;return _.x(function*(){a.g&&(yield a.g.release());a.o&&(yield a.o.destroy(),a.o=null);yield a.a.release();a.l.release();a.f.release();a.A=!1})}load(a){const b=this;return _.x(function*(){_.ok(a)&&
|
|
54
|
+
(b.configuration=_.nk(b.B,a));var c=_.Sm(b.configuration,[_.Rd,"native"]);b.o=c.create(b);c=_.qn(b.configuration)[0];if(b.configuration.tizen&&b.configuration.tizen.sideStreamText){b.g=new TJ;b.g.initialize(b);try{yield b.g.load(c),b.g.start()}catch(d){b.h.error(d)}}try{yield b.a.load(b.configuration)}catch(d){throw b.onError(d),d;}b.l.load()})}play(){this.trigger(new _.F(_.He));MJ(this);return this.a.play().then(()=>{SI(this.f)})}pause(){return this.a.pause().then(()=>{SI(this.f)})}getState(){return this.f.getState()}getPeriods(){return[]}onError(a){const b=
|
|
55
|
+
new _.F(_.Md,{detail:a});a.severity===_.G&&(PI(this.f,_.jn),this.a.release());this.trigger(b);b.defaultPrevented&&(b.a=!0)}getDrmInfo(){return this.a.getDrmInfo()}isEnded(){return this.f.getState()===_.bn}isPaused(){return this.a.getState()===RI}isMuted(){return CJ(this.a)}setMuted(a){GJ(this.a,a)}getNetworkEngine(){return this.C}setNetworkEngine(a){this.C=a}isLive(){return this.a.isLive()}getStats(){return null}setSourceIndex(a){this.a.setSourceIndex(a)}getSourceIndex(){return this.a.getSourceIndex()}getLoadedSource(){return this.a.getLoadedSource()}canPlay(a,
|
|
56
|
+
b){return(new cK).canPlay(a,b)}getTimelineCues(){return[]}getTextDisplayer(){return this.o}resetAbr(){}};dK.prototype.getTextDisplayer=dK.prototype.getTextDisplayer;dK.prototype.setNetworkEngine=dK.prototype.setNetworkEngine;dK.prototype.getNetworkEngine=dK.prototype.getNetworkEngine;
|
|
57
|
+
var bK="clpp.tizen",aK=0,cK=class{a(){return bK}canPlay(a){a=a.type;const b=!!window.webapis;if((a===_.sc||a===_.fk||a===_.Bc)&&b){if(_.oj(2))return 2;if(_.oj(3)||_.oj(4)||_.oj(5)||_.oj(6))return _.C("Use of clpp.tizen.TizenComponent is not recommended for Tizen version \x3e\x3d 3."),1}return 0}create(){return new dK}};_.z("clpp.tizen.TizenComponent",class extends _.xs{f(){_.Qg(new cK)}a(){var a=bK;a&&_.Og[a]&&(delete _.Og[a],_.Pg.info("Removed Player factory: '"+a+"'"))}id(){return"tizen"}});var HJ="onbufferingstart",NJ="onbufferingprogress",OJ="onbufferingcomplete",PJ="onstreamcompleted",xJ="oncurrentplaytime",WJ="onevent",XJ="onsubtitlechange",YJ="ondrmevent",ZJ="onerror",JJ="preparingstart",KJ="preparingend";};f.call(g, window);
|
package/cl.ttml.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var ou='application/mp4; codecs\x3d"stpp.ttml"',pu='application/mp4; codecs\x3d"stpp.ttml.im1i"',qu='application/mp4; codecs\x3d"stpp.ttml.im1t"',ru="backgroundColor",su="direction",tu="displayAlign",uu="region",vu="textAlign",wu="textDecoration",xu="writingMode",yu=function(a,b,c){a=a.f;for(let d=a.length-1;0<=d;d--){const e=b.get(a[d]);if(c in e.a)return e.getAttribute(c)}return null},Gu=function(a,b){var c=null;if(zu.test(a)){{a=zu.exec(a);c=Number(a[1]);const d=Number(a[2]);let e=
|
|
2
|
+
Number(a[3]),f=Number(a[4]);f+=(Number(a[5])||0)/b.f;e+=f/b.frameRate;c=e+60*d+3600*c}}else Au.test(a)?c=Bu(Au,a):Cu.test(a)?c=Bu(Cu,a):Du.test(a)?(a=Du.exec(a),c=Number(a[1])/b.frameRate):Eu.test(a)?(a=Eu.exec(a),c=Number(a[1])/b.a):Fu.test(a)&&(c=Bu(Fu,a));return c},Bu=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)},Hu=function(a){return a.split(":").pop()},Iu=function(a){return a.replace(/(\d*\.?\d+)c/g,
|
|
3
|
+
"$1em")},Ku=function(a,b){for(;Ju.test(a);){const c=Ju.exec(a)[0];a=a.replace(c,`${parseInt(c,10)/b}em`)}return a},Lu=function(a){return a?a.replace(/(\d*\.?\d+)%/g,(b,c)=>`${c/100}em`):""},Mu=function(a,b,c){a=yu(a,b,vu);if(!a&&c&&(a=yu(c,b,vu),!a&&"rltb"===yu(c,b,xu)))return _.gf;switch(a){case _.Tc:return _.$q;case _.gf:case _.Kd:return _.gf;default:return _.Wd}},Nu=function(a,b,c){if(_.Yh(a.w))return document.createTextNode(_.bi(a.w||""));if(a.A)return _.Hn("br");const d=_.Hn("span");for(const e of a.f)_.In(d,
|
|
4
|
+
e);for(const e of a.j)d.appendChild(Nu(c.get(e),b,c));return d},Qu=function(a,b,c,d){const e=Ou.exec(a);a=Pu.exec(a);return typeof b===_.r&&0<b&&a?100*Number(a[c])/b:e?Number(e[c]):a?Number(a[c]):d},Ru=function(a,b){return typeof b===_.r&&0<b?_.hr:Pu.test(a)?0:_.hr},Su=function(a,b,c){return typeof a===_.r?a:typeof b===_.r?b:c},Tu=function(a,b){a=a.getAttribute("extent");return(a=Pu.exec(a))?Number(a[b]):null},Vu=function(a){a=a.getAttribute("cellResolution");return(a=Uu.exec(a))?Number(a[2]):null},
|
|
5
|
+
Xu=function(){return`${"inline-"}${Wu++}`},Zu=function(a){return Yu.some(b=>b in a.attributes)},$u=function(a,b){if(0===b.length)return[];const c=[];for(const d of b)a.a.has(d)&&c.push(...$u(a,a.a.get(d).f),d);return c},av=function(a){return Hu(a.g.nodeName)},dv=function(a,b){if(a.a.has(b))return a.a.get(b);var c=null,d=null;let e=[],f=[],g={};const h=b.parentNode;if(h&&a.a.has(h)){const k=a.a.get(h);e=[...k.l];-1===["#text","span","br"].indexOf(b.nodeName)&&(c=k.a,d=k.j,f=[...k.f],g={},bv.forEach(l=>
|
|
6
|
+
{l in k.attributes&&(g[l]=k.attributes[l])}))}if(b.nodeType===b.ELEMENT_NODE){b.hasAttribute(uu)&&(c=b.getAttribute(uu));b.hasAttribute(_.vf)&&f.push(...b.getAttribute(_.vf).split(" "));d=Array.from(b.attributes).map(k=>k.name);for(const k of d)d=Hu(k),g[d]=b.getAttribute(k);d=g.backgroundImage}c=new cv(b,c,d,e,f,g);a.a.set(b,c);return c},ev=function(a){return`${String(Math.floor(a/3600)).padStart(2,"0")}:${String(Math.floor(a/60%60)).padStart(2,"0")}:${String(Math.floor(a%60)).padStart(2,"0")}.${String(Math.floor(1E3*
|
|
7
|
+
a%1E3)).padStart(3,"0")}`},fv=class{constructor(a,b,c){this.g=a;this.f=b;this.a=c}getId(){return this.g}getAttribute(a){return this.a[a]}};var gv=class extends fv{constructor(a,b,c){super(a,[],c);this.j=b||""}};var hv=class extends fv{constructor(a,b,c){super(a,b,c)}};var zu=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Au=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,Cu=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d+)$/,Du=/^(\d*(?:\.\d*)?)f$/,Eu=/^(\d*(?:\.\d*)?)t$/,Fu=/^(?:(\d*(?:\.\d*)?)h)?(?:(\d*(?:\.\d*)?)m)?(?:(\d*(?:\.\d*)?)s)?(?:(\d*(?:\.\d*)?)ms)?$/,Ou=/^(\d{1,2}(?:\.\d+)?|100(?:\.0+)?)% (\d{1,2}(?:\.\d+)?|100(?:\.0+)?)%$/,Pu=/^(\d+)px (\d+)px$/,Uu=/^(\d+) (\d+)$/,Ju=/(\d+)px/,iv=/^(\d+px|\d+em|\d*\.?\d+c)$/,Yu=[ru,"color",su,tu,"fontFamily","fontSize","fontStyle","fontWeight",
|
|
8
|
+
"lineHeight","opacity","padding",vu,wu,"textOutline",xu,"zIndex"],bv=["begin",_.Kd];var jv=class extends hv{constructor(a,b,c,d,e,f,g){super(a,f,g);this.w=b;this.A=c;this.o=d;this.l=e;this.j=[]}build(a,b,c,d,e,f,g){let h=Gu(this.a.begin,b);b=Gu(this.a.end,b);if(null===h||null===b)return null;h+=c;b+=c;c=_.Hn(_.yd);for(const k of this.j)c.appendChild(Nu(g.get(k),e,g));g=new _.er(h,b,c.innerHTML.trim(),_.Cf);g.cssClassList=[...this.f];g.textAlign=Mu(this,e,null);g.writingMode=_.ar;g.line=-1;g.lineInterpretation=_.br;g.lineAlign=_.cr;g.containerRows=Su(null,Vu(a),15);if(this.o&&(f=
|
|
9
|
+
f.get(this.o))){g.region=f.build(a,e);g.textAlign=Mu(this,e,f);a:switch(yu(f,e,xu)){case "tb":case "tblr":a=_.Lf;break a;case "tbrl":a=_.Mf;break a;default:a=_.ar}g.writingMode=a;a:switch(yu(f,e,tu)){case _.Tc:a=50;break a;case "after":a=-1;break a;default:a=0}g.line=a;a:switch(yu(f,e,tu)){case _.Tc:a=1;break a;default:a=_.br}g.lineInterpretation=a;a:switch(yu(f,e,tu)){case _.Tc:e=_.Tc;break a;default:e=_.cr}g.lineAlign=e}this.l&&(d=d.get(this.l))&&(a=d,d=a.getAttribute("encoding"),e=a.getAttribute("imageType")||
|
|
10
|
+
a.getAttribute("imagetype"),a=a.j.trim(),d="PNG"===e&&"Base64"===d&&0<a.length?`data:image/png;base64,${a}`:null,g.backgroundImage=d||"");return g}};var kv=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*=Number(a[1])/Number(a[2]))}};var lv=class extends hv{constructor(a,b,c){super(a,b,c)}build(a,b){const c=new _.jr;c.id=this.getId();const d=Su(a.j.containerWidth,Tu(a,1),720);a=Su(a.j.containerHeight,Tu(a,2),480);a:switch(yu(this,b,tu)){case "after":var e="flex-start";break a;case _.Tc:e=_.Tc;break a;default:e="flex-end"}c.displayAlign=e;a:switch(yu(this,b,xu)){case "tb":case "tblr":e="row-reverse";break a;case "tbrl":e="row";break a;default:e=_.ld}c.writingMode=e;e=this.getAttribute("extent")||yu(this,b,"extent");c.width=Qu(e,
|
|
11
|
+
d,1,100);c.widthUnits=Ru(e,d);c.height=Qu(e,a,2,100);c.heightUnits=Ru(e,a);b=this.getAttribute("origin")||yu(this,b,"origin");c.viewportAnchorX=Qu(b,d,1,0);c.viewportAnchorY=Qu(b,a,2,0);c.viewportAnchorUnits=Ru(b,d);c.cssClassList=[...this.f];return c}};var mv=class extends fv{constructor(a,b){super("root-container",[],b);this.j=a}};var ov=class extends fv{constructor(a,b,c){super(a,b,c)}build(a){var b=null;var c=Vu(a);c&&(b=Su(a.j.containerHeight,Tu(a,2),480)/c);b=Su(a.j.fontSizeRadix,b,16);a=[];c=`::ttml .${this.g}, ::ttml .${this.g} * {`;for(const [g,h]of nv.entries())g in this.a&&(c+=`${h}:${Iu(this.a[g])};`);a:{if("unicodeBidi"in this.a){var d=this.a.unicodeBidi;var e="";switch(d){case "normal":case "embed":e=d;break;case "bidiOverride":e="bidi-override"}if(0<e.length){d=`unicode-bidi:${e};`;break a}}d=""}c+=d;a:{if("textOutline"in
|
|
12
|
+
this.a){d=this.a.textOutline.split(" ");e="black";let g=".4em";const h=d[0]&&d[0].trim(),k=d[1]&&d[1].trim(),l=d[2]&&d[2].trim();3===d.length&&!iv.test(h)&&iv.test(k)&&iv.test(l)?(e=h,g=k):2===d.length&&!iv.test(h)&&iv.test(k)?(e=h,g=k):2===d.length&&iv.test(h)&&iv.test(k)&&(g=h);if(""!==g){g=Iu(g);d="text-shadow:"+`0 0 ${g} ${e},`+`0 0 ${g} ${e},`+`0 0 ${g} ${e};`;break a}}d=""}c+=d;"textShadow"in this.a?(d=Lu(this.a.textShadow),d=Iu(d),d=`text-shadow:${d};`):d="";c=c+d+("fontFamily"in this.a?`font-family:${this.a.fontFamily.replace("monospaceSansSerif",
|
|
13
|
+
"monospace").replace("monospaceSerif","monospace").replace("proportionalSansSerif","sans-serif").replace("proportionalSerif","sans-serif").replace("sansSerif","sans-serif").replace("default","sans-serif")};`:"");a:{if(wu in this.a){d=this.a.textDecoration.split(" ");e=[];for(f of d)switch(f){case "underline":case "overline":e.push(f);break;case "lineThrough":e.push("line-through")}if(0<e.length){var f=`text-decoration:${e.join(" ")};`;break a}}f=""}"padding"in this.a?(d="border: solid transparent;border-width:"+
|
|
14
|
+
Iu(this.a.padding),d+=";"):d="";f=c=c+f+d;"lineHeight"in this.a?(c="",d=this.a.lineHeight,d=Iu(d),d=Ku(d,b),c+="line-height:",c+=d,c+=";"):c="";a.push(f+c+"}");a:{if("fontSize"in this.a&&(f=this.a.fontSize.split(" "),c=null,1===f.length&&(c=f[0]),2===f.length&&(c=f[1]),c)){c=c.trim();c=Iu(c);c=Ku(c,b);b=`font-size:${c};`;break a}b=null}b&&(f=`::ttml .${this.g} .clpp-text-wrapper {`,f+=b,f+="}",a.push(f),f=`::ttml .clpp-text-wrapper__${this.g} {`,f+=b,f+="}",a.push(f));return a}},nv=new Map([[ru,"background-color"],
|
|
15
|
+
["color","color"],[su,su],["fontStyle","font-style"],["fontWeight","font-weight"],["opacity","opacity"],["zIndex","z-index"]]);var pv=class{constructor(a){this.B=a;this.w=this.l=null;this.A=0;this.g=new Map;this.a=new Map;this.j=new Map;this.f=new Map;this.o=[]}Pc(){return this.o.map(a=>a.build(this.l,this.w,this.A,this.g,this.a,this.j,this.f)).filter(a=>null!=a)}},Wu=0;var sv=class{constructor(a){this.a=a.firstChild;this.f=new Set}Bc(){return!!this.a}next(){if(!this.a)return null;let a=this.a;do this.f.add(a),a.nodeType!==Node.TEXT_NODE&&!qv.has(Hu(a.nodeName))||rv.has(Hu(a.nodeName))||!a.firstChild||this.f.has(a.firstChild)?a.nextSibling?a=a.nextSibling:a=a.parentNode:a=a.firstChild;while(a&&(this.f.has(a)||a.nodeType!==Node.TEXT_NODE&&!qv.has(Hu(a.nodeName))));const b=this.a;this.a=a;return b}},qv=new Set(["tt","head","layout",_.le,_.Sd,uu,"styling",_.vf,"body",
|
|
16
|
+
_.yd,"p","span","br"]),rv=new Set([_.vf,_.Sd]);var cv=class{constructor(a,b,c,d,e,f){this.g=a;this.a=b;this.j=c;this.l=d;this.f=e;this.attributes=f}getId(){return this.attributes.id}};var uv=class{constructor(){this.a=new Map}};var vv=class{constructor(a){this.a=a;this.f=new DOMParser}parseInit(){}parseMedia(a,b,c){c&&c.length||(c=[a.byteLength]);var d=_.tg(this.a.ttml||{}),e=_.J(a,0,c[0]);e=_.Ph(e);if(""===e)return{cues:[],styles:[]};var f=null;try{f=this.f.parseFromString(e,_.zf)}catch(m){throw new _.H(_.G,2,2005,"Failed to parse TTML.");}d=new pv(d);e=new uv;f=new sv(f);b=b.periodStart;typeof b===_.r&&(d.A=b);b=c[0];for(var g=1;g<c.length;++g){var h=c[g],k=_.J(a,b,h);k=_.ci(k);const m=`urn:mpeg:14496-30:subs:${g}`;d.g.set(m,
|
|
17
|
+
new gv(m,k,{imageType:"PNG",encoding:"Base64"}));b+=h}for(;f.Bc();)a=f.next(),a=dv(e,a),c=d,b=a,"tt"===av(b)&&(c.l=new mv(c.B,Object.assign({},b.attributes))),c=d,b=a,"tt"===av(b)&&(c.w=new kv(b.attributes.frameRate,b.attributes.subFrameRate,b.attributes.frameRateMultiplier,b.attributes.tickRate)),c=d,b=a,av(b)!==_.Sd||b.attributes.begin||b.attributes.end||(g=`#${b.getId()}`,c.g.set(g,new gv(g,b.g.textContent,b.attributes))),c=d,g=a,av(g)===_.Sd&&g.attributes.begin&&g.attributes.end?(b=`#${Xu()}`,
|
|
18
|
+
g=new gv(b,g.g.textContent,g.attributes),c.g.set(b,g),c=g):c=null,c&&(a.j=c.getId()),c=d,b=a,av(b)===_.vf&&(g=b.getId()||Xu(),h=new ov(g,b.f,Object.assign({},b.attributes)),c.a.set(g,h),b.a&&c.j.get(b.a).f.push(g)),c=d,g=a,av(g)!==_.vf&&Zu(g)?(b=Xu(),g=new ov(b,[],Object.assign({},g.attributes)),c.a.set(b,g),c=g):c=null,c&&a.f.push(c.getId()),c=d,g=a,av(g)!==_.yd||!g.attributes.extent&&!g.attributes.origin?c=null:(b=Xu(),g=new lv(b,$u(c,g.f),Object.assign({},g.attributes)),c.j.set(b,g),c=g),c&&(a.a=
|
|
19
|
+
c.getId()),c=d,g=a,av(g)!==uu?c=null:(b=g.getId(),g=new lv(b,$u(c,g.f),Object.assign({},g.attributes)),c.j.set(b,g),c=g),c&&(a.a=c.getId()),c=d,g=a,b=g.l,-1===["#text","span","br"].indexOf(av(g))||0===b.length?c=null:(h=b[b.length-1],c.f.has(h)?(b=Xu(),g=new jv(b,"#text"===g.g.nodeName?g.g.textContent:null,"br"===av(g),g.a,g.j,$u(c,g.f),g.attributes),c.f.set(b,g),(c=c.f.get(h))&&c.j.push(b),c=g):c=null),c&&a.l.push(c.getId()),c=d,g=a,"p"===av(g)||g.j?(b=Xu(),g=new jv(b,null,!1,g.a,g.j,$u(c,g.f),g.attributes),
|
|
20
|
+
c.f.set(b,g),c.o.push(g),c=g):c=null,c&&a.l.push(c.getId());e=d.Pc();f=[];for(l of d.a.values())f.push(...l.build(d.l));var l=f;return{cues:e,styles:l}}};var wv=class{constructor(a){this.f=a}a(a){var b=new vv(this.f);({cues:a}=b.parseMedia(a,{periodStart:0,segmentStart:null,segmentEnd:0}));b="WEBVTT\n\n";for(const d of a){a=b;b=ev(d.startTime)+" --\x3e "+ev(d.endTime);{var c=d;const e=[];switch(c.textAlign){case _.Wd:e.push("align:left");break;case _.gf:e.push("align:right");break;case _.$q:e.push("align:middle");break;case _.Wd:e.push("align:start");break;case _.gf:e.push("align:end")}switch(c.writingMode){case _.Lf:e.push("vertical:lr");break;case _.Mf:e.push("vertical:rl")}c=
|
|
21
|
+
e.length?" "+e.join(" "):""}b=a+(b+c+"\n");b+=d.payload+"\n\n"}return _.Th(b)}},xv=class{probe(a,b){return a===_.Ac&&b===_.yf}create(a){return new wv(a)}};var yv=class{constructor(a){this.a=new vv(a);this.h=new _.R("clpp.ttml.Mp4TtmlParser")}parseInit(a){let b=!1;(new _.dl).L(_.oe,_.Wk).L(_.Bf,_.Wk).L(_.je,_.Wk).L(_.ne,_.Wk).L(_.sf,_.Wk).$(_.uf,_.Xk).L("stpp",c=>{b=!0;c.parser.stop()}).parse(a);if(!b)throw new _.H(_.G,2,2007);}parseMedia(a,b){let c=!1,d=[],e=[];const f=[];(new _.dl).L("moof",_.Wk).L("traf",_.Wk).$("subs",g=>{const h=_.P(g.reader);for(let k=0;k<h;++k){g.reader.skip(4);const l=_.Pk(g.reader);for(let m=0;m<l;++m){const n=1===g.version?
|
|
22
|
+
_.P(g.reader):_.Pk(g.reader);f.push(n);g.reader.skip(6)}}}).L(_.ie,_.Yk(g=>{c=!0;g=this.a.parseMedia(g,b,f);d=d.concat(g.cues);e=e.concat(g.styles)})).parse(a);c||this.h.warn("Couldn't find the mdat box");return{cues:d,styles:e}}};_.z("clpp.ttml.TtmlComponent",class extends _.xs{constructor(){super();this.j=new xv}f(){_.Jq[_.Ac]=vv;_.Jq[_.vc]=yv;_.Jq[ou]=yv;_.Jq[qu]=yv;_.Jq[pu]=yv;_.dj.push(this.j)}a(){_.Kq(_.Ac);_.Kq(_.vc);_.Kq(ou);_.Kq(qu);_.Kq(pu);_.fj(this.j)}id(){return"subtitles-ttml"}});};f.call(g, window);
|
package/cl.verimatrix.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var du="VerimatrixVCAS",eu="clpp.verimatrix.Vcas",fu="clpp.verimatrix.VcasComponent",hu=function(a,b){return a.C===gu?(a=Object.assign({},{deviceId:_.di(_.Vh(a.A))},a.a&&{authenticator:_.di(_.Vh(a.a))}),b+_.Li(a)):b},nu=class extends _.Pr{constructor(a){super(du);const b={};b[iu]=iu;b[ju]=ju;const {deviceId:c,authenticator:d,licenseRequestVuidLocation:e=gu,httpHeaderNames:f=b,widevineLicenseUrl:g,playReadyLicenseUrl:h,fairPlayLicenseUrl:k,fairPlayCertificateUrl:l,fairPlaySiteId:m,fairPlayAssetIdStrategy:n=
|
|
2
|
+
ku}=a;this.A=c;this.a=d;this.C=e;this.B=f;this.w=hu(this,g);this.o=hu(this,h);this.l=hu(this,k);this.j=l;this.G=m;this.F=n;this.h=new _.R(eu);_.Zh(this.w)?this.h.warn(_.Qb):this.Ma(_.sd,{licenseUrl:this.w,videoRobustness:[_.zb,void 0],audioRobustness:[_.yb,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:this.g.bind(this)}});_.Zh(this.o)?this.h.warn(_.nb):this.Ma(_.pd,{licenseUrl:this.o,videoRobustness:["3000"],audioRobustness:["2000"],
|
|
3
|
+
modifiers:{licenseRequest:this.g.bind(this)}});_.Zh(this.l)?this.h.warn(_.Ra):_.Zh(this.j)?this.h.warn(_.Qa):this.Ma(_.nd,{licenseUrl:this.l,certificateUrl:this.j,modifiers:{licenseRequest:this.J.bind(this),licenseResponse:this.K.bind(this),extractContentId:this.H.bind(this)}})}g(a,b){if(this.C===lu){a=this.B[ju];const c={};c[this.B[iu]]=this.A;this.a&&(c[a]=this.a);Object.keys(c).forEach(d=>{b.headers[d]=c[d]})}}H(a,b){a=_.bl(b);switch(this.F){case mu:a=_.Li({r:a,Nh:this.G},!0)}return a}J(a,b){this.g(a,
|
|
4
|
+
b);_.hl(b)}K(a,b){_.il(b)}};_.z(eu,nu);nu.prototype.constructor=nu.prototype.constructor;nu.NAME=du;var gu="query-string",lu="http-header";nu.LicenseRequestVuidLocation={QUERY_STRING:gu,HTTP_HEADER:lu};var iu="DeviceId",ju="Authenticator";nu.LicenseRequestHttpHeader={DEVICE_ID_HEADER:iu,AUTHENTICATOR_HEADER:ju};var ku="keyid",mu="contentid-siteid";nu.FairPlayAssetIdStrategy={KEYID:ku,CONTENTID_SITEID:mu};_.z(fu,class extends _.xs{constructor(){super();this.h=new _.R(fu)}a(){delete _.Ek.VerimatrixVCAS}g(a){a=a.getConfiguration();if(a.drm&&a.drm.env===du){({customData:a}=a.drm);if(!a)throw new _.H(_.G,7,7100,_.td);a=new nu(a);this.h.info("Registering the Verimatrix VCAS Ultra environment");_.Fk(a)}}id(){return"verimatrix-vcas"}});};f.call(g, window);
|
package/cl.vimond.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Vt="Registering listeners",Wt="clpp.vimond.VimondPlugin",Xt=function(a,b){a.m.trigger(new _.F(_.Sf,{detail:b}))},Yt=function(a,b,c){b&&(a.B=!0,a.g.stop());a.m.onError(new _.H(b?_.G:1,9,9201,c))},Zt=function(a,b){const c=a.m.getState();if(1===b)return["str-start",_.Oe];if(a.g)return[_.Kd,_.De];if(c===_.bn)return[_.Kd,null];if(c===_.jn)return[_.Md,_.De];b=_.De;if(c===_.en||c===_.nn||a.f)b=_.Oe;return["period",b]},$t=class{constructor(a,b,c,d,e){this.K=a;this.M=b;this.O=c;this.m=d;this.F=
|
|
2
|
+
e;this.a=new _.Xq;this.l=!0;this.f=this.j=this.B=!1;this.C=null;this.g=new _.kj(this.A.bind(this));this.h=new _.R("clpp.vimond.VimondDispatcher");this.o=this.w=0;this.m&&this.a&&(this.h.debug(Vt),this.a.on(this.m,_.qf,this.I.bind(this)),this.a.on(this.m,_.Af,this.J.bind(this)),this.a.on(this.m,_.Wb,this.G.bind(this)),this.a.on(this.m,_.Xb,this.H.bind(this)))}J(){this.f||(this.f=1<Math.abs(this.w-this.m.getPosition()));this.w=this.m.getPosition()}G(){this.h.debug("Ad break started");this.j=!0}H(){this.h.debug("Ad break stopped");
|
|
3
|
+
this.j=!1}I(a){const b=this;return _.x(function*(){const c=a.detail,d=c.currentState;b.h.debug(`State changed, prev: ${c.previousState} curr: ${d}`);b.B||b.j||(d!==b.C||b.f?b.l&&d!==_.nn||(b.f&&[_.mn,_.en].includes(d)?b.h.debug("Seeking"):(b.f&&d===_.nn&&(b.h.debug("Seeked"),b.f=!1),[_.nn,_.mn,_.jn,_.bn].includes(d)&&(b.C=d,yield b.A(),d===_.bn&&b.g.stop()))):b.h.debug("Ignore transition"))})}A(){const a=this;return _.x(function*(){{const n=Math.floor(Date.now()/1E3);0<a.o&&a.h.debug(`Last event was ${n-
|
|
4
|
+
a.o} seconds ago`);a.o=n}a.g.stop();a.g.ca(a.l?10:a.K);a.l=!1;try{{var b=a.F;b.f++;const q=_.sg(b.o);q.client.buildName=_.pa;q.client.buildVersion=_.da;var c=q.client;{const A=b.a.m.getDrmInfo();var d=A?A.keySystem:""}c.drm=d;q.client.pageUrl=document.location.href;q.client.streamUrl=b.a.m.getLoadedSource().url;q.client.userAgent=navigator.userAgent;q.client.videoFormat=b.a.m.getLoadedSource().type||"";var e=q.client;{const A=b.a.m.getLoadedSource();var f=((new _.al(A.url)).scheme||"").replace(":",
|
|
5
|
+
"")}e.videoProtocol=f;const u=Zt(b.a,b.f);q.client.playerEvent=u[0]||"";q.client.playerState=u[1]||"";q.progress.vod&&(q.progress.vod.position=b.a.getPosition());const v=q.progress.live;if(v){{var g=b.a;const A=g.m.getPresentationStartTime()||0,D=Math.floor(A+g.m.getPosition());var h=(new Date(1E3*D)).toISOString()}v.position=h;{var k=b.a;const A=k.m.getPosition(),D=k.m.getSeekRange().end;var l=30>Math.abs(D-A)}v.onLiveEdge=l;typeof v.liveResumePossible!==_.Kc&&(v.liveResumePossible=!0)}q.progress.eventNumber=
|
|
6
|
+
b.f;q.timestamp=(new Date).toISOString();b.h.debug("Fire an event");const y=_.si(b.l);y.method="POST";y.contentType="application/json";y.headers.Authorization=`Bearer ${b.g}`;y.body=_.Vh(JSON.stringify(q));var m=b.j.fetch(y).P}const n=yield m;Xt(a,n)}catch(n){m=n.code,b=n.data,[1002,1003].includes(m)?(a.h.debug("Unreachable service"),Xt(a,b),Yt(a,a.M,b)):1001===m?(a.h.debug("Generic service error"),Xt(a,b),Yt(a,a.O,b)):a.h.error(n.toString())}})}dispose(){this.h.debug(_.Jb);_.Sg(this.a);this.g.stop()}};var au=class{constructor(a,b,c,d,e){this.l=a;this.o=c;this.g=b;this.a=d;this.j=e;this.h=new _.R("clpp.vimond.VimondService");this.f=0}Ee(a){this.g=a}};var bu=class{constructor(a){this.m=a;this.a=new _.Xq;this.h=new _.R("clpp.vimond.VimondAdapter");this.f=this.g=!1;this.m&&this.a&&(this.h.debug(Vt),this.a.on(this.m,_.cf,this.o.bind(this)),this.a.on(this.m,_.Wb,this.j.bind(this)),this.a.on(this.m,_.Xb,this.l.bind(this)))}getPosition(){return Math.floor(this.m.getPosition())}o(){this.g=!0}j(){this.f=!0}l(){this.f=!1}dispose(){this.h.debug(_.Jb);_.Sg(this.a)}};var cu=class extends _.$s{constructor(){super();this.a=!1;this.h=new _.R(Wt);this.j=this.g=this.f=null}onPlayerCreated(){}onContentWillLoad(a){var b=a.getConfiguration();(this.a=!_.B(b.vimond)&&typeof b.vimond===_.te)?a.namespace()===_.dd&&(this.a=!1,this.h.info("Vimond does not report when casting.")):this.h.warn("Vimond plugin is loaded but not configured. Will do nothing.");if(this.a){b=a.getConfiguration().vimond;for(var c of["authToken","playerEventRequest"])if(!b[c]){this.h.warn(`${c} key is missing`);
|
|
7
|
+
a.onError(new _.H(1,9,9200));return}this.h.debug("Configuration is valid");c=b.failIfUnreachable;typeof c!==_.Kc&&(c=!0);var d=b.failOnError;typeof d!==_.Kc&&(d=!0);this.f=new bu(a);this.g=new au(b.playerEventRequest.uri,b.authToken,b.playerEventRequest.body,this.f,a.getNetworkEngine());this.j=new $t(b.playerEventRequest.eventInterval,c,d,a,this.g)}}onPlayerWillRelease(){this.a&&(this.f&&this.f.dispose(),this.j&&this.j.dispose(),this.j=this.g=this.f=null)}onPlayerWillDestroy(){}id(){return"vimond"}Ee(a){this.a&&
|
|
8
|
+
this.g&&this.g.Ee(a)}};_.z(Wt,cu);cu.prototype.updateAuthToken=cu.prototype.Ee;cu.Id="vimond";_.oo(new class{create(){return new cu}});};f.call(g, window);
|
package/cl.vr.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Bt="touchmove",Ct="touchstart",Et=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new Dt(a/d*e,b/d*e,0/d*e,Math.cos(c))},Ft=function(a,b){const c=a.x,d=a.y,e=a.a;a=a.f;b.set(1-2*(d*d+e*e),2*(c*d-e*a),2*(c*e+d*a),0,2*(c*d+e*a),1-2*(c*c+e*e),2*(d*e-c*a),0,2*(c*e-d*a),2*(d*e+c*a),1-2*(c*c+d*d),0,0,0,0,1)},Gt=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},Ht=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},It=function(a,b,c){const d=b.x,e=b.y;
|
|
2
|
+
b=b.a;const f=c.x,g=c.y;c=c.a;a.x=e*c-b*g;a.y=b*f-d*c;a.a=d*g-e*f;return a},Jt=function(a,b,c){b=b.a;c=c.a;const d=a.a;let e=0;do d[4*e]=b[4*e]*c[0]+b[4*e+1]*c[4]+b[4*e+2]*c[8]+b[4*e+3]*c[12],d[4*e+1]=b[4*e]*c[1]+b[4*e+1]*c[5]+b[4*e+2]*c[9]+b[4*e+3]*c[13],d[4*e+2]=b[4*e]*c[2]+b[4*e+1]*c[6]+b[4*e+2]*c[10]+b[4*e+3]*c[14],d[4*e+3]=b[4*e]*c[3]+b[4*e+1]*c[7]+b[4*e+2]*c[11]+b[4*e+3]*c[15];while(4>++e);return a},Lt=function(a){var b=new Kt(0,0,0),c=new Kt(0,0,1);const d=new Kt,e=new Kt,f=new Kt;a=a.a;var g=
|
|
3
|
+
new Kt(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();Gt(f,1/g);c=It(d,c,f);g=c.length();Gt(c,1/g);It(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-Ht(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-Ht(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-Ht(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},Mt=function(a,b,c){b=a.a.createShader(b?a.a.FRAGMENT_SHADER:a.a.VERTEX_SHADER);a.a.shaderSource(b,c);a.a.compileShader(b);if(!a.a.getShaderParameter(b,a.a.COMPILE_STATUS))throw new _.H(1,9,9004,"Unable to compile GL shader: "+
|
|
4
|
+
a.a.getShaderInfoLog(b));return b},Nt=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(Bt,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},Ot=function(a){const b=Et(1,0,a.l*Math.PI/180);Ft(Et(0,1,a.j*Math.PI/180),a.R);Ft(b,a.T);Lt(a.aa);Jt(a.ba,a.R,a.aa);Jt(a.G,a.T,a.ba)},Dt=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var Kt=class{constructor(a,b,c){this.x=a||0;this.y=b||0;this.a=c||0}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.a*this.a)}};var Pt=class{constructor(){this.a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}set(a,b,c,d,e,f,g,h,k,l,m,n,q,u,v,y){const A=this.a;A[0]=a;A[4]=b;A[8]=c;A[12]=d;A[1]=e;A[5]=f;A[9]=g;A[13]=h;A[2]=k;A[6]=l;A[10]=m;A[14]=n;A[3]=q;A[7]=u;A[11]=v;A[15]=y;return this}};var Qt=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=Mt(this,!1,"uniform highp mat4 Mvpm;\nattribute highp vec4 aPosition;\nattribute highp vec2 aTexCoord;\nvarying highp vec2 oTexCoord;\nvoid main()\n{\n gl_Position \x3d Mvpm * aPosition;\n oTexCoord \x3d aTexCoord;\n}\n");this.j=Mt(this,!0,"precision highp float;\nuniform sampler2D Texture0;\nvarying highp vec2 oTexCoord;\nvoid main()\n{\n gl_FragColor \x3d texture2D(Texture0, oTexCoord);\n gl_FragColor.w \x3d 1.0;\n}\n");
|
|
5
|
+
a.attachShader(this.f,this.l);a.attachShader(this.f,this.j);a.bindAttribLocation(this.f,0,"aPosition");a.bindAttribLocation(this.f,1,"aTexCoord");a.linkProgram(this.f);if(!a.getProgramParameter(this.f,a.LINK_STATUS))throw new _.H(1,9,9004,"Unable to initialize shader");a.useProgram(this.f);this.g=a.getUniformLocation(this.f,"Mvpm");a.uniform1i(a.getUniformLocation(this.f,"Texture0"),0);a.useProgram(null)}};var Rt=class{constructor(a){this.a=a;var b=[];let c,d;for(d=0;70>=d;d++){var e=3>=d?d/4/64:67<=d?(63+(d-66)/4)/64:(d-3)/64;var f=(e-.5)*Math.PI;const g=Math.cos(f);for(c=0;128>=c;c++){const h=c/128,k=(.5+h)*Math.PI*2;128===c?(b.push(b[645*d]),b.push(b[645*d+1]),b.push(b[645*d+2])):(b.push(100*Math.cos(k)*g),b.push(100*Math.sin(k)*g),b.push(100*Math.sin(f)));0===d||70===d?b.push(.5):b.push(1-h);b.push(1-e)}}e=[];for(c=0;128>c;c++)for(d=0;70>d;d++)f=5*(129*d+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+
|
|
6
|
+
4]),f=5*(129*d+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*d+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]);this.g=e.length/5;this.f=a.createBuffer();b=new Float32Array(e);a.bindBuffer(a.ARRAY_BUFFER,this.f);a.bufferData(a.ARRAY_BUFFER,b,a.STATIC_DRAW)}};var St=class{constructor(a,b){this.a=b;this.f=this.a.createTexture();b.activeTexture(b.TEXTURE0);b.bindTexture(b.TEXTURE_2D,this.f);b.texImage2D(b.TEXTURE_2D,0,b.RGB,b.RGB,b.UNSIGNED_BYTE,a);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.bindTexture(b.TEXTURE_2D,null)}};var Tt={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},Ut=class extends _.$s{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.Z=this.G=this.f=this.a=this.m=null;this.h=new _.R("clpp.vr");this.H=70;this.W=1;this.O=this.M=!1;this.F=()=>{if(this.a&&this.f){this.f.viewport(0,0,this.a.width,this.a.height);{const a=this.K.a,b=Math.tan(.5*this.H*Math.PI/180);a[0]=1/(this.a.width/this.a.height*b);a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1/
|
|
7
|
+
b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2E3/-1999.9;a[11]=200/-1999.9;a[12]=0;a[13]=0;a[14]=-1;a[15]=1}}};this.l=this.j=0;this.g={x:0,y:0};this.R=new Pt;this.T=new Pt;this.aa=new Pt;this.ba=new Pt;this.A=this.ja.bind(this);this.B=this.Oa.bind(this);this.J=this.fa.bind(this)}onPlayerCreated(a){this.h.info("Player created");this.m=a}onContentWillLoad(a){const b=a.getConfiguration();if(b.vr&&b.vr.enable){{var c=b.vr,d=c.fieldOfView;const e=c.sensitivity,f=c.invertHorizontalControl;c=c.invertVerticalControl;
|
|
8
|
+
if(void 0!==d&&_.Ag(d))this.H=d;else throw new _.H(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.Ag(e)&&0<e)this.W=e;else throw new _.H(1,7,7100,"sensitivity configuration must be a positive number");this.M=!!f;this.O=!!c}if(a=a.getSurface())if((d=a.getMedia())&&d.tagName.toLowerCase()===_.w){this.h.info("Initialize VR Surface");if(!this.a){this.a=document.createElement("canvas");this.a.style.width="100%";this.f=this.a.getContext("webgl",Tt)||this.a.getContext("experimental-webgl",
|
|
9
|
+
Tt);if(!this.f)throw new _.H(1,9,9003,"Unable to create GL context");this.G=new Pt;Lt(this.G);this.Z=new Rt(this.f);this.C=new Qt(this.f);this.I=new Pt;this.K=new Pt;this.o=this.w=null;this.a.addEventListener(_.ff,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(Ct,this.J,!1));this.F();this.V()}else this.h.info("No video element found, can not initialize VR plugin");else this.h.info("No surface found, can not initialize VR plugin")}}onPlayerWillRelease(){this.h.info("Releasing VR plugin resources");
|
|
10
|
+
this.w&&cancelAnimationFrame(this.w);this.g.x=0;this.l=this.j=this.g.y=0;this.f&&(delete this.f,this.f=null);this.a&&(Nt(this),this.a.removeEventListener(_.ff,this.F),this.a.parentElement.removeChild(this.a),this.a.removeEventListener("mousedown",this.J,!1),delete this.a,this.a=null)}onPlayerWillDestroy(){const a=this;return _.x(function*(){a.m=null})}id(){return"vr"}V(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.w){this.w=requestAnimationFrame(this.V.bind(this));
|
|
11
|
+
var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new St(a,b));b.clearColor(0,0,0,1);b.clearDepth(1);b.clearStencil(0);b.enable(b.DEPTH_TEST);b.depthFunc(b.LEQUAL);b.frontFace(b.CCW);b.cullFace(b.BACK);b.disable(b.CULL_FACE);b.enable(b.BLEND);b.blendFunc(b.SRC_ALPHA,b.ONE_MINUS_SRC_ALPHA);b.depthMask(!0);b.clearColor(0,0,0,1);b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);if(this.o){var c=this.C;c.a.useProgram(c.f);{c=Jt(this.I,this.K,this.G).a;let d;d=c[1];c[1]=c[4];c[4]=d;d=c[2];c[2]=
|
|
12
|
+
c[8];c[8]=d;d=c[6];c[6]=c[9];c[9]=d;d=c[3];c[3]=c[12];c[12]=d;d=c[7];c[7]=c[13];c[13]=d;d=c[11];c[11]=c[14];c[14]=d}b.uniformMatrix4fv(this.C.g,!1,this.I.a);c=this.o;c.a.activeTexture(c.a.TEXTURE0);c.a.bindTexture(c.a.TEXTURE_2D,c.f);b.texImage2D(b.TEXTURE_2D,0,b.RGB,b.RGB,b.UNSIGNED_BYTE,a);a=this.Z;a.a.bindBuffer(a.a.ARRAY_BUFFER,a.f);a.a.vertexAttribPointer(0,3,a.a.FLOAT,!1,20,0);a.a.vertexAttribPointer(1,2,a.a.FLOAT,!1,20,12);a.a.enableVertexAttribArray(0);a.a.enableVertexAttribArray(1);a.a.drawArrays(a.a.TRIANGLES,
|
|
13
|
+
0,a.g);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}fa(a){this.h.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===Ct)a.type===Ct?a.touches[0]&&(this.g.x=a.touches[0].clientX,this.g.y=a.touches[0].clientY):(this.g.x=a.clientX,this.g.y=a.clientY),this.h.debug("Mouse Start coordinates:",this.g,a),this.a.addEventListener("mousemove",this.A,!1),this.a.addEventListener(Bt,this.A,!1),this.a.addEventListener("mouseup",this.B,!1),this.a.addEventListener("touchend",
|
|
14
|
+
this.B,!1)}ja(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===Bt&&a.touches[0]&&(b=a.touches[0].clientX,c=a.touches[0].clientY);a=this.g.x-b;const d=this.g.y-c;this.g.x=b;this.g.y=c;b=this.W;const {Wf:e,Xf:f}={Wf:a*b*(this.M?-1:1),Xf:d*b*(this.O?-1:1)};this.j+=e;this.l+=f;Ot(this)}Oa(a){this.h.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();Nt(this)}Ig(a,b){this.l=b;this.j=a;Ot(this)}pg(){return{x:this.j,y:this.l}}Wg(a){this.H=a;this.F()}};
|
|
15
|
+
_.z("clpp.vr.VrPlugin",Ut);Ut.prototype.setCameraFieldOfView=Ut.prototype.Wg;Ut.prototype.getCameraCoordinates=Ut.prototype.pg;Ut.prototype.moveCamera=Ut.prototype.Ig;Ut.Id="vr";_.oo(new class{create(){return new Ut}});};f.call(g, window);
|
package/cl.vtt.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var it=" The setting will be ignored.",jt="VTT parser encountered an invalid VTT setting: ",kt="application/x-subrip",lt="text/srt",mt='text/vtt; codecs\x3d"vtt"',nt='text/vtt; codecs\x3d"wvtt"',ot=function(a){return a.a==a.f.length?null:(a=_.ji(a,/[^ \t\n]*/gm))?a[0]:null},pt=function(a){_.ji(a,/[ \t]+/gm)},qt=function(a){let b="";for(a=a.split(/\n/);3<a.length;){for(var c=3;c<a.length;++c)a[2]+=`\n${a[c]}`;a.splice(3,a.length-3)}if(3!==a.length)return"";c=0;!a[0].match(/\d+:\d+:\d+/)&&
|
|
2
|
+
a[1].match(/\d+:\d+:\d+/)&&(b+=`${a[0].match(/\w+/)}\n`,++c);if(a[c].match(/\d+:\d+:\d+/)){const d=a[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);if(d)b+=`${d[1]}:${d[2]}:${d[3]}.${d[4]} --> `,b+=`${d[5]}:${d[6]}:${d[7]}.${d[8]}\n`,++c;else return""}else return"";a[c]&&(b+=`${a[c]}\n\n`);return b},rt=function(a){a=_.ji(a,/(?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{2,3})/g);if(null==a)return null;const b=Number(a[2]),c=Number(a[3]);return 59<b||59<c?null:Number(a[4])/1E3+
|
|
3
|
+
c+60*b+3600*(Number(a[1])||0)},tt=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"==b?a.textAlign=_.$q:a.textAlign=_.fr[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"==d[1]?_.Lf:_.Mf;else if(d=/^size:([\d.]+)%$/.exec(b))a.size=Number(d[1]);else if(d=/^position:([\d.]+)%(?:,(line-left|line-right|center|start|end))?$/.exec(b))a.position=Number(d[1]),d[2]&&(b=d[2],a.positionAlign=b==_.ce||b==_.pf?_.ce:b==_.de||b==_.Kd?_.de:
|
|
4
|
+
_.Tc);else if(d=/^region:(.*)$/.exec(b)){if(b=st(c,d[1]))a.region=b}else{a:{if(c=/^line:([\d.]+)%(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=1,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.gr[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.br,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.gr[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},st=function(a,b){a=a.filter(c=>c.id==b);return a.length?a[0]:(_.C("VTT parser could not find a region with id: ",
|
|
5
|
+
b," The region will be ignored."),null)},vt=function(a,b,c){let d,e,f;(new _.dl).L("payl",_.Yk(g=>{d=_.Ph(g)})).L("iden",_.Yk(g=>{e=_.Ph(g)})).L("sttg",_.Yk(g=>{f=_.Ph(g)})).parse(a);return d?ut(d,e,f,b,c):null},ut=function(a,b,c,d,e){a=new _.er(d,e,a,_.Yf);b&&(a.id=b);if(c)for(b=new _.ki(c),c=ot(b);c;)tt(a,c,[])||_.C(jt,c,it),pt(b),c=ot(b);return a},wt=class{a(a){a=_.Ph(a);a=a.replace(/\r+/g,"");a=a.replace(/^\s+|\s+$/g,"");a=a.replace(/<[a-zA-Z\\/][^>]*>/g,"");a=a.split("\n\n");let b="";if(0<a.length){b+=
|
|
6
|
+
"WEBVTT\n\n";for(const c of a)b+=qt(c)}return _.Th(b)}},xt=class{create(){return new wt}probe(a,b){return(a===lt||a===kt)&&b===_.yf}};var yt=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.Ph(a);a=a.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n");var c=a.split(/\n{2,}/m);if(!/^WEBVTT($|[ \t\n])/m.test(c[0]))throw new _.H(_.G,2,2E3);a=b.periodStart;if(c[0].includes("X-TIMESTAMP-MAP")){var d=c[0].match(/LOCAL:((?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{3}))/m),e=c[0].match(/MPEGTS:(\d+)/m);if(d&&e){a=rt(new _.ki(d[1]));if(null==a)throw new _.H(_.G,2,2E3);e=Number(e[1]);for(d=b.segmentStart;95443.7176888889<=d;)d-=95443.7176888889,e+=
|
|
7
|
+
8589934592;a=b.periodStart+e/9E4-a}}else this.a.streaming.relativeTextTimestamp&&null!==b.segmentStart&&(a=b.segmentStart);b=[];for(var f of c)if(/^region/.test(f.toLowerCase())){e=new _.ki(f.replace(/\n/g," "));d=new _.jr;ot(e);pt(e);for(var g=ot(e);g;){a:{var h;var k=d;var l=g;if(h=/^id:(.*)$/.exec(l))k.id=h[1];else if(h=/^width:(\d{1,2}|100)%$/.exec(l))k.width=Number(h[1]);else if(h=/^lines:(\d+)$/.exec(l))k.height=Number(h[1]),k.heightUnits=2;else if(h=/^regionanchor:(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(l))k.regionAnchorX=
|
|
8
|
+
Number(h[1]),k.regionAnchorY=Number(h[2]);else if(h=/^viewportanchor:(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(l))k.viewportAnchorX=Number(h[1]),k.viewportAnchorY=Number(h[2]);else if(/^scroll:up$/.exec(l))k.scroll="up";else{k=!1;break a}k=!0}k||_.C("VTT parser encountered an invalid VTTRegion setting: ",g,it);pt(e);g=ot(e)}e=d;b.push(e)}f=[];for(var m of c)if(/^style/.test(m.toLowerCase())){e=m.replace(/^style/i,"").replace(/\n/g," ");d=/[^{}]+{[^{}]*}/g;do(g=d.exec(e))&&f.push(g[0]);while(g)}m=[];for(const n of c)if(n.includes("--\x3e")){a:{l=
|
|
9
|
+
n.split("\n");h=a;c=b;if(1==l.length&&!l[0]||/^NOTE($|[ \t])/.test(l[0])||"STYLE"==l[0]){c=null;break a}e=null;l[0].includes("--\x3e")||(e=l[0],l.splice(0,1));d=new _.ki(l[0]);g=rt(d);const q=_.ji(d,/[ \t]+--\x3e[ \t]+/g);k=rt(d);if(null==g||null==q||null==k)throw new _.H(_.G,2,2001);g+=h;k+=h;l=l.slice(1).join("\n").trim();g=new _.er(g,k,l,_.Yf);e&&(g.id=e);pt(d);for(k=ot(d);k;)tt(g,k,c)||_.C(jt,k,it),pt(d),k=ot(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var zt=class extends yt{parseMedia(a,b){return super.parseMedia((new wt).a(a),b)}};var At=class{constructor(){this.a=null;this.h=new _.R("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.dl).L(_.oe,_.Wk).L(_.Bf,_.Wk).L(_.je,_.Wk).$("mdhd",c=>{0==c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.P(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.P(c.reader),c.reader.skip(8));c.reader.skip(4)}).L(_.ne,_.Wk).L(_.sf,_.Wk).$(_.uf,_.Xk).L("wvtt",()=>{b=!0}).parse(a);if(!this.a)throw new _.H(_.G,2,2008);if(!b)throw new _.H(_.G,2,2008);}parseMedia(a,b){if(!this.a)throw this.h.error("No init segment for MP4+VTT!"),
|
|
10
|
+
new _.H(_.G,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.dl).L("moof",_.Wk).L("traf",_.Wk).$("tfdt",q=>{g=!0;c=0==q.version?_.P(q.reader):_.Rk(q.reader)}).$("tfhd",q=>{var u=q.flags;q=q.reader;q.skip(4);u&1&&q.skip(8);u&2&&q.skip(4);l=u&8?_.P(q):null}).$("trun",q=>{h=!0;{var u=q.version,v=q.flags;q=q.reader;const y=_.P(q);v&1&&q.skip(4);v&4&&q.skip(4);const A=[];for(let D=0;D<y;D++){const E={duration:null,sampleSize:null,Be:null};v&256&&(E.duration=_.P(q));v&512&&(E.sampleSize=
|
|
11
|
+
_.P(q));v&1024&&q.skip(4);v&2048&&(E.Be=0==u?_.P(q):_.Qk(q));A.push(E)}d=A}}).L(_.ie,_.Yk(q=>{k=!0;e=q})).parse(a);if(!k&&!g&&!h)throw new _.H(_.G,2,2008);a=c;var m=new DataView(e.buffer,e.byteOffset,e.byteLength);m=new _.Ql(m,!1);for(const q of d){const u=q.duration||l,v=q.Be?c+q.Be:a;a=v+(u||0);let y=0;do{const A=_.P(m);y+=A;var n=_.P(m);n=_.Vk(n);let D=null;"vttc"==n?8<A&&(D=_.Tk(m,A-8)):("vtte"!=n&&this.h.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));u?D&&f.push(vt(D,b.periodStart+v/this.a,
|
|
12
|
+
b.periodStart+a/this.a)):this.h.error("WVTT sample duration unknown, and no default found!")}while(q.sampleSize&&y<q.sampleSize)}return{cues:f.filter(_.kh),styles:[]}}};_.z("clpp.vtt.VttComponent",class extends _.xs{constructor(){super();this.j=new xt}f(){_.Jq[_.yf]=yt;_.Jq[mt]=yt;_.Jq[nt]=yt;_.Jq[_.zc]=At;_.Jq[lt]=zt;_.Jq[kt]=zt;_.dj.push(this.j)}a(){_.Kq(_.yf);_.Kq(mt);_.Kq(nt);_.Kq(_.zc);_.Kq(lt);_.Kq(kt);_.fj(this.j)}id(){return"subtitles-vtt"}});};f.call(g, window);
|
package/cl.youbora.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var at="clpp.npaw.YouboraPlugin",bt="content.isLive",ct=function(a,b){if(b.namespace()===_.dd)return a.h.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.yg(c))return a.h.warn("Youbora plugin is loaded but not configured. Will do nothing."),!1;if(!c.accountCode)return a.h.warn("accountCode key is missing in Youbora config"),b.onError(new _.H(1,9,9101)),!1;if(_.B(window.youbora))return a.h.warn("Youbora SDK not found."),b.onError(new _.H(1,9,
|
|
2
|
+
9100)),!1;"6.8.49"!==youbora.VERSION&&(a.h.warn("Youbora SDK version is not supported. The supported version is 6.8.49, found "+`version ${youbora.VERSION}. Some or all features of YouboraPlugin `+"may not work correctly."),b.onError(new _.H(1,9,9102)));return!0},dt=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,message:b.message,severity:b.severity}),et=(a,b,c,d)=>{b=dt(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===
|
|
3
|
+
a.code?"ad error":_.Md;b.severity===_.G?(d.fireFatalError(b.code,b.message,b.metadata),c.debug(`Reporting "fatal ${a}" to Youbora`,b.code,b)):(d.fireError(b.code,b.message,b.metadata),c.debug(`Reporting "${a}" to Youbora`,b.code,b));return b};var ft=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.a=new _.Xq;this.h=new _.R("clpp.npaw.YouboraAdapter");this.g=this.w=!1;this.registerListeners()}getPlayhead(){return this.getIsLive()?-1:this.m.getPosition()}getDuration(){return this.m.getDuration()}getRendition(){let c,d,e;var f=this.m.getTrackManager();f&&(f=f.ia())&&(c=f.width,d=f.height,e=f.bandwidth);c&&d&&e||(f=this.l(),c=c||f.width,d=d||f.height,e=e||f.streamBandwidth);return youbora.Util.buildRenditionString(c,
|
|
4
|
+
d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.getLoadedSource();return c&&c.url}getBitrate(){return this.l().streamBandwidth}getThroughput(){return this.l().estimatedBandwidth}getPlayrate(){return this.m.getPlaybackRate()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.La())?c.frameRate:null}getPlayerName(){return _.pa}getVersion(){return"1.1.1-beta.2-castlabsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.m&&this.a&&(this.h.debug("registering listeners"),
|
|
5
|
+
youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.qf,this.I.bind(this)),this.a.on(this.m,_.Md,this.F.bind(this)),this.a.on(this.m,_.Jf,this.H.bind(this)),this.a.on(this.m,_.If,this.G.bind(this)),this.a.on(this.m,_.nc,this.B.bind(this)),this.a.on(this.m,_.Pc,this.C.bind(this)))}unregisterListeners(){this.h.debug(_.Jb);_.Sg(this.a)}dispose(){super.dispose()}l(){return this.m.getStats()||_.Xm()}o(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;this.j("state change",c);if(c)switch(c.currentState){case _.ln:this.o()&&
|
|
6
|
+
this.f();break;case _.nn:this.f();this.A();this.fireResume();this.fireBufferEnd();break;case _.mn:this.o()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.kn:this.fireBufferEnd();this.fireStop();break;case _.bn:this.fireBufferEnd();this.w&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case _.en:this.fireBufferBegin();break;default:this.h.debug("Unhandled state",c)}}f(){this.plugin.isInitiated||(this.g=!1,this.fireInit())}A(){var c=this.m.getDrmInfo();c&&
|
|
7
|
+
(c=c.keySystem,(c=c.startsWith(_.sd)?"Widevine":c.startsWith(_.nd)?"FairPlay":c.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":c.startsWith(_.Be)?"ClearKey":c.startsWith(_.md)?"Primetime":c)&&this.plugin.setOptions({"content.drm":c}));this.fireJoin()}F(c){!(c=c.detail)||this.g||10003===c.code&&this.plugin.getAdsAdapter()||(c=et(c,this.m,this.h,this))&&c.severity===_.G&&(this.g=!0)}H(){this.j(_.jf);this.m.isEnded()||(this.f(),this.fireSeekBegin())}G(){this.j(_.hf);this.fireSeekEnd()}B(c){this.h.debug("adsTimeline",
|
|
8
|
+
c);c=c.adsTimeline;this.w=!!c&&c.jb()}C(c){this.h.debug("Casting",c);this.fireCasted()}j(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var gt=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.j=this.a=null;this.f=new _.Xq;this.h=new _.R("clpp.npaw.YouboraAdsAdapter");this.registerListeners();this.l=!1}getDuration(){return this.a&&this.a.getDuration()}getRendition(){let c=null;this.a&&(c=youbora.Util.buildRenditionString(this.a.vb(),this.a.ub(),this.a.ib()));return c}getBitrate(){return this.a&&this.a.ib()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&this.a.getMediaUrl()}getTitle(){return this.a&&
|
|
9
|
+
this.a.getTitle()}getProvider(){return this.a&&this.a.getAdvertiserName()}getCreativeId(){return this.a&&this.a.getCreativeId()}getPosition(){const c=youbora.Constants.AdPosition;let d=null;if(this.a)switch(this.a.Va()){case 0:d=c.Preroll;break;case 2:d=c.Postroll;break;case 1:d=c.Midroll}this.h.debug("Ad position",d);return d}getIsSkippable(){return this.a&&-1!==this.a.getSkipTimeOffset()}getAudioEnabled(){const c=this.m.getAdsManager();return c&&0<c.getVolume()}getExpectedBreaks(){return this.j&&
|
|
10
|
+
this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.xb()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.j&&this.j.getCuePoints().map(c=>-1===c?this.m.getDuration():c)}getIsFullscreen(){return this.m.getSurface().isFullscreen()}getIsVisible(){var c=this.m.getSurface().getContainer();c=youbora.Util.calculateAdViewability(c);this.h.debug("is container visible",c);return c}getPlayerName(){return _.pa}getVersion(){return"1.1.1-beta.2-castlabsadsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.m&&
|
|
11
|
+
this.f&&(this.f.on(this.m,_.nc,this.O.bind(this)),this.f.on(this.m,_.jc,this.M.bind(this)),this.f.on(this.m,_.fc,this.I.bind(this)),this.f.on(this.m,_.hc,this.J.bind(this)),this.f.on(this.m,_.ac,this.G.bind(this)),this.f.on(this.m,_.bc,this.o.bind(this,1)),this.f.on(this.m,_.ec,this.o.bind(this,2)),this.f.on(this.m,_.lc,this.o.bind(this,3)),this.f.on(this.m,_.$b,this.F.bind(this)),this.f.on(this.m,_.ic,this.K.bind(this)),this.f.on(this.m,_.Md,this.H.bind(this)),this.f.on(this.m,_.Wb,this.A.bind(this)),
|
|
12
|
+
this.f.on(this.m,_.Xb,this.B.bind(this)),this.f.on(this.m,_.Zb,this.C.bind(this)),this.f.on(this.m,_.gc,this.w.bind(this)))}unregisterListeners(){_.Sg(this.f)}dispose(){super.dispose()}O(c){this.h.debug("ad timeline changed",c);this.j=c.adsTimeline}M(c){this.a=c.ad;this.g("ad start",this.a);this.fireStart();this.fireJoin()}G(){this.g("ad ended");this.fireStop()}I(){this.g("ad pause");this.w();this.firePause()}J(){this.g("ad resume");this.w();this.fireResume()}C(){this.l=!0;this.g("ad buffering started");
|
|
13
|
+
this.fireBufferBegin()}w(){this.l&&(this.g("ad buffering ended"),this.l=!1,this.fireBufferEnd())}o(c){this.g("ad quartile",c);this.fireQuartile(c)}F(){this.g("ad clicked");const c=this.a&&this.a.Nb();this.h.debug("ad click through url: ",c);this.fireClick(c)}K(){this.g("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.g("ad break start",this.a);this.fireBreakStart()}B(){this.g("ad break stop");this.fireBreakStop();if(this.getPosition()===youbora.Constants.AdPosition.Postroll){const c=this.plugin.getAdapter();
|
|
14
|
+
c&&c.fireStop()}}H(c){(c=c.detail)&&10003===c.code&&et(c,this.m,this.h,this)}g(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var ht=class extends _.$s{constructor(){super();this.a=null;this.h=new _.R(at);this.m=null}xe(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(ft(this.m)),this.a.setAdsAdapter(gt(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;ct(this,a)&&(a=a.getConfiguration().youbora,this.xe(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(ct(this,a)){a=a.getConfiguration();var c=
|
|
15
|
+
a.youbora;void 0===c[bt]&&(c[bt]=b.isLive);void 0===c["content.title"]&&(c["content.title"]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.xe(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.z(at,ht);ht.prototype.getAdsAdapter=ht.prototype.getAdsAdapter;ht.prototype.getAdapter=ht.prototype.getAdapter;ht.prototype.setYouboraPlugin=ht.prototype.xe;ht.Id="youbora";_.oo(new class{create(){return new ht}});};f.call(g, window);
|