@libmedia/avplayer 0.6.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[531],{85947:(a,t,e)=>{e.d(t,{A:()=>s});var i=e(134);class s{constructor(){(0,i.A)(this,"type",-1),(0,i.A)(this,"onStreamAdd",void 0)}async destroy(a){}}},92047:(a,t,e)=>{e.r(t),e.d(t,{default:()=>k});var i=e(134),s=e(63939),r=e(50932),n=e(4624),o=e(9705),d=e(65977),c=e(74963),p=e(85947),l=e(85428),f=e(9690),m=e(72739),u=e(14686),w=e(37837),g=e(71517),h=e(44328),z=e(77231),v=e(39381);const U="src/avformat/formats/IMovFormat.ts";class k extends p.A{constructor(a={}){super(),(0,i.A)(this,"type",1),(0,i.A)(this,"context",void 0),(0,i.A)(this,"options",void 0),this.options=a,this.context=(0,f.A)(),a.ignoreEditlist&&(this.context.ignoreEditlist=!0)}init(a){a.ioReader&&a.ioReader.setEndian(!0)}async readHeader(a){try{const t=await a.ioReader.fileSize();let e=0,i=await a.ioReader.readUint32(),s=await a.ioReader.readUint32();s===(0,d.A)("ftyp")?await c.E6(a.ioReader,this.context,{type:s,size:i-8}):(!t||i<t)&&await a.ioReader.skip(i-8);let r=BigInt(0);for(;!this.context.foundMoov;){const e=a.ioReader.getPos();if(e===t)return n.z3("the file format is not mp4",U,102),o.LR;if(i=await a.ioReader.readUint32(),s=await a.ioReader.readUint32(),i<8||t&&e+BigInt(Math.floor(i))>t)return n.z3(`invalid box size ${i}`,U,110),o.LR;s===(0,d.A)("mdat")?(this.context.foundMdat||(r=e),this.context.foundMdat=!0,await a.ioReader.seek(e+BigInt(Math.floor(i)))):s===(0,d.A)("moov")?(await c.wB(a.ioReader,a,this.context,{size:i-8,type:s}),this.context.foundMoov=!0):await a.ioReader.seek(e+BigInt(Math.floor(i)))}if(!this.context.fragment&&!this.context.foundMdat){const t=await a.ioReader.peekUint64()>>BigInt(32);Number(t)===(0,d.A)("moof")&&(this.context.fragment=!0)}if(this.context.fragment&&1&a.ioReader.flags){const t=a.ioReader.getPos(),e=await a.ioReader.fileSize();if(e>BigInt(16)){await a.ioReader.seek(e-BigInt(12));let i=await a.ioReader.readUint32();if(i===(0,d.A)("mfro")){await a.ioReader.skip(4);const t=await a.ioReader.readUint32();await a.ioReader.seek(e-BigInt(Math.floor(t)));const s=await a.ioReader.readUint32();i=await a.ioReader.readUint32(),i===(0,d.A)("mfra")&&await c.t9(a.ioReader,a,this.context,{size:s-8,type:i})}await a.ioReader.seek(t)}}return!this.context.fragment&&this.context.foundMdat&&await a.ioReader.seek(r),e}catch(t){return n.z3(t.message,U,172),this.context.foundMoov||n.z3("moov not found",U,175),a.ioReader.error}}async readAVPacket_(a,t){const{sample:e,stream:i}=(0,l.G)(a,this.context);if(!e)return-1048576;{r.M[15](t+32,i.index),r.M[17](t+16,e.dts),r.M[17](t+8,e.pts),r.M[17](t+48,BigInt(Math.floor(e.duration))),r.M[15](t+36,s.f[15](t+36)|e.flags),r.M[17](t+56,e.pos),r.M[15](t+76,i.timeBase.den),r.M[15](t+72,i.timeBase.num),i.startTime===z.Dh&&(i.startTime=s.f[17](t+8));const n=Number(BigInt.asIntN(32,s.f[17](t+56)-a.ioReader.getPos()));0!==n&&(n>0&&(4&a.ioReader.flags||2&a.ioReader.flags)?await a.ioReader.skip(n):await a.ioReader.seek(s.f[17](t+56)));const o=e.size,c=(0,w.sY)(o);if((0,g.NX)(t,c,o),await a.ioReader.readBuffer(o,(0,u.JW)(c,o)),27!==i.codecpar.codecId&&173!==i.codecpar.codecId&&196!==i.codecpar.codecId||r.M[15](t+80,1),94226===i.codecpar.codecId&&s.f[15](t+28)>=8){const a=v.Sg(s.f[20](t+24)+4)>>>0,e=s.f[15](t+28);if(a===(0,d.A)("vtte")&&8===e){const a=(0,w.Gy)(1);(0,g.NX)(t,a,1),r.M[15](t+28,1)}if(e>8&&(a===(0,d.A)("vtte")||a===(0,d.A)("vttc"))){let a=s.f[20](t+24)+8;const i=s.f[20](t+24)+e;for(;a<i;){const e=v.Sg(a);if(v.Sg(a+4)>>>0===(0,d.A)("payl")&&e>8){const i=(0,w.sY)(e-8);(0,u.Mr)(i,a+8,e-8),(0,g.NX)(t,i,e-8);break}a+=e}}}if(i.sideData[1]&&1&s.f[15](t+36)){const a=i.sideData[1].length,e=(0,w.sY)(a);(0,g.Ow)(t,1,e,a),(0,u.lW)(e,a,i.sideData[1]),delete i.sideData[1]}}return 0}async readAVPacket(a,t){try{if(this.context.fragment&&!this.context.currentFragment)for(;!this.context.currentFragment;){const t=a.ioReader.getPos(),e=await a.ioReader.readUint32(),i=await a.ioReader.readUint32();i===(0,d.A)("moof")?(this.context.currentFragment={pos:t,size:e,sequence:0,tracks:[],currentTrack:null},this.context.firstMoof||(this.context.firstMoof=t),await c.wZ(a.ioReader,a,this.context,{type:i,size:e-8})):i===(0,d.A)("moov")?await c.wB(a.ioReader,a,this.context,{size:e-8,type:i}):await a.ioReader.skip(e-8)}return await this.readAVPacket_(a,t)}catch(t){return-1048576!==a.ioReader.error?(n.z3(`read packet error, ${t}`,U,323),o.LR):a.ioReader.error}}async seek(a,t,e,i){const s=e,r=t.privData,n=()=>{this.context.currentFragment=null,a.streams.forEach((a=>{a.privData.samplesIndex.length=0}))};if(16&i&&this.context.fragment){const i=(0,h.k)(e,t.timeBase,z.i0);return await a.ioReader.seek(i,!0),n(),BigInt(0)}if(this.context.fragment){if(r.fragIndexes.length){let t=m.El(r.fragIndexes,(a=>a.time>s?-1:a.time===s?0:1));if(t>-1)return await a.ioReader.seek(r.fragIndexes[t].pos,!0),n(),BigInt(0)}return s===BigInt(0)&&this.context.firstMoof?(await a.ioReader.seek(this.context.firstMoof),n(),BigInt(0)):BigInt(o.E$)}let d=m.El(r.samplesIndex,(a=>a.pts>s?-1:a.pts===s?0:1));if(d>-1&&0===t.codecpar.codecType){let a=d;for(;a>=0;a--)if(1&r.samplesIndex[a].flags){d=a;break}a<0&&(d=-1)}return d>-1?(r.currentSample=d,r.sampleEnd=!1,m.__(a.streams,(a=>{if(a!==t){const e=a.privData;let i=(0,h.k)(r.samplesIndex[r.currentSample].pts,t.timeBase,a.timeBase),s=m.El(e.samplesIndex,(a=>a.pts>i?-1:a.pts===i?0:1));if(s>-1&&0===a.codecpar.codecType){let a=s;for(;a>=0;a--)if(1&e.samplesIndex[a].flags){s=a;break}a<0&&(s=-1)}s>=0?(e.currentSample=s,e.sampleEnd=!1):(e.sampleEnd=!0,e.currentSample=e.samplesIndex.length)}})),BigInt(0)):BigInt(o.LR)}getAnalyzeStreamsCount(){return 0}}},21071:(a,t,e)=>{e.d(t,{_l:()=>i,gQ:()=>s});const i=["hmhd","nmhd","iods","xml ","url ","bxml","ipro","mere","stts","ctts","stss","stsz","stz2","stsc","stco","co64","stsd","dref","mvhd","tkhd","mdhd","hdlr"],s=["moov","trak","edts","mdia","minf","dinf","stbl","mvex","moof","traf","vttc","tref","iref","mfra","hnti","hinf","strd","sinf","rinf","schi","trgr","udta","iprp","ipco","strk","meco"]},61179:(a,t,e)=>{function i(a,t,e,i=0){const s=a.privData,r=e.trexs.find((a=>a.trackId===t.trackId));let n=t.baseDataOffset+BigInt(Math.floor(t.dataOffset));t.baseIsMoof&&(n+=e.currentFragment.pos);let o=t.baseMediaDecodeTime;const d=t.sampleSizes,c=t.sampleDurations,p=t.sampleFlags,l=t.sampleCompositionTimeOffset;if(!d.length)for(let a=0;a<t.sampleCount;a++)d.push(t.defaultSampleSize||r.size);if(!c.length)for(let a=0;a<t.sampleCount;a++)c.push(t.defaultSampleDuration||r.duration);if(!p.length)for(let a=0;a<t.sampleCount;a++)p.push(t.defaultSampleFlags||r.flags);if(!l.length)for(let a=0;a<t.sampleCount;a++)l.push(0);const f=[];for(let a=0;a<t.sampleCount;a++){const e={dts:o,pts:o+BigInt(Math.floor(l[a])),pos:n,size:d[a],duration:c[a],flags:0};o+=BigInt(Math.floor(e.duration)),n+=BigInt(Math.floor(e.size));let s=p[a];0===a&&t.firstSampleFlags&&(s=t.firstSampleFlags),16842752&s||(e.flags|=1),0===a&&d.length>1&&2&i&&(e.flags|=1),f.push(e)}s.samplesIndex=f}e.d(t,{p:()=>i})},98859:(a,t,e)=>{e.d(t,{X:()=>o});var i=e(4624),s=e(44328),r=e(77231);const n="src/avformat/formats/mov/function/buildIndex.ts";function o(a,t){var e;const o=a.privData,d=o.chunkOffsets,c=o.sampleSizes,p=o.cttsSampleCounts,l=o.cttsSampleOffsets,f=o.stscFirstChunk,m=o.stscSamplesPerChunk,u=o.stssSampleNumbersMap,w=o.sttsSampleCounts,g=o.sttsSampleDeltas;if(!d.length)return;let h=0,z=0,v=0,U=0,k=0,A=0,I=BigInt(0),b=0,x=BigInt(0);const P=[];if(!t.ignoreEditlist&&null!==(e=a.metadata.elst)&&void 0!==e&&e.length){let e=BigInt(0),o=0,d=!1,c=BigInt(0),p=BigInt(0);for(let t=0;t<a.metadata.elst.length;t++){const e=a.metadata.elst[t];0===t&&e.mediaTime===-BigInt(1)?(c=e.segmentDuration,o=1):t===o&&e.mediaTime>=BigInt(0)?p=e.mediaTime:d=!0}d&&i.R8("multiple edit list entries, a/v desync might occur, patch welcome",n,93),(c||p)&&t.timescale>0&&(c&&(c=(0,s.k)(c,{num:1,den:t.timescale},a.timeBase),a.duration!==r.Dh&&(a.duration+=c)),e=p-c,x=-e)}for(let t=0;t<d.length;t++)for(I=d[t],h<f.length-1&&f[h+1]===t+1&&h++,A=m[h];A>0;){const t={dts:x,pts:x,pos:I,size:c[b],duration:g[z],flags:0};(u&&u.has(b+1)||1===a.codecpar.codecType)&&(t.flags|=1),l&&(t.pts=t.dts+BigInt(Math.floor(l[U])),k++,k===p[U]&&(U++,k=0)),I+=BigInt(Math.floor(t.size)),x+=BigInt(Math.floor(g[z])),v++,v===w[z]&&(z++,v=0),b++,P.push(t),A--}P.length&&a.duration===r.Dh&&(a.duration=P[b-1].pts+BigInt(Math.floor(P[b-1].duration))),o.samplesIndex=P}},3384:(a,t,e)=>{function i(){return{trackId:0,baseDataOffset:BigInt(0),defaultSampleDuration:0,defaultSampleSize:0,defaultSampleFlags:0,baseMediaDecodeTime:BigInt(0),sampleCount:0,dataOffset:0,dataOffsetPos:BigInt(0),firstSampleFlags:0,sampleDurations:[],sampleSizes:[],sampleFlags:[],sampleCompositionTimeOffset:[],baseIsMoof:!1,ioWriter:null,buffers:[]}}e.d(t,{A:()=>i})},9690:(a,t,e)=>{e.d(t,{A:()=>s});var i=e(77231);function s(){return{isom:!1,timescale:i.N_,duration:i.Dh,foundMoov:!1,foundMdat:!1,majorBrand:0,minorVersion:0,compatibleBrand:[],creationTime:BigInt(0),modificationTime:BigInt(0),rate:i.N_,volume:i.N_,matrix:null,nextTrackId:1,fragment:!1,trexs:[],currentFragment:null,boxsPositionInfo:[],holdMoovPos:BigInt(0),currentChunk:null}}},38106:(a,t,e)=>{e.d(t,{A:()=>s});var i=e(77231);function s(){return{chunkOffsets:null,cttsSampleCounts:null,cttsSampleOffsets:null,stscFirstChunk:null,stscSamplesPerChunk:null,stscSampleDescriptionIndex:null,stssSampleNumbersMap:null,stssSampleNumbers:null,sampleSizes:null,sttsSampleCounts:null,sttsSampleDeltas:null,timescale:0,duration:BigInt(0),trackId:i.N_,layer:0,alternateGroup:0,volume:0,matrix:null,width:0,height:0,audioCid:0,samplesPerFrame:0,bytesPerFrame:0,currentSample:0,sampleEnd:!1,samplesIndex:[],fragIndexes:[],lastPts:i.Dh,lastDts:i.Dh,startDts:i.Dh,startCT:i.N_,startPts:i.Dh,lastDuration:0,chunkCount:0,firstWrote:!1,lastStscCount:0,perStreamGrouping:!1,index:0,flags:0}}},85428:(a,t,e)=>{e.d(t,{G:()=>r});var i=e(77231),s=e(44328);function r(a,t){let e,r,n,o,d,c,p=BigInt(0);if(a.streams.forEach((a=>{const t=a.privData;if(!t.samplesIndex||!t.samplesIndex.length)return t.sampleEnd=!0,!0;t.sampleEnd||n&&!(t.samplesIndex[t.currentSample].pos<n.pos)||(n=t.samplesIndex[t.currentSample],o=a),t.sampleEnd||d&&!((0,s.k)(t.samplesIndex[t.currentSample].dts,a.timeBase,i.KR)<p)||(d=t.samplesIndex[t.currentSample],p=(0,s.k)(d.dts,a.timeBase,i.KR),c=a)})),n&&d){const t=(0,s.k)(n.dts,o.timeBase,i.KR),p=(0,s.k)(d.dts,c.timeBase,i.KR);Math.abs(Number(t-p))<1e6||2&a.ioReader.flags||4&a.ioReader.flags?(e=n,r=o):(e=d,r=c)}else n?(e=n,r=o):d&&(e=d,r=c);if(r&&(r.privData.currentSample++,r.privData.currentSample>=r.privData.samplesIndex.length&&(r.privData.sampleEnd=!0)),t.fragment){const e=!!a.streams.find((a=>!1===a.privData.sampleEnd));e||(t.currentFragment=null)}return{sample:e,stream:r}}},74963:(a,t,e)=>{e.d(t,{E6:()=>w,t9:()=>v,wB:()=>h,wZ:()=>z});var i=e(65977),s=e(21071),r=e(68361),n=e(4624),o=e(61179),d=e(98859),c=e(3384),p=e(38106),l=e(37837),f=e(14686),m=e(77231);const u="src/avformat/formats/mov/imov.ts";async function w(a,t,e){const s=a.getPos()+BigInt(Math.floor(e.size));for(t.majorBrand=await a.readUint32(),t.minorVersion=await a.readUint32(),t.majorBrand===(0,i.A)("qt ")&&(t.isom=!0);a.getPos()<s;)t.compatibleBrand.push(await a.readUint32())}async function g(a,t,e,o){const d=a.getPos()+BigInt(Math.floor(e.size));for(;a.getPos()<d;){const e=await a.readUint32(),d=await a.readUint32();if(e<8)return void n.z3(`invalid box size ${e}`,u,72);if(r.A[d])await r.A[d](a,t,{type:d,size:e-8},o);else if(d===(0,i.A)("mdia")){let n=!1,d=BigInt(0);const c=a.getPos()+BigInt(Math.floor(e-8));for(;a.getPos()<c;){const e=await a.readUint32(),c=await a.readUint32();c===(0,i.A)("hdlr")?(await r.A[c](a,t,{type:c,size:e-8},o),n=!0):c===(0,i.A)("minf")&&n?await g(a,t,{type:c,size:e-8},o):c!==(0,i.A)("minf")||n?r.A[c]?await r.A[c](a,t,{type:c,size:e-8},o):s.gQ.some((a=>(0,i.A)(a)===c))?await g(a,t,{type:c,size:e-8},o):await a.skip(e-8):(d=a.getPos()-BigInt(8),await a.skip(e-8))}if(d){const e=a.getPos();await a.seek(d);const i=await a.readUint32(),s=await a.readUint32();await g(a,t,{type:s,size:i-8},o),await a.seek(e)}}else s.gQ.some((a=>(0,i.A)(a)===d))?await g(a,t,{type:d,size:e-8},o):await a.skip(e-8)}}async function h(a,t,e,s){const o=a.getPos()+BigInt(Math.floor(s.size));for(;a.getPos()<o;){const s=await a.readUint32(),o=await a.readUint32();if(s<8)return void n.z3(`invalid box, type: ${o}, size ${s}`,u,203);if(r.A[o])await r.A[o](a,null,{type:o,size:s-8},e);else if(o===(0,i.A)("trak"))if(!e.foundMoov||e.fragment){const i=t.createStream();if(i.privData=(0,p.A)(),await g(a,i,{type:o,size:s-8},e),e.fragment){const a=i.privData,e=t.streams.find((t=>{const e=t.privData;if(t.index!==i.index&&e.trackId===a.trackId)return!0}));e?(i.sideData[1]&&(e.sideData[1]=i.sideData[1],e.codecpar.extradata&&(0,l.Eb)(e.codecpar.extradata),e.codecpar.extradataSize=e.sideData[1].length,e.codecpar.extradata=(0,l.sY)(e.codecpar.extradataSize),(0,f.lW)(e.codecpar.extradata,e.codecpar.extradataSize,e.sideData[1]),i.codecpar.width!==m.N_&&a.width>0&&(e.codecpar.width=a.width),i.codecpar.width!==m.N_&&a.height>0&&(e.codecpar.height=a.height)),t.removeStream(i),t.streamIndex--):(i.codecpar.width===m.N_&&a.width>0&&(i.codecpar.width=a.width),i.codecpar.width===m.N_&&a.height>0&&(i.codecpar.height=a.height))}else(0,d.X)(i,e)}else await a.skip(s-8);else o===(0,i.A)("mvex")?(e.fragment=!0,await g(a,null,{type:o,size:s-8},e)):await a.skip(s-8)}}async function z(a,t,e,s){const d=a.getPos()+BigInt(Math.floor(s.size));for(;a.getPos()<d;){const s=await a.readUint32(),d=await a.readUint32();if(s<8)return void n.z3(`invalid box, type: ${d}, size ${s}`,u,306);if(r.A[d])await r.A[d](a,null,{type:d,size:s-8},e);else if(d===(0,i.A)("traf")){const i=(0,c.A)();e.currentFragment.currentTrack=i,await g(a,null,{type:d,size:s-8},e),e.currentFragment.tracks.push(i),e.currentFragment.currentTrack=null;const r=t.streams.find((a=>a.privData.trackId===i.trackId));if(r){const a=r.privData;i.streamIndex=r.index,(0,o.p)(r,i,e,t.ioReader.flags),a.currentSample=0,a.sampleEnd=!1}}else await a.skip(s-8)}}async function v(a,t,e,s){const r=a.getPos()+BigInt(Math.floor(s.size));for(;a.getPos()<r;){const s=a.getPos(),r=await a.readUint32();if(await a.readUint32()===(0,i.A)("tfra")){const s=await a.readUint8();await a.skip(3);const r=await a.readUint32(),n=await a.readUint32(),o=await a.readUint32(),d=t.streams.find((a=>a.privData.trackId===r));if(d){const r=d.privData;let c,p;for(let t=0;t<o;t++){1===s?(c=await a.readUint64(),p=await a.readUint64()):(c=BigInt(Math.floor(await a.readUint32())),p=BigInt(Math.floor(await a.readUint32()))),r.fragIndexes.push({pos:p,time:c});for(let t=0;t<1+(n>>4&3);t++)await a.skip(1);for(let t=0;t<1+(n>>2&3);t++)await a.skip(1);for(let t=0;t<1+(3&n);t++)await a.skip(1)}if(r.fragIndexes.length){await a.seek(r.fragIndexes[r.fragIndexes.length-1].pos);const s=await a.readUint32(),n=await a.readUint32();if(n===(0,i.A)("moof")&&(e.currentFragment={pos:BigInt(0),size:s,sequence:0,tracks:[],currentTrack:null},await z(a,t,e,{size:s,type:n}),r.samplesIndex.length)){const a=r.samplesIndex[r.samplesIndex.length-1];d.duration=a.pts+BigInt(Math.floor(a.duration)),r.samplesIndex.length=0}}}}await a.seek(s+BigInt(Math.floor(r)),!1,!1)}e.currentFragment=null}},6660:(a,t,e)=>{e.d(t,{Q9:()=>r,f3:()=>n,uf:()=>o,zs:()=>s});var i=e(65977);const s={86018:64,86017:105,86076:173,86028:193,86021:221,12:32,27:33,173:35,196:51,167:177,0:0},r={32:12,33:27,35:173,51:196,177:167,64:86018,102:86018,103:86018,104:86018,105:86017,107:86017,173:86076,193:86028,221:86021,0:0},n={vide:0,soun:1,clcp:3,sbtl:3,subt:3,subp:3,text:3},o={[(0,i.A)("mp4a")]:86018,1836253269:86017,[(0,i.A)("Opus")]:86076,[(0,i.A)("fLaC")]:86028,[(0,i.A)("spex")]:86051,[(0,i.A)("SPXN")]:86051,[(0,i.A)("ac-3")]:86019,[(0,i.A)("sac3")]:86019,[i.A.mp4v]:12,[(0,i.A)("av01")]:225,[(0,i.A)("vp08")]:139,[(0,i.A)("vp09")]:167,[(0,i.A)("avc1")]:27,[(0,i.A)("hev1")]:173,[(0,i.A)("hvc1")]:173,[(0,i.A)("vvc1")]:196,[(0,i.A)("vvi1")]:196,[(0,i.A)("text")]:94213,[(0,i.A)("tx3g")]:94213}},38582:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(4624),s=e(14686),r=e(37837),n=e(21477);const o="src/avformat/formats/mov/parsing/av1c.ts";async function d(a,t,e,d){const c=a.getPos();if(t.codecpar.codecId=225,e.size<=0)return;const p=(0,r.sY)(e.size),l=await a.readBuffer(e.size,(0,s.JW)(p,e.size));d.foundMoov?(t.sideData[1]=l.slice(),(0,r.Eb)(p)):(t.codecpar.extradata=p,t.codecpar.extradataSize=e.size,n.XC(t,l));const f=e.size-Number(a.getPos()-c);f>0?await a.skip(f):f<0&&i.z3(`read avcc error, size: ${e.size}, read: ${e.size-f}`,o,63)}},73840:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(62815);const o="src/avformat/formats/mov/parsing/avcc.ts";async function d(a,t,e,d){const c=a.getPos();if(t.codecpar.codecId=27,e.size<=0)return;const p=(0,i.sY)(e.size),l=await a.readBuffer(e.size,(0,s.JW)(p,e.size));d.foundMoov?(t.sideData[1]=l.slice(),(0,i.Eb)(p)):(t.codecpar.extradata=p,t.codecpar.extradataSize=e.size,n.XC(t,l));const f=e.size-Number(a.getPos()-c);f>0?await a.skip(f):f<0&&r.z3(`read avcc error, size: ${e.size}, read: ${e.size-f}`,o,63)}},37213:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/co64.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[],c=await a.readUint32();if(0===o)for(let t=0;t<c;t++)d.push(await a.readUint64());t.privData.chunkOffsets=d;const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read co64 error, size: ${e.size}, read: ${e.size-p}`,s,54)}},12869:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/colr.ts";async function r(a,t,e,r){const n=a.getPos();let o=await a.readString(4);if("nclx"===o||"nclc"===o||"prof"===o)if("prof"===o){const i=await a.readBuffer(e.size-4);t.sideData[28]=i}else{let e=await a.readUint16(),i=await a.readUint16(),s=await a.readUint16();if("nclx"===o){const e=await a.readUint8()>>7;t.codecpar.colorRange=e?2:1}e>=23&&(e=2),i>=19&&(i=2),s>=15&&(s=2),t.codecpar.colorPrimaries=e,t.codecpar.colorTrc=i,t.codecpar.colorSpace=s}else i.R8(`unsupported color_parameter_type: ${o}`,s,77);const d=e.size-Number(a.getPos()-n);d>0?await a.skip(d):d<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-d}`,s,85)}},59299:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/ctts.ts";async function r(a,t,e,r){const n=a.getPos(),o=t.privData;await a.skip(4);const d=[],c=[],p=await a.readUint32();for(let t=0;t<p;t++)d.push(await a.readUint32()),c.push(await a.readInt32());o.cttsSampleCounts=d,o.cttsSampleOffsets=c;const l=e.size-Number(a.getPos()-n);l>0?await a.skip(l):l<0&&i.z3(`read ctts error, size: ${e.size}, read: ${e.size-l}`,s,57)}},7320:(a,t,e)=>{e.d(t,{A:()=>l});var i=e(61499),s=e(63939),r=e(50932),n=e(4624),o=e(71517),d=e(87518),c=e(99991);const p="src/avformat/formats/mov/parsing/dac3.ts";async function l(a,t,e,l){const f=a.getPos();if(t.codecpar.codecId=86019,e.size<=0)return;const m=(0,o.E4)(t.codecpar[i.o9]+20,t.codecpar[i.o9]+24,7,4),u=s.f[20](m),w=await a.readUint24(),g=w>>14&7,h=w>>11&7,z=w>>10&1;let v=d.j[h];z&&(v|=8),c.bl(t.codecpar[i.o9]+112),c.ML(t.codecpar[i.o9]+112,v),r.M[15](u,g);const U=e.size-Number(a.getPos()-f);U>0?await a.skip(U):U<0&&n.z3(`read avcc error, size: ${e.size}, read: ${e.size-U}`,p,75)}},36868:(a,t,e)=>{e.d(t,{A:()=>l});var i=e(61499),s=e(63939),r=e(50932),n=e(4624),o=e(71517),d=e(87518),c=e(99991);const p="src/avformat/formats/mov/parsing/dec3.ts";async function l(a,t,e,l){const f=a.getPos();if(t.codecpar.codecId=86056,e.size<=0)return;const m=(0,o.E4)(t.codecpar[i.o9]+20,t.codecpar[i.o9]+24,7,4),u=s.f[20](m);await a.skip(2);const w=await a.readUint24(),g=w>>12&31,h=w>>9&7,z=w>>8&1;let v=d.j[h];z&&(v|=8),c.bl(t.codecpar[i.o9]+112),c.ML(t.codecpar[i.o9]+112,v),r.M[15](u,g),t.codecpar.chLayout.nbChannels>1&&7==g&&r.M[15](u,8);const U=e.size-Number(a.getPos()-f);U>0?await a.skip(U):U<0&&n.z3(`read avcc error, size: ${e.size}, read: ${e.size-U}`,p,80)}},86528:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(4624),s=e(37837),r=e(14686),n=e(14769);const o="src/avformat/formats/mov/parsing/dfla.ts";async function d(a,t,e,d){const c=a.getPos();t.codecpar.codecId=86028,await a.skip(1),await a.skip(3);const p=await a.readUint8(),l=128&p,f=127&p,m=await a.readUint24();if(0===f&&34===m){const e=(0,s.sY)(m),i=await a.readBuffer(m,(0,r.JW)(e,m));d.foundMoov?(t.sideData[1]=i.slice(),(0,s.Eb)(e)):(t.codecpar.extradata=e,t.codecpar.extradataSize=m,n.XC(t,i))}else i.z3("streaminfo must be first FLACMetadataBlock",o,66);l||i.R8("non streaminfo FLACMetadataBlock(s) ignored",o,70);const u=e.size-Number(a.getPos()-c);u>0?await a.skip(u):u<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-u}`,o,78)}},41781:(a,t,e)=>{e.d(t,{A:()=>p});var i=e(4624),s=e(37837),r=e(14686),n=e(22576),o=e(31865),d=e(729);const c="src/avformat/formats/mov/parsing/dops.ts";async function p(a,t,e,p){const l=a.getPos();t.codecpar.codecId=86076,await a.skip(1);const f=(0,s.sY)(e.size+8),m=(0,r.JW)(f,e.size+8),u=new o.A(m),w=new d.A(m,!1);w.writeString("OpusHead"),w.writeUint8(1),await a.readBuffer(e.size-1,(0,r.JW)(f+9,e.size-1)),u.seek(10),w.seek(10),w.writeUint16(u.readUint16()),w.writeUint32(u.readUint32()),w.writeUint16(u.readUint16()),p.foundMoov?(t.sideData[1]=m.slice(),(0,s.Eb)(f)):(t.codecpar.extradata=f,t.codecpar.extradataSize=m.length,n.XC(t,m));const g=e.size-Number(a.getPos()-l);g>0?await a.skip(g):g<0&&i.z3(`read dops error, size: ${e.size}, read: ${e.size-g}`,c,79)}},30875:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/elst.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=await a.readInt32(),c=[];for(let t=0;t<d;t++){let t=BigInt(0),e=BigInt(0);1===o?(t=await a.readInt64(),e=await a.readInt64()):(t=BigInt(Math.floor(await a.readInt32())),e=BigInt(Math.floor(await a.readInt32())));const i=await a.readInt16(),s=await a.readInt16();c.push({segmentDuration:t,mediaTime:e,mediaRate:i,mediaRateFraction:s})}t.metadata.elst=c;const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read elst error, size: ${e.size}, read: ${e.size-p}`,s,75)}},28412:(a,t,e)=>{e.d(t,{A:()=>l});var i=e(4624),s=e(6660),r=e(37837),n=e(14686),o=e(95832),d=e(22576);const c="src/avformat/formats/mov/parsing/esds.ts";async function p(a){let t=0;for(let e=0;e<4;e++){const e=await a.readUint8();if(t=t<<7|127&e,!(128&e))break}return t}async function l(a,t,e,l){const f=a.getPos();await a.skip(4);let m=a.getPos()+BigInt(Math.floor(e.size-4));for(;a.getPos()<m;){let e=await a.readUint8(),f=await p(a);if(0!==f)if(3===e){let m=a.getPos()+BigInt(Math.floor(f));if(await a.skip(2),await a.skip(1),e=await a.readUint8(),f=await p(a),0===f){i.R8("esds invalid ES descriptor size 0, skip",c,81),await a.skip(Number(m-a.getPos()));continue}if(4===e)if(t.codecpar.codecId=s.Q9[await a.readUint8()],await a.skip(1),await a.skip(3),await a.skip(4),await a.skip(4),a.getPos()<m-BigInt(5))if(e=await a.readUint8(),f=await p(a),5===e){const e=(0,r.sY)(f),i=await a.readBuffer(f,(0,n.JW)(e,f));l.foundMoov?(t.sideData[1]=i.slice(),(0,r.Eb)(e)):(t.codecpar.extradata=e,t.codecpar.extradataSize=f,86018===t.codecpar.codecId?o.XC(t,i.slice()):86076===t.codecpar.codecId&&d.XC(t,i.slice()))}else await a.skip(Number(m-a.getPos()));else await a.skip(Number(m-a.getPos()));else await a.skip(Math.min(f,Number(m-a.getPos())))}else await a.skip(Math.min(f,Number(m-a.getPos())));else i.R8("esds invalid descriptor size 0, skip",c,64),await a.skip(Number(m-a.getPos()))}const u=e.size-Number(a.getPos()-f);u>0?await a.skip(u):u<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-u}`,c,149)}},40179:(a,t,e)=>{e.d(t,{A:()=>o});var i=e(4624),s=e(34677),r=e(6660);const n="src/avformat/formats/mov/parsing/hdlr.ts";async function o(a,t,e,o){const d=a.getPos(),c=await a.readUint8();if(await a.skip(3),0===c){await a.skip(4);const i=await a.readString(4),n=r.f3[i];(0,s.A)(n)&&(t.codecpar.codecType=n),await a.skip(4),await a.skip(4),await a.skip(4);const d=e.size-24;if(d>0){const e=!o.isom&&await a.peekUint8()===d-1;e&&await a.skip(1),t.metadata.handlerName=await a.readString(d-(e?1:0))}}const p=e.size-Number(a.getPos()-d);p>0?await a.skip(p):p<0&&i.z3(`read hdlr error, size: ${e.size}, read: ${e.size-p}`,n,76)}},31421:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(67659);const o="src/avformat/formats/mov/parsing/hvcc.ts";async function d(a,t,e,d){const c=a.getPos();if(t.codecpar.codecId=173,e.size<=0)return;const p=(0,i.sY)(e.size),l=await a.readBuffer(e.size,(0,s.JW)(p,e.size));d.foundMoov?(t.sideData[1]=l.slice(),(0,i.Eb)(p)):(t.codecpar.extradata=p,t.codecpar.extradataSize=e.size,n.XC(t,l));const f=e.size-Number(a.getPos()-c);f>0?await a.skip(f):f<0&&r.z3(`read hevc error, size: ${e.size}, read: ${e.size-f}`,o,63)}},45248:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/mdhd.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);let d=BigInt(0),c=BigInt(0),p=0,l=BigInt(0);1===o?(d=await a.readUint64(),c=await a.readUint64(),p=await a.readUint32(),l=await a.readUint64()):(d=BigInt(Math.floor(await a.readUint32())),c=BigInt(Math.floor(await a.readUint32())),p=await a.readUint32(),l=BigInt(Math.floor(await a.readUint32()))),t.duration=l,t.timeBase.den=p,t.timeBase.num=1,t.metadata.creationTime=d,t.metadata.modificationTime=c;const f=await a.readUint16(),m=[];m[0]=f>>10&31,m[1]=f>>5&31,m[2]=31&f;const u=String.fromCharCode(m[0]+96,m[1]+96,m[2]+96);t.metadata.language=f,t.metadata.languageString=u,await a.skip(2);const w=e.size-Number(a.getPos()-n);w>0?await a.skip(w):w<0&&i.z3(`read mdhd error, size: ${e.size}, read: ${e.size-w}`,s,82)}},7018:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/mfhd.ts";async function r(a,t,e,r){const n=a.getPos();await a.readUint8(),await a.skip(3),r.currentFragment.sequence=await a.readUint32();const o=e.size-Number(a.getPos()-n);o>0?await a.skip(o):o<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-o}`,s,47)}},19354:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/mvhd.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3),1===o?(r.creationTime=await a.readUint64(),r.modificationTime=await a.readUint64(),r.timescale=await a.readUint32(),r.duration=await a.readUint64()):(r.creationTime=BigInt(Math.floor(await a.readUint32())),r.modificationTime=BigInt(Math.floor(await a.readUint32())),r.timescale=await a.readUint32(),r.duration=BigInt(Math.floor(await a.readUint32()))),r.rate=await a.readUint32(),r.volume=await a.readUint16()>>>8,await a.skip(10),r.matrix=new Uint32Array(9);for(let t=0;t<9;t++)r.matrix[t]=await a.readUint32();await a.skip(24),r.nextTrackId=await a.readUint32();const d=e.size-Number(a.getPos()-n);d>0?await a.skip(d):d<0&&i.z3(`read mvhd error, size: ${e.size}, read: ${e.size-d}`,s,68)}},68361:(a,t,e)=>{e.d(t,{A:()=>I});var i=e(91635),s=e(59299),r=e(63080),n=e(62831),o=e(6570),d=e(34136),c=e(15692),p=e(37213),l=e(45248),f=e(19354),m=e(27436),u=e(40179),w=e(35173),g=e(25778),h=e(7018),z=e(61807),v=e(67523),U=e(58996),k=e(30875),A=e(65977);const I={[(0,A.A)("stts")]:i.A,[(0,A.A)("ctts")]:s.A,[(0,A.A)("stss")]:r.A,[(0,A.A)("stsz")]:n.A,[(0,A.A)("stz2")]:o.A,[(0,A.A)("stsc")]:d.A,[(0,A.A)("stco")]:c.A,[(0,A.A)("co64")]:p.A,[(0,A.A)("mdhd")]:l.A,[(0,A.A)("mvhd")]:f.A,[(0,A.A)("tkhd")]:m.A,[(0,A.A)("hdlr")]:u.A,[(0,A.A)("stsd")]:w.A,[(0,A.A)("elst")]:k.A,[(0,A.A)("trex")]:g.A,[(0,A.A)("mfhd")]:h.A,[(0,A.A)("tfhd")]:z.A,[(0,A.A)("tfdt")]:v.A,[(0,A.A)("trun")]:U.A}},15692:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stco.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[],c=await a.readUint32();if(0===o)for(let t=0;t<c;t++)d.push(BigInt(Math.floor(await a.readUint32())));t.privData.chunkOffsets=d;const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read stco error, size: ${e.size}, read: ${e.size-p}`,s,54)}},34136:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stsc.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=t.privData,c=[],p=[],l=[],f=await a.readUint32();if(0===o)for(let t=0;t<f;t++)c.push(await a.readUint32()),p.push(await a.readUint32()),l.push(await a.readUint32());d.stscFirstChunk=c,d.stscSamplesPerChunk=p,d.stscSampleDescriptionIndex=l;const m=e.size-Number(a.getPos()-n);m>0?await a.skip(m):m<0&&i.z3(`read stsc error, size: ${e.size}, read: ${e.size-m}`,s,63)}},35173:(a,t,e)=>{e.d(t,{A:()=>v});var i=e(4624),s=e(65977),r=e(6660),n=e(73840),o=e(31421),d=e(60703),c=e(83561),p=e(38582),l=e(28412),f=e(28460),m=e(86528),u=e(41781),w=e(12869),g=e(7320),h=e(36868);const z="src/avformat/formats/mov/parsing/stsd.ts";async function v(a,t,e,v){const U=a.getPos(),k=await a.readUint8();await a.skip(3);const A=t.privData,I=await a.readUint32();for(let e=0;e<I;e++){const e=await a.readUint32(),U=await a.readUint32(),I=a.getPos()+BigInt(Math.floor(e-8));if(r.uf[U]&&(t.codecpar.codecId=r.uf[U]),0===e){i.R8("stsd entry invalid box size 0, skip",z,72),await a.skip(Number(I-a.getPos()));break}if(e>=16?(await a.skip(6),await a.skip(2)):e<=7&&i.h2(`invalid size: ${e} in stsd`,z,85),0===t.codecpar.codecType){await a.skip(2),await a.skip(2),t.metadata.vendorId=await a.readString(4),await a.skip(4),await a.skip(4),t.codecpar.width=await a.readUint16(),t.codecpar.height=await a.readUint16(),await a.skip(4),await a.skip(4),await a.skip(4),await a.skip(2);let e=await a.readUint8();for(e>31&&(e=31),t.metadata.encoder=await a.readString(e),e<31&&await a.skip(31-e),await a.skip(2),await a.skip(2);a.getPos()<I;){const e=await a.readUint32(),r=await a.readUint32();0!==e?r===(0,s.A)("avcC")?await(0,n.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("hvcC")?await(0,o.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("vvcC")?await(0,d.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("av1C")?await(0,p.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("vpcC")?await(0,c.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("esds")?await(0,l.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("wave")?await(0,f.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("colr")?await(0,w.A)(a,t,{type:r,size:e-8},v):await a.skip(Math.min(e-8,Number(I-a.getPos()))):(i.R8("stsd video invalid box size 0, skip",z,134),await a.skip(Number(I-a.getPos())))}}else if(1===t.codecpar.codecType){const e=await a.readUint16();for(await a.skip(2),t.metadata.vendorId=await a.readString(4),t.codecpar.chLayout.nbChannels=await a.readUint16(),t.codecpar.bitsPerCodedSample=await a.readUint16(),A.audioCid=await a.readUint16(),await a.skip(2),t.codecpar.sampleRate=await a.readUint32()>>>16,(!v.isom||0===k&&e>0)&&(1===e?(A.samplesPerFrame=await a.readUint32(),await a.skip(4),A.bytesPerFrame=await a.readUint32(),await a.skip(4)):2===e&&(await a.skip(4),t.codecpar.sampleRate=Number(await a.readUint64()),t.codecpar.chLayout.nbChannels=await a.readUint32(),await a.skip(4),t.codecpar.bitsPerCodedSample=await a.readUint32(),await a.skip(4),A.bytesPerFrame=await a.readUint32(),A.samplesPerFrame=await a.readUint32()));a.getPos()<I;){const e=await a.readUint32(),r=await a.readUint32();0!==e?r===(0,s.A)("esds")?await(0,l.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dfLa")?await(0,m.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dOps")?await(0,u.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("wave")?await(0,f.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dac3")?await(0,g.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dec3")?await(0,h.A)(a,t,{type:r,size:e-8},v):await a.skip(Math.min(e-8,Number(I-a.getPos()))):(i.R8("stsd audio invalid box size 0, skip",z,281),await a.skip(Number(I-a.getPos())))}}else 3===t.codecpar.codecType?(U===(0,s.A)("stpp")?t.codecpar.codecId=94232:U===(0,s.A)("wvtt")?t.codecpar.codecId=94226:U===(0,s.A)("tx3g")||U===(0,s.A)("text")?t.codecpar.codecId=94213:U===(0,s.A)("c608")&&(t.codecpar.codecId=94218),await a.skip(Math.min(e-8,Number(I-a.getPos())))):await a.skip(Math.min(e-8,Number(I-a.getPos())))}const b=e.size-Number(a.getPos()-U);b>0?await a.skip(b):b<0&&i.z3(`read stsd error, size: ${e.size}, read: ${e.size-b}`,z,382)}},63080:(a,t,e)=>{e.d(t,{A:()=>o});var i=e(80662),s=e.n(i),r=e(4624);const n="src/avformat/formats/mov/parsing/stss.ts";async function o(a,t,e,i){const o=a.getPos(),d=await a.readUint8();await a.skip(3);const c=new(s()),p=await a.readUint32();if(0===d)for(let t=0;t<p;t++)c.set(await a.readUint32(),!0);t.privData.stssSampleNumbersMap=c;const l=e.size-Number(a.getPos()-o);l>0?await a.skip(l):l<0&&r.z3(`read stss error, size: ${e.size}, read: ${e.size-l}`,n,55)}},62831:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stsz.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[];let c=0,p=0;if(0===o){c=await a.readUint32(),p=await a.readUint32();for(let t=0;t<p;t++)0===c?d.push(await a.readUint32()):d[t]=c}t.privData.sampleSizes=d;const l=e.size-Number(a.getPos()-n);l>0?await a.skip(l):l<0&&i.z3(`read stsz error, size: ${e.size}, read: ${e.size-l}`,s,63)}},91635:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stts.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=t.privData,c=[],p=[],l=await a.readUint32();let f=1;if(0===o)for(let t=0;t<l;t++)c.push(await a.readUint32()),f=await a.readInt32(),f<0&&i.R8("File uses negative stts sample delta, using value 1 instead, sync may be lost!",s,51),p.push(f);d.sttsSampleCounts=c,d.sttsSampleDeltas=p;const m=e.size-Number(a.getPos()-n);m>0?await a.skip(m):m<0&&i.z3(`read stts error, size: ${e.size}, read: ${e.size-m}`,s,65)}},6570:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stz2.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[];let c=0,p=0;if(0===o)if(await a.skip(3),p=await a.readUint8(),c=await a.readUint32(),4===p)for(let t=0;t<c;t+=2){const e=await a.readUint8();d[t]=e>>4&15,d[t+1]=15&e}else if(8===p)for(let t=0;t<c;t++)d[t]=await a.readUint8();else if(16===p)for(let t=0;t<c;t++)d[t]=await a.readUint16();else i.z3("Error in length field in stz2 box",s,65);t.privData.sampleSizes=d;const l=e.size-Number(a.getPos()-n);l>0?await a.skip(l):l<0&&i.z3(`read stz2 error, size: ${e.size}, read: ${e.size-l}`,s,76)}},67523:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/tfdt.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=r.currentFragment.currentTrack;d&&(d.baseMediaDecodeTime=1===o?await a.readUint64():BigInt(Math.floor(await a.readUint32())));const c=e.size-Number(a.getPos()-n);c>0?await a.skip(c):c<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-c}`,s,55)}},61807:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/tfhd.ts";async function r(a,t,e,r){const n=a.getPos(),o=(await a.readUint8(),await a.readUint24()),d=await a.readUint32(),c=r.currentFragment.currentTrack;c.trackId=d,c&&(1&o&&(c.baseDataOffset=await a.readUint64()),2&o&&await a.skip(4),8&o&&(c.defaultSampleDuration=await a.readUint32()),16&o&&(c.defaultSampleSize=await a.readUint32()),32&o&&(c.defaultSampleFlags=await a.readUint32()),131072&o&&(c.baseIsMoof=!0));const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-p}`,s,73)}},27436:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/tkhd.ts";async function r(a,t,e,r){const n=t.privData,o=a.getPos(),d=await a.readUint8();n.flags=await a.readUint24(),1&n.flags&&(t.disposition|=1),1===d?(t.metadata.creationTime=await a.readUint64(),t.metadata.modificationTime=await a.readUint64(),n.trackId=await a.readUint32(),await a.skip(4),n.duration=await a.readUint64()):(t.metadata.creationTime=BigInt(Math.floor(await a.readUint32())),t.metadata.modificationTime=BigInt(Math.floor(await a.readUint32())),n.trackId=await a.readUint32(),await a.skip(4),n.duration=BigInt(Math.floor(await a.readUint32()))),await a.skip(8),n.layer=await a.readInt16(),n.alternateGroup=await a.readInt16(),n.volume=await a.readInt16()>>8,await a.skip(2);const c=[];n.matrix=new Int32Array(9);for(let t=0;t<9;t++)n.matrix[t]=await a.readInt32(),c[t]=8===t?n.matrix[t]/1073741824:n.matrix[t]/65536;n.width=await a.readUint32()>>16,n.height=await a.readUint32()>>16,t.metadata.matrix=c;const p=e.size-Number(a.getPos()-o);p>0?await a.skip(p):p<0&&i.z3(`read tkhd error, size: ${e.size}, read: ${e.size-p}`,s,90)}},25778:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/trex.ts";async function r(a,t,e,r){const n=a.getPos();await a.readUint8(),await a.skip(3);const o=await a.readUint32();await a.skip(4);const d=await a.readUint32(),c=await a.readUint32(),p=await a.readUint32();r.trexs.push({trackId:o,duration:d,size:c,flags:p});const l=e.size-Number(a.getPos()-n);l>0?await a.skip(l):l<0&&i.z3(`read trex error, size: ${e.size}, read: ${e.size-l}`,s,59)}},58996:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/trun.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8(),d=await a.readUint24(),c=r.currentFragment.currentTrack;if(c){c.sampleCount=await a.readUint32(),1&d&&(c.dataOffset=await a.readInt32()),4&d&&(c.firstSampleFlags=await a.readUint32());for(let t=0;t<c.sampleCount;t++)256&d&&c.sampleDurations.push(await a.readUint32()),512&d&&c.sampleSizes.push(await a.readUint32()),1024&d&&c.sampleFlags.push(await a.readUint32()),2048&d&&(0===o?c.sampleCompositionTimeOffset.push(await a.readUint32()):c.sampleCompositionTimeOffset.push(await a.readInt32()))}const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-p}`,s,77)}},83561:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(82014);const o="src/avformat/formats/mov/parsing/vpcc.ts";async function d(a,t,e,d){const c=a.getPos();if(await a.readUint8(),await a.skip(3),t.codecpar.codecId=167,e.size-4<=0)return;const p=(0,i.sY)(e.size-4),l=await a.readBuffer(e.size-4,(0,s.JW)(p,e.size-4));d.foundMoov?(t.sideData[1]=l.slice(),(0,i.Eb)(p)):(t.codecpar.extradata=p,t.codecpar.extradataSize=e.size-4,n.XC(t,l));const f=e.size-Number(a.getPos()-c);f>0?await a.skip(f):f<0&&r.z3(`read vpcc error, size: ${e.size}, read: ${e.size-f}`,o,67)}},60703:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(59166);const o="src/avformat/formats/mov/parsing/vvcc.ts";async function d(a,t,e,d){const c=a.getPos();if(await a.readUint8(),await a.skip(3),t.codecpar.codecId=196,e.size-4<=0)return;const p=(0,i.sY)(e.size-4),l=await a.readBuffer(e.size-4,(0,s.JW)(p,e.size-4));d.foundMoov?(t.sideData[1]=l.slice(),(0,i.Eb)(p)):(t.codecpar.extradata=p,t.codecpar.extradataSize=e.size-4,n.XC(t,l));const f=e.size-Number(a.getPos()-c);f>0?await a.skip(f):f<0&&r.z3(`read vvcc error, size: ${e.size}, read: ${e.size-f}`,o,67)}},28460:(a,t,e)=>{e.d(t,{A:()=>o});var i=e(4624),s=e(65977),r=e(28412);const n="src/avformat/formats/mov/parsing/wave.ts";async function o(a,t,e,o){const d=a.getPos(),c=d+BigInt(Math.floor(e.size));for(;a.getPos()<c;){const e=await a.readUint32(),d=await a.readUint32();0!==e?d===(0,s.A)("esds")?await(0,r.A)(a,t,{type:d,size:e-8},o):await a.skip(Math.min(e-8,Number(c-a.getPos()))):(i.R8("wave invalid box size 0, skip",n,45),await a.skip(Number(c-a.getPos())))}const p=e.size-Number(a.getPos()-d);p>0?await a.skip(p):p<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-p}`,n,71)}},65977:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/function/mktag.ts";function r(a){4!==a.length&&i.R8(`tag length is not 4, tag: ${a}`,s,30);let t=0;for(let e=0;e<4;e++)t=t<<8|a.charCodeAt(e);return t}},95832:(a,t,e)=>{e.d(t,{Bq:()=>l,Ij:()=>p,XC:()=>c,f7:()=>f,uF:()=>r});var i=e(77231),s=e(37246);const r={1:"Main",2:"LC",3:"LC",4:"LC",5:"HE",6:"HE"},n={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},o=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,i.N_,i.N_,i.N_],d=[i.N_,1,2,3,4,5,6,7];function c(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t){const{profile:e,sampleRate:s,channels:r}=function(a){let t=i.N_,e=i.N_,s=i.N_;return a.length>=2&&(t=a[0]>>3&31,e=o[(7&a[0])<<1|a[1]>>7],s=d[a[1]>>3&15]),{profile:t,sampleRate:e,channels:s}}(t);a.codecpar.profile=e,a.codecpar.sampleRate=s,a.codecpar.chLayout.nbChannels=r,a.codecpar.frameSize=5===e?2048:1024,a.codecpar.format=8}}function p(a){const t=n[a.sampleRate],e=a.chLayout.nbChannels,s=a.profile===i.N_?2:a.profile,r=new Uint8Array(2);return r[0]=(31&s)<<3|(14&t)>>1,r[1]=(1&t)<<7|(15&e)<<3,r}function l(a){if(a.length<7)return-1;const t=a[0]<<4|a[1]>>4;if(4095!==t)return-1;const e=1&a[1],i=(192&a[2])>>>6,s=(60&a[2])>>>2,r=(1&a[2])<<2|(192&a[3])>>>6,n=(3&a[3])<<11|a[4]<<3|(224&a[5])>>>5,c=3&a[6];let p=1===e?7:9,l=n-p;return{syncWord:t,profile:i+1,sampleRate:o[s],channels:d[r],aacFrameLength:n,numberOfRawDataBlocksInFrame:c,headerLength:p,framePayloadLength:l}}function f(a,t){function e(){const a=t.readU(2);let e=0;for(let i=0;i<=a;i++)e<<=8,e|=t.readU(8);return e}t||(t=new s.A).appendBuffer(a);const i=t.getPointer(),r={syncWord:0,profile:0,sampleRate:0,channels:0,useSameStreamMux:!1,headerLength:0,framePayloadLength:0,muxLengthBytes:0},n=t.readU(11);if(695!==n)return-1;r.syncWord=n,r.muxLengthBytes=t.readU(13);const c=1===t.readU1();if(r.useSameStreamMux=c,!c){const a=1===t.readU1();if(a&&1===t.readU1())return-1;if(a&&e(),1!==t.readU1())return-1;if(0!==t.readU(6))return-1;if(0!==t.readU(4))return-1;if(0!==t.readU(3))return-1;let i=a?e():0;const s=t.readU(5);i-=5;const n=t.readU(4);i-=4;const c=t.readU(4);if(i-=4,t.readU(3),i-=3,i>0&&t.readU(i),0!==t.readU(3))return-1;if(t.readU(8),1===t.readU1())if(a)e();else{let a=0;for(;;){a<<=8;const e=1===t.readU1();if(a+=t.readU(8),!e)break}}1===t.readU1()&&t.readU(8),r.profile=s+1,r.sampleRate=o[n],r.channels=d[c]}let p=0;for(;;){const a=t.readU(8);if(p+=a,255!==a)break}return r.framePayloadLength=p,r.headerLength=t.getPointer()-i+(8===t.getBitLeft()?0:1),r}},87518:(a,t,e)=>{e.d(t,{R:()=>m,j:()=>s});var i=e(37246);const s=[3,4,3,7,259,263,1539,1543],r=[[64,69,96],[64,70,96],[80,87,120],[80,88,120],[96,104,144],[96,105,144],[112,121,168],[112,122,168],[128,139,192],[128,140,192],[160,174,240],[160,175,240],[192,208,288],[192,209,288],[224,243,336],[224,244,336],[256,278,384],[256,279,384],[320,348,480],[320,349,480],[384,417,576],[384,418,576],[448,487,672],[448,488,672],[512,557,768],[512,558,768],[640,696,960],[640,697,960],[768,835,1152],[768,836,1152],[896,975,1344],[896,976,1344],[1024,1114,1536],[1024,1115,1536],[1152,1253,1728],[1152,1254,1728],[1280,1393,1920],[1280,1394,1920]],n=[4,5,6,5],o=[4,6,7,6],d=[48e3,44100,32e3,0],c=[32,40,48,56,64,80,96,112,128,160,192,224,256,320,384,448,512,576,640],p=[2,1,2,3,3,4,4,5],l=[1,2,3,6],f=7;function m(a){const t=new i.A(a.length);t.appendBuffer(a);const e={syncWord:0,crc1:0,srCode:0,bitstreamId:0,bitstreamMode:0,channelMode:0,lfeOn:0,frameType:0,substreamId:0,centerMixLevel:0,surroundMixLevel:0,channelMap:0,numBlocks:0,dolbySurroundMode:0,srShift:0,sampleRate:0,bitrate:0,channels:0,frameSize:0,channelLayout:BigInt(0),ac3BitrateCode:0};if(e.syncWord=t.readU(16),2935!==e.syncWord)return-1;if(e.bitstreamId=31&t.peekU(29),e.bitstreamId>16)return-2;if(e.numBlocks=6,e.ac3BitrateCode=-1,e.centerMixLevel=5,e.surroundMixLevel=6,e.dolbySurroundMode=0,e.bitstreamId<=10){if(e.crc1=t.readU(16),e.srCode=t.readU(2),3===e.srCode)return-3;const a=t.readU(6);if(a>37)return-4;e.ac3BitrateCode=a>>1,t.readU(5),e.bitstreamMode=t.readU(3),e.channelMode=t.readU(3),2==e.channelMode?e.dolbySurroundMode=t.readU(2):(1&e.channelMode&&1!=e.channelMode&&(e.centerMixLevel=n[t.readU(2)]),4&e.channelMode&&(e.surroundMixLevel=o[t.readU(2)])),e.lfeOn=t.readU(1),e.srShift=Math.max(e.bitstreamId,8)-8,e.sampleRate=d[e.srCode]>>e.srShift,e.bitrate=1e3*c[e.ac3BitrateCode]>>e.srShift,e.channels=p[e.channelMode]+e.lfeOn,e.frameSize=2*r[a][e.srCode],e.frameType=2,e.substreamId=0}else{if(e.crc1=0,e.frameType=t.readU(2),3==e.frameType)return-5;if(e.substreamId=t.readU(3),e.frameSize=t.readU(11)+1<<1,e.frameSize<f)return-6;if(e.srCode=t.readU(2),3==e.srCode){const a=t.readU(2);if(3==a)return-7;e.sampleRate=d[a]/2,e.srShift=1}else e.numBlocks=l[t.readU(2)],e.sampleRate=d[e.srCode],e.srShift=0;e.channelMode=t.readU(3),e.lfeOn=t.readU(1),e.bitrate=8*e.frameSize*e.sampleRate/(256*e.numBlocks),e.channels=p[e.channelMode]+e.lfeOn}return e.channelLayout=BigInt(s[e.channelMode]),e.lfeOn&&(e.channelLayout|=BigInt(8)),e}},21477:(a,t,e)=>{e.d(t,{Ui:()=>n,XC:()=>r,zk:()=>s});var i=e(37246);e(83314),e(97317);const s={0:"Main",1:"High",2:"Professional"};function r(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length>=4){const e=n(t);a.codecpar.profile=e.profile,a.codecpar.level=e.level}}function n(a){const t=new i.A(a.length);t.appendBuffer(a),t.readU1(),t.readU(7);const e=t.readU(3),s=t.readU(5),r=t.readU1();let n=t.readU1()?10:8;return t.readU1()&&(n=12),{profile:e,level:s,tier:r,bitDepth:n,monochrome:t.readU1(),chromaSubsamplingX:t.readU1(),chromaSubsamplingY:t.readU1(),chromaSamplePosition:t.readU(2)}}},14769:(a,t,e)=>{e.d(t,{DK:()=>o,XC:()=>c,Xr:()=>d,jA:()=>r,ob:()=>s,oe:()=>n});var i=e(31865);const s=34,r=8,n=[0,8,12,0,16,20,24,32],o=[0,88200,176400,192e3,8e3,16e3,22050,24e3,32e3,44100,48e3,96e3,0,0,0,0],d=[0,192,576,1152,2304,4608,0,0,256,512,1024,2048,4096,8192,16384,32768];function c(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length===s){const{bitsPerRawSample:e,sampleRate:s,channels:r}=function(a){const t=new i.A(a);t.skip(10);const e=t.readUint24();return{sampleRate:e>>4,channels:1+((15&e)>>>1),bitsPerRawSample:1+((1&e)<<4|(240&t.readUint8())>>>4)}}(t);a.codecpar.bitsPerRawSample=e,a.codecpar.sampleRate=s,a.codecpar.chLayout.nbChannels=r}}},22576:(a,t,e)=>{e.d(t,{Ij:()=>c,XC:()=>d,kt:()=>o});var i=e(31865),s=e(729),r=e(44328);const n=[480,960,1920,2880,480,960,1920,2880,480,960,1920,2880,480,960,480,960,120,240,480,960,120,240,480,960,120,240,480,960,120,240,480,960];function o(a){let t=0,e=0,i=0;if(a.length<1)return 0;switch(t=a[0],e=n[t>>3],3&t){case 0:i=1;break;case 1:case 2:i=2;break;case 3:if(a.length<2)return 0;i=63&a[1]}return i*e}function d(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length>=19){const e=new i.A(t,!1);e.skip(9),a.codecpar.chLayout.nbChannels=e.readUint8(),a.codecpar.initialPadding=e.readUint16(),a.codecpar.sampleRate=e.readUint32(),a.codecpar.seekPreroll=Number((0,r.k)(BigInt(80),{den:1e3,num:1},{den:48e3,num:1}))}}function c(a){const t=new Uint8Array(19),e=new s.A(t,!1);return e.writeString("OpusHead"),e.writeUint8(1),e.writeUint8(a.chLayout.nbChannels),e.writeUint16(a.initialPadding),e.writeUint32(a.sampleRate),t}},82014:(a,t,e)=>{e.d(t,{Ui:()=>n,XC:()=>r,wN:()=>s}),e(9599);var i=e(37246);e(77231),e(97317),e(729);const s={0:"Profile0",1:"Profile1",2:"Profile2",3:"Profile3"};function r(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length>=6){const e=n(t);a.codecpar.profile=e.profile,a.codecpar.level=e.level}}function n(a){const t=new i.A(a.length);return t.appendBuffer(a),{profile:t.readU(8),level:t.readU(8),bitDepth:t.readU(4),chromaSubsampling:t.readU(3),fullRangeFlag:t.readU1(),colorPrimaries:t.readU(8),colorTrc:t.readU(8),colorSpace:t.readU(8)}}},null:()=>{}}]);
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[531],{85947:(a,t,e)=>{e.d(t,{A:()=>s});var i=e(134);class s{constructor(){(0,i.A)(this,"type",-1),(0,i.A)(this,"onStreamAdd",void 0)}async destroy(a){}}},92047:(a,t,e)=>{e.r(t),e.d(t,{default:()=>k});var i=e(134),s=e(63939),r=e(50932),n=e(4624),o=e(9705),d=e(65977),c=e(74963),f=e(85947),p=e(85428),l=e(9690),m=e(72739),u=e(14686),w=e(37837),g=e(71517),h=e(44328),z=e(77231),v=e(39381);const U="src/avformat/formats/IMovFormat.ts";class k extends f.A{constructor(a={}){super(),(0,i.A)(this,"type",1),(0,i.A)(this,"context",void 0),(0,i.A)(this,"firstAfterSeek",void 0),(0,i.A)(this,"options",void 0),this.options=a,this.context=(0,l.A)(),a.ignoreEditlist&&(this.context.ignoreEditlist=!0)}init(a){a.ioReader&&a.ioReader.setEndian(!0),this.firstAfterSeek=!1}async readHeader(a){try{const t=await a.ioReader.fileSize();let e=0,i=await a.ioReader.readUint32(),s=await a.ioReader.readUint32();s===(0,d.A)("ftyp")?await c.E6(a.ioReader,this.context,{type:s,size:i-8}):(!t||i<t)&&await a.ioReader.skip(i-8);let r=BigInt(0);for(;!this.context.foundMoov;){const e=a.ioReader.getPos();if(e===t)return n.z3("the file format is not mp4",U,104),o.LR;if(i=await a.ioReader.readUint32(),s=await a.ioReader.readUint32(),1===i&&(i=Number(await a.ioReader.readUint64())),i<8||t&&e+BigInt(Math.floor(i))>t)return n.z3(`invalid box size ${i}`,U,117),o.LR;s===(0,d.A)("mdat")?(this.context.foundMdat||(r=e),this.context.foundMdat=!0,await a.ioReader.seek(e+BigInt(Math.floor(i)))):s===(0,d.A)("moov")?(await c.wB(a.ioReader,a,this.context,{size:i-8,type:s}),this.context.foundMoov=!0):await a.ioReader.seek(e+BigInt(Math.floor(i)))}if(!this.context.fragment&&!this.context.foundMdat){const t=await a.ioReader.peekUint64()>>BigInt(32);Number(t)===(0,d.A)("moof")&&(this.context.fragment=!0)}if(this.context.fragment&&1&a.ioReader.flags){const t=a.ioReader.getPos(),e=await a.ioReader.fileSize();if(e>BigInt(16)){await a.ioReader.seek(e-BigInt(12));let i=await a.ioReader.readUint32();if(i===(0,d.A)("mfro")){await a.ioReader.skip(4);const t=await a.ioReader.readUint32();await a.ioReader.seek(e-BigInt(Math.floor(t)));const s=await a.ioReader.readUint32();i=await a.ioReader.readUint32(),i===(0,d.A)("mfra")&&await c.t9(a.ioReader,a,this.context,{size:s-8,type:i})}await a.ioReader.seek(t)}}return!this.context.fragment&&this.context.foundMdat&&await a.ioReader.seek(r),e}catch(t){return n.z3(t.message,U,179),this.context.foundMoov||n.z3("moov not found",U,182),a.ioReader.error}}async readAVPacket_(a,t){const{sample:e,stream:i}=(0,p.G)(a,this.context,a.ioReader.flags);if(!e)return-1048576;{r.M[15](t+32,i.index),r.M[17](t+16,e.dts),r.M[17](t+8,e.pts),r.M[17](t+48,BigInt(Math.floor(e.duration))),r.M[15](t+36,s.f[15](t+36)|e.flags),r.M[17](t+56,e.pos),r.M[15](t+76,i.timeBase.den),r.M[15](t+72,i.timeBase.num),i.startTime===z.Dh&&(i.startTime=s.f[17](t+8));const n=s.f[17](t+56)-a.ioReader.getPos();n!==BigInt(0)&&(n>0&&(4&a.ioReader.flags||2&a.ioReader.flags)&&!this.firstAfterSeek?await a.ioReader.skip(Number(BigInt.asIntN(32,n))):await a.ioReader.seek(s.f[17](t+56))),this.firstAfterSeek&&(this.firstAfterSeek=!1);const o=e.size,c=(0,w.sY)(o);if((0,g.NX)(t,c,o),await a.ioReader.readBuffer(o,(0,u.JW)(c,o)),27!==i.codecpar.codecId&&173!==i.codecpar.codecId&&196!==i.codecpar.codecId||r.M[15](t+80,1),94226===i.codecpar.codecId&&s.f[15](t+28)>=8){const a=v.Sg(s.f[20](t+24)+4)>>>0,e=s.f[15](t+28);if(a===(0,d.A)("vtte")&&8===e){const a=(0,w.Gy)(1);(0,g.NX)(t,a,1),r.M[15](t+28,1)}if(e>8&&(a===(0,d.A)("vtte")||a===(0,d.A)("vttc"))){let a=s.f[20](t+24)+8;const i=s.f[20](t+24)+e;for(;a<i;){const e=v.Sg(a);if(v.Sg(a+4)>>>0===(0,d.A)("payl")&&e>8){const i=(0,w.sY)(e-8);(0,u.Mr)(i,a+8,e-8),(0,g.NX)(t,i,e-8);break}a+=e}}}if(i.sideData[1]&&1&s.f[15](t+36)){const a=i.sideData[1].length,e=(0,w.sY)(a);(0,g.Ow)(t,1,e,a),(0,u.lW)(e,a,i.sideData[1]),delete i.sideData[1]}}return 0}async readAVPacket(a,t){try{if(this.context.fragment&&!this.context.currentFragment)for(;!this.context.currentFragment;){const t=a.ioReader.getPos(),e=await a.ioReader.readUint32(),i=await a.ioReader.readUint32();i===(0,d.A)("moof")?(this.context.currentFragment={pos:t,size:e,sequence:0,tracks:[],currentTrack:null},this.context.firstMoof||(this.context.firstMoof=t),await c.wZ(a.ioReader,a,this.context,{type:i,size:e-8})):i===(0,d.A)("moov")?await c.wB(a.ioReader,a,this.context,{size:e-8,type:i}):await a.ioReader.skip(e-8)}return await this.readAVPacket_(a,t)}catch(t){return-1048576!==a.ioReader.error?(n.z3(`read packet error, ${t}`,U,334),o.LR):a.ioReader.error}}async seek(a,t,e,i){const s=e,r=t.privData,n=()=>{this.context.currentFragment=null,a.streams.forEach((a=>{a.privData.samplesIndex.length=0}))};if(16&i&&this.context.fragment){const i=(0,h.k)(e,t.timeBase,z.i0);return await a.ioReader.seek(i,!0),n(),BigInt(0)}if(this.context.fragment){if(r.fragIndexes.length){let t=m.El(r.fragIndexes,(a=>a.time>s?-1:a.time===s?0:1));if(t>-1)return await a.ioReader.seek(r.fragIndexes[t].pos,!0),n(),BigInt(0)}return s===BigInt(0)&&this.context.firstMoof?(await a.ioReader.seek(this.context.firstMoof),n(),BigInt(0)):BigInt(o.E$)}let d=m.El(r.samplesIndex,(a=>a.pts>s?-1:a.pts===s?0:1));if(d>-1&&0===t.codecpar.codecType){let a=d;for(;a>=0;a--)if(1&r.samplesIndex[a].flags){d=a;break}a<0&&(d=-1)}return d>-1?(r.currentSample=d,r.sampleEnd=!1,m.__(a.streams,(a=>{if(a!==t){const e=a.privData;let i=(0,h.k)(r.samplesIndex[r.currentSample].pts,t.timeBase,a.timeBase),s=m.El(e.samplesIndex,(a=>a.pts>i?-1:a.pts===i?0:1));if(s>-1&&0===a.codecpar.codecType){let a=s;for(;a>=0;a--)if(1&e.samplesIndex[a].flags){s=a;break}a<0&&(s=-1)}s>=0?(e.currentSample=s,e.sampleEnd=!1):(e.sampleEnd=!0,e.currentSample=e.samplesIndex.length)}})),this.firstAfterSeek=!0,BigInt(0)):BigInt(o.LR)}getAnalyzeStreamsCount(){return 0}}},21071:(a,t,e)=>{e.d(t,{_l:()=>i,gQ:()=>s});const i=["hmhd","nmhd","iods","xml ","url ","bxml","ipro","mere","stts","ctts","stss","stsz","stz2","stsc","stco","co64","stsd","dref","mvhd","tkhd","mdhd","hdlr"],s=["moov","trak","edts","mdia","minf","dinf","stbl","mvex","moof","traf","vttc","tref","iref","mfra","hnti","hinf","strd","sinf","rinf","schi","trgr","udta","iprp","ipco","strk","meco"]},61179:(a,t,e)=>{function i(a,t,e,i=0){const s=a.privData,r=e.trexs.find((a=>a.trackId===t.trackId));let n=t.baseDataOffset+BigInt(Math.floor(t.dataOffset));t.baseIsMoof&&(n+=e.currentFragment.pos);let o=t.baseMediaDecodeTime;const d=t.sampleSizes,c=t.sampleDurations,f=t.sampleFlags,p=t.sampleCompositionTimeOffset;if(!d.length)for(let a=0;a<t.sampleCount;a++)d.push(t.defaultSampleSize||r.size);if(!c.length)for(let a=0;a<t.sampleCount;a++)c.push(t.defaultSampleDuration||r.duration);if(!f.length)for(let a=0;a<t.sampleCount;a++)f.push(t.defaultSampleFlags||r.flags);if(!p.length)for(let a=0;a<t.sampleCount;a++)p.push(0);const l=[];for(let a=0;a<t.sampleCount;a++){const e={dts:o,pts:o+BigInt(Math.floor(p[a])),pos:n,size:d[a],duration:c[a],flags:0};o+=BigInt(Math.floor(e.duration)),n+=BigInt(Math.floor(e.size));let s=f[a];0===a&&t.firstSampleFlags&&(s=t.firstSampleFlags),16842752&s||(e.flags|=1),0===a&&d.length>1&&2&i&&(e.flags|=1),l.push(e)}s.samplesIndex=l}e.d(t,{p:()=>i})},98859:(a,t,e)=>{e.d(t,{X:()=>o});var i=e(4624),s=e(44328),r=e(77231);const n="src/avformat/formats/mov/function/buildIndex.ts";function o(a,t){var e;const o=a.privData,d=o.chunkOffsets,c=o.sampleSizes,f=o.cttsSampleCounts,p=o.cttsSampleOffsets,l=o.stscFirstChunk,m=o.stscSamplesPerChunk,u=o.stssSampleNumbersMap,w=o.sttsSampleCounts,g=o.sttsSampleDeltas;if(!d.length)return;let h=0,z=0,v=0,U=0,k=0,A=0,I=BigInt(0),b=0,x=BigInt(0);const P=[];if(!t.ignoreEditlist&&null!==(e=a.metadata.elst)&&void 0!==e&&e.length){let e=BigInt(0),o=0,d=!1,c=BigInt(0),f=BigInt(0);for(let t=0;t<a.metadata.elst.length;t++){const e=a.metadata.elst[t];0===t&&e.mediaTime===-BigInt(1)?(c=e.segmentDuration,o=1):t===o&&e.mediaTime>=BigInt(0)?f=e.mediaTime:d=!0}d&&i.R8("multiple edit list entries, a/v desync might occur, patch welcome",n,93),(c||f)&&t.timescale>0&&(c&&(c=(0,s.k)(c,{num:1,den:t.timescale},a.timeBase),a.duration!==r.Dh&&(a.duration+=c)),e=f-c,x=-e)}for(let t=0;t<d.length;t++)for(I=d[t],h<l.length-1&&l[h+1]===t+1&&h++,A=m[h];A>0;){const t={dts:x,pts:x,pos:I,size:c[b],duration:g[z],flags:0};(u&&u.has(b+1)||1===a.codecpar.codecType)&&(t.flags|=1),p&&(t.pts=t.dts+BigInt(Math.floor(p[U])),k++,k===f[U]&&(U++,k=0)),I+=BigInt(Math.floor(t.size)),x+=BigInt(Math.floor(g[z])),v++,v===w[z]&&(z++,v=0),b++,P.push(t),A--}P.length&&a.duration===r.Dh&&(a.duration=P[b-1].pts+BigInt(Math.floor(P[b-1].duration))),o.samplesIndex=P}},3384:(a,t,e)=>{function i(){return{trackId:0,baseDataOffset:BigInt(0),defaultSampleDuration:0,defaultSampleSize:0,defaultSampleFlags:0,baseMediaDecodeTime:BigInt(0),sampleCount:0,dataOffset:0,dataOffsetPos:BigInt(0),firstSampleFlags:0,sampleDurations:[],sampleSizes:[],sampleFlags:[],sampleCompositionTimeOffset:[],baseIsMoof:!1,ioWriter:null,buffers:[]}}e.d(t,{A:()=>i})},9690:(a,t,e)=>{e.d(t,{A:()=>s});var i=e(77231);function s(){return{isom:!1,timescale:i.N_,duration:i.Dh,foundMoov:!1,foundMdat:!1,majorBrand:0,minorVersion:0,compatibleBrand:[],creationTime:BigInt(0),modificationTime:BigInt(0),rate:i.N_,volume:i.N_,matrix:null,nextTrackId:1,fragment:!1,trexs:[],currentFragment:null,boxsPositionInfo:[],holdMoovPos:BigInt(0),currentChunk:null}}},38106:(a,t,e)=>{e.d(t,{A:()=>s});var i=e(77231);function s(){return{chunkOffsets:null,cttsSampleCounts:null,cttsSampleOffsets:null,stscFirstChunk:null,stscSamplesPerChunk:null,stscSampleDescriptionIndex:null,stssSampleNumbersMap:null,stssSampleNumbers:null,sampleSizes:null,sttsSampleCounts:null,sttsSampleDeltas:null,duration:BigInt(0),trackId:i.N_,layer:0,alternateGroup:0,volume:0,matrix:null,width:0,height:0,audioCid:0,samplesPerFrame:0,bytesPerFrame:0,currentSample:0,sampleEnd:!1,samplesIndex:[],fragIndexes:[],lastPts:i.Dh,lastDts:i.Dh,startDts:i.Dh,startCT:i.N_,startPts:i.Dh,lastDuration:0,chunkCount:0,firstWrote:!1,lastStscCount:0,perStreamGrouping:!1,index:0,flags:0}}},85428:(a,t,e)=>{e.d(t,{G:()=>r});var i=e(77231),s=e(44328);function r(a,t,e){let r,n,o,d,c,f,p=BigInt(0);if(a.streams.forEach((a=>{const t=a.privData;if(!t.samplesIndex||!t.samplesIndex.length)return t.sampleEnd=!0,!0;t.sampleEnd||o&&!(t.samplesIndex[t.currentSample].pos<o.pos)||(o=t.samplesIndex[t.currentSample],d=a),t.sampleEnd||c&&!((0,s.k)(t.samplesIndex[t.currentSample].dts,a.timeBase,i.KR)<p)||(c=t.samplesIndex[t.currentSample],p=(0,s.k)(c.dts,a.timeBase,i.KR),f=a)})),o&&c){const t=(0,s.k)(o.dts,d.timeBase,i.KR),p=(0,s.k)(c.dts,f.timeBase,i.KR);Math.abs(Number(t-p))<1e6||2&a.ioReader.flags||4&a.ioReader.flags||!(1&e)?(r=o,n=d):(r=c,n=f)}else o?(r=o,n=d):c&&(r=c,n=f);if(n&&(n.privData.currentSample++,n.privData.currentSample>=n.privData.samplesIndex.length&&(n.privData.sampleEnd=!0)),t.fragment){const e=!!a.streams.find((a=>!1===a.privData.sampleEnd));e||(t.currentFragment=null)}return{sample:r,stream:n}}},74963:(a,t,e)=>{e.d(t,{E6:()=>w,t9:()=>v,wB:()=>h,wZ:()=>z});var i=e(65977),s=e(21071),r=e(68361),n=e(4624),o=e(61179),d=e(98859),c=e(3384),f=e(38106),p=e(37837),l=e(14686),m=e(77231);const u="src/avformat/formats/mov/imov.ts";async function w(a,t,e){const s=a.getPos()+BigInt(Math.floor(e.size));for(t.majorBrand=await a.readUint32(),t.minorVersion=await a.readUint32(),t.majorBrand===(0,i.A)("qt ")&&(t.isom=!0);a.getPos()<s;)t.compatibleBrand.push(await a.readUint32())}async function g(a,t,e,o){const d=a.getPos()+BigInt(Math.floor(e.size));for(;a.getPos()<d;){const e=await a.readUint32(),d=await a.readUint32();if(e<8)return void n.z3(`invalid box size ${e}`,u,72);if(r.A[d])await r.A[d](a,t,{type:d,size:e-8},o);else if(d===(0,i.A)("mdia")){let n=!1,d=BigInt(0);const c=a.getPos()+BigInt(Math.floor(e-8));for(;a.getPos()<c;){const e=await a.readUint32(),c=await a.readUint32();c===(0,i.A)("hdlr")?(await r.A[c](a,t,{type:c,size:e-8},o),n=!0):c===(0,i.A)("minf")&&n?await g(a,t,{type:c,size:e-8},o):c!==(0,i.A)("minf")||n?r.A[c]?await r.A[c](a,t,{type:c,size:e-8},o):s.gQ.some((a=>(0,i.A)(a)===c))?await g(a,t,{type:c,size:e-8},o):await a.skip(e-8):(d=a.getPos()-BigInt(8),await a.skip(e-8))}if(d){const e=a.getPos();await a.seek(d);const i=await a.readUint32(),s=await a.readUint32();await g(a,t,{type:s,size:i-8},o),await a.seek(e)}}else s.gQ.some((a=>(0,i.A)(a)===d))?await g(a,t,{type:d,size:e-8},o):await a.skip(e-8)}}async function h(a,t,e,s){const o=a.getPos()+BigInt(Math.floor(s.size));for(;a.getPos()<o;){const s=await a.readUint32(),o=await a.readUint32();if(s<8)return void n.z3(`invalid box, type: ${o}, size ${s}`,u,203);if(r.A[o])await r.A[o](a,null,{type:o,size:s-8},e);else if(o===(0,i.A)("trak"))if(!e.foundMoov||e.fragment){const i=t.createStream();if(i.privData=(0,f.A)(),await g(a,i,{type:o,size:s-8},e),e.fragment){const a=i.privData,e=t.streams.find((t=>{const e=t.privData;if(t.index!==i.index&&e.trackId===a.trackId)return!0}));e?(i.sideData[1]&&(e.sideData[1]=i.sideData[1],e.codecpar.extradata&&(0,p.Eb)(e.codecpar.extradata),e.codecpar.extradataSize=e.sideData[1].length,e.codecpar.extradata=(0,p.sY)(e.codecpar.extradataSize),(0,l.lW)(e.codecpar.extradata,e.codecpar.extradataSize,e.sideData[1]),i.codecpar.width!==m.N_&&a.width>0&&(e.codecpar.width=a.width),i.codecpar.width!==m.N_&&a.height>0&&(e.codecpar.height=a.height)),t.removeStream(i),t.streamIndex--):(i.codecpar.width===m.N_&&a.width>0&&(i.codecpar.width=a.width),i.codecpar.width===m.N_&&a.height>0&&(i.codecpar.height=a.height))}else(0,d.X)(i,e)}else await a.skip(s-8);else o===(0,i.A)("mvex")?(e.fragment=!0,await g(a,null,{type:o,size:s-8},e)):await a.skip(s-8)}}async function z(a,t,e,s){const d=a.getPos()+BigInt(Math.floor(s.size));for(;a.getPos()<d;){const s=await a.readUint32(),d=await a.readUint32();if(s<8)return void n.z3(`invalid box, type: ${d}, size ${s}`,u,306);if(r.A[d])await r.A[d](a,null,{type:d,size:s-8},e);else if(d===(0,i.A)("traf")){const i=(0,c.A)();e.currentFragment.currentTrack=i,await g(a,null,{type:d,size:s-8},e),e.currentFragment.tracks.push(i),e.currentFragment.currentTrack=null;const r=t.streams.find((a=>a.privData.trackId===i.trackId));if(r){const a=r.privData;i.streamIndex=r.index,(0,o.p)(r,i,e,t.ioReader.flags),a.currentSample=0,a.sampleEnd=!1}}else await a.skip(s-8)}}async function v(a,t,e,s){const r=a.getPos()+BigInt(Math.floor(s.size));for(;a.getPos()<r;){const s=a.getPos(),r=await a.readUint32();if(await a.readUint32()===(0,i.A)("tfra")){const s=await a.readUint8();await a.skip(3);const r=await a.readUint32(),n=await a.readUint32(),o=await a.readUint32(),d=t.streams.find((a=>a.privData.trackId===r));if(d){const r=d.privData;let c,f;for(let t=0;t<o;t++){1===s?(c=await a.readUint64(),f=await a.readUint64()):(c=BigInt(Math.floor(await a.readUint32())),f=BigInt(Math.floor(await a.readUint32()))),r.fragIndexes.push({pos:f,time:c});for(let t=0;t<1+(n>>4&3);t++)await a.skip(1);for(let t=0;t<1+(n>>2&3);t++)await a.skip(1);for(let t=0;t<1+(3&n);t++)await a.skip(1)}if(r.fragIndexes.length){await a.seek(r.fragIndexes[r.fragIndexes.length-1].pos);const s=await a.readUint32(),n=await a.readUint32();if(n===(0,i.A)("moof")&&(e.currentFragment={pos:BigInt(0),size:s,sequence:0,tracks:[],currentTrack:null},await z(a,t,e,{size:s,type:n}),r.samplesIndex.length)){const a=r.samplesIndex[r.samplesIndex.length-1];d.duration=a.pts+BigInt(Math.floor(a.duration)),r.samplesIndex.length=0}}}}await a.seek(s+BigInt(Math.floor(r)),!1,!1)}e.currentFragment=null}},6660:(a,t,e)=>{e.d(t,{Q9:()=>r,f3:()=>n,uf:()=>o,zs:()=>s});var i=e(65977);const s={86018:64,86017:105,86076:173,86028:193,86021:221,12:32,27:33,173:35,196:51,167:177,0:0},r={32:12,33:27,35:173,51:196,177:167,64:86018,102:86018,103:86018,104:86018,105:86017,107:86017,173:86076,193:86028,221:86021,0:0},n={vide:0,soun:1,clcp:3,sbtl:3,subt:3,subp:3,text:3},o={[(0,i.A)("mp4a")]:86018,1836253269:86017,[(0,i.A)("Opus")]:86076,[(0,i.A)("fLaC")]:86028,[(0,i.A)("spex")]:86051,[(0,i.A)("SPXN")]:86051,[(0,i.A)("ac-3")]:86019,[(0,i.A)("sac3")]:86019,[i.A.mp4v]:12,[(0,i.A)("av01")]:225,[(0,i.A)("vp08")]:139,[(0,i.A)("vp09")]:167,[(0,i.A)("avc1")]:27,[(0,i.A)("hev1")]:173,[(0,i.A)("hvc1")]:173,[(0,i.A)("vvc1")]:196,[(0,i.A)("vvi1")]:196,[(0,i.A)("text")]:94213,[(0,i.A)("tx3g")]:94213}},38582:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(4624),s=e(14686),r=e(37837),n=e(21477);const o="src/avformat/formats/mov/parsing/av1c.ts";async function d(a,t,e,d){const c=a.getPos();if(t.codecpar.codecId=225,e.size<=0)return;const f=(0,r.sY)(e.size),p=await a.readBuffer(e.size,(0,s.JW)(f,e.size));d.foundMoov?(t.sideData[1]=p.slice(),(0,r.Eb)(f)):(t.codecpar.extradata=f,t.codecpar.extradataSize=e.size,n.XC(t,p));const l=e.size-Number(a.getPos()-c);l>0?await a.skip(l):l<0&&i.z3(`read avcc error, size: ${e.size}, read: ${e.size-l}`,o,63)}},73840:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(62815);const o="src/avformat/formats/mov/parsing/avcc.ts";async function d(a,t,e,d){const c=a.getPos();if(t.codecpar.codecId=27,e.size<=0)return;const f=(0,i.sY)(e.size),p=await a.readBuffer(e.size,(0,s.JW)(f,e.size));d.foundMoov?(t.sideData[1]=p.slice(),(0,i.Eb)(f)):(t.codecpar.extradata=f,t.codecpar.extradataSize=e.size,n.XC(t,p));const l=e.size-Number(a.getPos()-c);l>0?await a.skip(l):l<0&&r.z3(`read avcc error, size: ${e.size}, read: ${e.size-l}`,o,63)}},37213:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/co64.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[],c=await a.readUint32();if(0===o)for(let t=0;t<c;t++)d.push(await a.readUint64());t.privData.chunkOffsets=d;const f=e.size-Number(a.getPos()-n);f>0?await a.skip(f):f<0&&i.z3(`read co64 error, size: ${e.size}, read: ${e.size-f}`,s,54)}},12869:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/colr.ts";async function r(a,t,e,r){const n=a.getPos();let o=await a.readString(4);if("nclx"===o||"nclc"===o||"prof"===o)if("prof"===o){const i=await a.readBuffer(e.size-4);t.sideData[28]=i}else{let e=await a.readUint16(),i=await a.readUint16(),s=await a.readUint16();if("nclx"===o){const e=await a.readUint8()>>7;t.codecpar.colorRange=e?2:1}e>=23&&(e=2),i>=19&&(i=2),s>=15&&(s=2),t.codecpar.colorPrimaries=e,t.codecpar.colorTrc=i,t.codecpar.colorSpace=s}else i.R8(`unsupported color_parameter_type: ${o}`,s,77);const d=e.size-Number(a.getPos()-n);d>0?await a.skip(d):d<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-d}`,s,85)}},59299:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/ctts.ts";async function r(a,t,e,r){const n=a.getPos(),o=t.privData;await a.skip(4);const d=[],c=[],f=await a.readUint32();for(let t=0;t<f;t++)d.push(await a.readUint32()),c.push(await a.readInt32());o.cttsSampleCounts=d,o.cttsSampleOffsets=c;const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read ctts error, size: ${e.size}, read: ${e.size-p}`,s,57)}},7320:(a,t,e)=>{e.d(t,{A:()=>p});var i=e(61499),s=e(63939),r=e(50932),n=e(4624),o=e(71517),d=e(87518),c=e(99991);const f="src/avformat/formats/mov/parsing/dac3.ts";async function p(a,t,e,p){const l=a.getPos();if(t.codecpar.codecId=86019,e.size<=0)return;const m=(0,o.E4)(t.codecpar[i.o9]+20,t.codecpar[i.o9]+24,7,4),u=s.f[20](m),w=await a.readUint24(),g=w>>14&7,h=w>>11&7,z=w>>10&1;let v=BigInt(d.j[h]);z&&(v|=BigInt(8)),c.bl(t.codecpar[i.o9]+112),c.ML(t.codecpar[i.o9]+112,v),r.M[15](u,g);const U=e.size-Number(a.getPos()-l);U>0?await a.skip(U):U<0&&n.z3(`read avcc error, size: ${e.size}, read: ${e.size-U}`,f,75)}},36868:(a,t,e)=>{e.d(t,{A:()=>p});var i=e(61499),s=e(63939),r=e(50932),n=e(4624),o=e(71517),d=e(87518),c=e(99991);const f="src/avformat/formats/mov/parsing/dec3.ts";async function p(a,t,e,p){const l=a.getPos();if(t.codecpar.codecId=86056,e.size<=0)return;const m=(0,o.E4)(t.codecpar[i.o9]+20,t.codecpar[i.o9]+24,7,4),u=s.f[20](m);await a.skip(2);const w=await a.readUint24(),g=w>>12&31,h=w>>9&7,z=w>>8&1;let v=BigInt(d.j[h]);z&&(v|=BigInt(8)),c.bl(t.codecpar[i.o9]+112),c.ML(t.codecpar[i.o9]+112,v),r.M[15](u,g),t.codecpar.chLayout.nbChannels>1&&7==g&&r.M[15](u,8);const U=e.size-Number(a.getPos()-l);U>0?await a.skip(U):U<0&&n.z3(`read avcc error, size: ${e.size}, read: ${e.size-U}`,f,80)}},86528:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(4624),s=e(37837),r=e(14686),n=e(14769);const o="src/avformat/formats/mov/parsing/dfla.ts";async function d(a,t,e,d){const c=a.getPos();t.codecpar.codecId=86028,await a.skip(1),await a.skip(3);const f=await a.readUint8(),p=128&f,l=127&f,m=await a.readUint24();if(0===l&&34===m){const e=(0,s.sY)(m),i=await a.readBuffer(m,(0,r.JW)(e,m));d.foundMoov?(t.sideData[1]=i.slice(),(0,s.Eb)(e)):(t.codecpar.extradata=e,t.codecpar.extradataSize=m,n.XC(t,i))}else i.z3("streaminfo must be first FLACMetadataBlock",o,66);p||i.R8("non streaminfo FLACMetadataBlock(s) ignored",o,70);const u=e.size-Number(a.getPos()-c);u>0?await a.skip(u):u<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-u}`,o,78)}},41781:(a,t,e)=>{e.d(t,{A:()=>f});var i=e(4624),s=e(37837),r=e(14686),n=e(22576),o=e(31865),d=e(729);const c="src/avformat/formats/mov/parsing/dops.ts";async function f(a,t,e,f){const p=a.getPos();t.codecpar.codecId=86076,await a.skip(1);const l=(0,s.sY)(e.size+8),m=(0,r.JW)(l,e.size+8),u=new o.A(m),w=new d.A(m,!1);w.writeString("OpusHead"),w.writeUint8(1),await a.readBuffer(e.size-1,(0,r.JW)(l+9,e.size-1)),u.seek(10),w.seek(10),w.writeUint16(u.readUint16()),w.writeUint32(u.readUint32()),w.writeUint16(u.readUint16()),f.foundMoov?(t.sideData[1]=m.slice(),(0,s.Eb)(l)):(t.codecpar.extradata=l,t.codecpar.extradataSize=m.length,n.XC(t,m));const g=e.size-Number(a.getPos()-p);g>0?await a.skip(g):g<0&&i.z3(`read dops error, size: ${e.size}, read: ${e.size-g}`,c,79)}},30875:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/elst.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=await a.readInt32(),c=[];for(let t=0;t<d;t++){let t=BigInt(0),e=BigInt(0);1===o?(t=await a.readInt64(),e=await a.readInt64()):(t=BigInt(Math.floor(await a.readInt32())),e=BigInt(Math.floor(await a.readInt32())));const i=await a.readInt16(),s=await a.readInt16();c.push({segmentDuration:t,mediaTime:e,mediaRate:i,mediaRateFraction:s})}t.metadata.elst=c;const f=e.size-Number(a.getPos()-n);f>0?await a.skip(f):f<0&&i.z3(`read elst error, size: ${e.size}, read: ${e.size-f}`,s,75)}},28412:(a,t,e)=>{e.d(t,{A:()=>p});var i=e(4624),s=e(6660),r=e(37837),n=e(14686),o=e(95832),d=e(22576);const c="src/avformat/formats/mov/parsing/esds.ts";async function f(a){let t=0;for(let e=0;e<4;e++){const e=await a.readUint8();if(t=t<<7|127&e,!(128&e))break}return t}async function p(a,t,e,p){const l=a.getPos();await a.skip(4);let m=a.getPos()+BigInt(Math.floor(e.size-4));for(;a.getPos()<m;){let e=await a.readUint8(),l=await f(a);if(0!==l)if(3===e){let m=a.getPos()+BigInt(Math.floor(l));if(await a.skip(2),await a.skip(1),e=await a.readUint8(),l=await f(a),0===l){i.R8("esds invalid ES descriptor size 0, skip",c,81),await a.skip(Number(m-a.getPos()));continue}if(4===e)if(t.codecpar.codecId=s.Q9[await a.readUint8()],await a.skip(1),await a.skip(3),await a.skip(4),await a.skip(4),a.getPos()<m-BigInt(5))if(e=await a.readUint8(),l=await f(a),5===e){const e=(0,r.sY)(l),i=await a.readBuffer(l,(0,n.JW)(e,l));p.foundMoov?(t.sideData[1]=i.slice(),(0,r.Eb)(e)):(t.codecpar.extradata=e,t.codecpar.extradataSize=l,86018===t.codecpar.codecId?o.XC(t,i.slice()):86076===t.codecpar.codecId&&d.XC(t,i.slice()))}else await a.skip(Number(m-a.getPos()));else await a.skip(Number(m-a.getPos()));else await a.skip(Math.min(l,Number(m-a.getPos())))}else await a.skip(Math.min(l,Number(m-a.getPos())));else i.R8("esds invalid descriptor size 0, skip",c,64),await a.skip(Number(m-a.getPos()))}const u=e.size-Number(a.getPos()-l);u>0?await a.skip(u):u<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-u}`,c,149)}},40179:(a,t,e)=>{e.d(t,{A:()=>o});var i=e(4624),s=e(34677),r=e(6660);const n="src/avformat/formats/mov/parsing/hdlr.ts";async function o(a,t,e,o){const d=a.getPos(),c=await a.readUint8();if(await a.skip(3),0===c){await a.skip(4);const i=await a.readString(4),n=r.f3[i];(0,s.A)(n)&&(t.codecpar.codecType=n),await a.skip(4),await a.skip(4),await a.skip(4);const d=e.size-24;if(d>0){const e=!o.isom&&await a.peekUint8()===d-1;e&&await a.skip(1),t.metadata.handlerName=await a.readString(d-(e?1:0))}}const f=e.size-Number(a.getPos()-d);f>0?await a.skip(f):f<0&&i.z3(`read hdlr error, size: ${e.size}, read: ${e.size-f}`,n,76)}},31421:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(67659);const o="src/avformat/formats/mov/parsing/hvcc.ts";async function d(a,t,e,d){const c=a.getPos();if(t.codecpar.codecId=173,e.size<=0)return;const f=(0,i.sY)(e.size),p=await a.readBuffer(e.size,(0,s.JW)(f,e.size));d.foundMoov?(t.sideData[1]=p.slice(),(0,i.Eb)(f)):(t.codecpar.extradata=f,t.codecpar.extradataSize=e.size,n.XC(t,p));const l=e.size-Number(a.getPos()-c);l>0?await a.skip(l):l<0&&r.z3(`read hevc error, size: ${e.size}, read: ${e.size-l}`,o,63)}},45248:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/mdhd.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);let d=BigInt(0),c=BigInt(0),f=0,p=BigInt(0);1===o?(d=await a.readUint64(),c=await a.readUint64(),f=await a.readUint32(),p=await a.readUint64()):(d=BigInt(Math.floor(await a.readUint32())),c=BigInt(Math.floor(await a.readUint32())),f=await a.readUint32(),p=BigInt(Math.floor(await a.readUint32()))),t.duration=p,t.timeBase.den=f,t.timeBase.num=1,t.metadata.creationTime=d,t.metadata.modificationTime=c;const l=await a.readUint16(),m=[];m[0]=l>>10&31,m[1]=l>>5&31,m[2]=31&l;const u=String.fromCharCode(m[0]+96,m[1]+96,m[2]+96);t.metadata.language=l,t.metadata.languageString=u,await a.skip(2);const w=e.size-Number(a.getPos()-n);w>0?await a.skip(w):w<0&&i.z3(`read mdhd error, size: ${e.size}, read: ${e.size-w}`,s,82)}},7018:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/mfhd.ts";async function r(a,t,e,r){const n=a.getPos();await a.readUint8(),await a.skip(3),r.currentFragment.sequence=await a.readUint32();const o=e.size-Number(a.getPos()-n);o>0?await a.skip(o):o<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-o}`,s,47)}},19354:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/mvhd.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3),1===o?(r.creationTime=await a.readUint64(),r.modificationTime=await a.readUint64(),r.timescale=await a.readUint32(),r.duration=await a.readUint64()):(r.creationTime=BigInt(Math.floor(await a.readUint32())),r.modificationTime=BigInt(Math.floor(await a.readUint32())),r.timescale=await a.readUint32(),r.duration=BigInt(Math.floor(await a.readUint32()))),r.rate=await a.readUint32(),r.volume=await a.readUint16()>>>8,await a.skip(10),r.matrix=new Uint32Array(9);for(let t=0;t<9;t++)r.matrix[t]=await a.readUint32();await a.skip(24),r.nextTrackId=await a.readUint32();const d=e.size-Number(a.getPos()-n);d>0?await a.skip(d):d<0&&i.z3(`read mvhd error, size: ${e.size}, read: ${e.size-d}`,s,68)}},68361:(a,t,e)=>{e.d(t,{A:()=>I});var i=e(91635),s=e(59299),r=e(63080),n=e(62831),o=e(6570),d=e(34136),c=e(15692),f=e(37213),p=e(45248),l=e(19354),m=e(27436),u=e(40179),w=e(35173),g=e(25778),h=e(7018),z=e(61807),v=e(67523),U=e(58996),k=e(30875),A=e(65977);const I={[(0,A.A)("stts")]:i.A,[(0,A.A)("ctts")]:s.A,[(0,A.A)("stss")]:r.A,[(0,A.A)("stsz")]:n.A,[(0,A.A)("stz2")]:o.A,[(0,A.A)("stsc")]:d.A,[(0,A.A)("stco")]:c.A,[(0,A.A)("co64")]:f.A,[(0,A.A)("mdhd")]:p.A,[(0,A.A)("mvhd")]:l.A,[(0,A.A)("tkhd")]:m.A,[(0,A.A)("hdlr")]:u.A,[(0,A.A)("stsd")]:w.A,[(0,A.A)("elst")]:k.A,[(0,A.A)("trex")]:g.A,[(0,A.A)("mfhd")]:h.A,[(0,A.A)("tfhd")]:z.A,[(0,A.A)("tfdt")]:v.A,[(0,A.A)("trun")]:U.A}},15692:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stco.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[],c=await a.readUint32();if(0===o)for(let t=0;t<c;t++)d.push(BigInt(Math.floor(await a.readUint32())));t.privData.chunkOffsets=d;const f=e.size-Number(a.getPos()-n);f>0?await a.skip(f):f<0&&i.z3(`read stco error, size: ${e.size}, read: ${e.size-f}`,s,54)}},34136:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stsc.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=t.privData,c=[],f=[],p=[],l=await a.readUint32();if(0===o)for(let t=0;t<l;t++)c.push(await a.readUint32()),f.push(await a.readUint32()),p.push(await a.readUint32());d.stscFirstChunk=c,d.stscSamplesPerChunk=f,d.stscSampleDescriptionIndex=p;const m=e.size-Number(a.getPos()-n);m>0?await a.skip(m):m<0&&i.z3(`read stsc error, size: ${e.size}, read: ${e.size-m}`,s,63)}},35173:(a,t,e)=>{e.d(t,{A:()=>v});var i=e(4624),s=e(65977),r=e(6660),n=e(73840),o=e(31421),d=e(60703),c=e(83561),f=e(38582),p=e(28412),l=e(28460),m=e(86528),u=e(41781),w=e(12869),g=e(7320),h=e(36868);const z="src/avformat/formats/mov/parsing/stsd.ts";async function v(a,t,e,v){const U=a.getPos(),k=await a.readUint8();await a.skip(3);const A=t.privData,I=await a.readUint32();for(let e=0;e<I;e++){const e=await a.readUint32(),U=await a.readUint32(),I=a.getPos()+BigInt(Math.floor(e-8));if(r.uf[U]&&(t.codecpar.codecId=r.uf[U]),0===e){i.R8("stsd entry invalid box size 0, skip",z,72),await a.skip(Number(I-a.getPos()));break}if(e>=16?(await a.skip(6),await a.skip(2)):e<=7&&i.h2(`invalid size: ${e} in stsd`,z,85),0===t.codecpar.codecType){await a.skip(2),await a.skip(2),t.metadata.vendorId=await a.readString(4),await a.skip(4),await a.skip(4),t.codecpar.width=await a.readUint16(),t.codecpar.height=await a.readUint16(),await a.skip(4),await a.skip(4),await a.skip(4),await a.skip(2);let e=await a.readUint8();for(e>31&&(e=31),t.metadata.encoder=await a.readString(e),e<31&&await a.skip(31-e),await a.skip(2),await a.skip(2);a.getPos()<I;){const e=await a.readUint32(),r=await a.readUint32();0!==e?r===(0,s.A)("avcC")?await(0,n.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("hvcC")?await(0,o.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("vvcC")?await(0,d.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("av1C")?await(0,f.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("vpcC")?await(0,c.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("esds")?await(0,p.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("wave")?await(0,l.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("colr")?await(0,w.A)(a,t,{type:r,size:e-8},v):await a.skip(Math.min(e-8,Number(I-a.getPos()))):(i.R8("stsd video invalid box size 0, skip",z,134),await a.skip(Number(I-a.getPos())))}}else if(1===t.codecpar.codecType){const e=await a.readUint16();for(await a.skip(2),t.metadata.vendorId=await a.readString(4),t.codecpar.chLayout.nbChannels=await a.readUint16(),t.codecpar.bitsPerCodedSample=await a.readUint16(),A.audioCid=await a.readUint16(),await a.skip(2),t.codecpar.sampleRate=await a.readUint32()>>>16,(!v.isom||0===k&&e>0)&&(1===e?(A.samplesPerFrame=await a.readUint32(),await a.skip(4),A.bytesPerFrame=await a.readUint32(),await a.skip(4)):2===e&&(await a.skip(4),t.codecpar.sampleRate=Number(await a.readUint64()),t.codecpar.chLayout.nbChannels=await a.readUint32(),await a.skip(4),t.codecpar.bitsPerCodedSample=await a.readUint32(),await a.skip(4),A.bytesPerFrame=await a.readUint32(),A.samplesPerFrame=await a.readUint32()));a.getPos()<I;){const e=await a.readUint32(),r=await a.readUint32();0!==e?r===(0,s.A)("esds")?await(0,p.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dfLa")?await(0,m.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dOps")?await(0,u.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("wave")?await(0,l.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dac3")?await(0,g.A)(a,t,{type:r,size:e-8},v):r===(0,s.A)("dec3")?await(0,h.A)(a,t,{type:r,size:e-8},v):await a.skip(Math.min(e-8,Number(I-a.getPos()))):(i.R8("stsd audio invalid box size 0, skip",z,281),await a.skip(Number(I-a.getPos())))}}else 3===t.codecpar.codecType?(U===(0,s.A)("stpp")?t.codecpar.codecId=94232:U===(0,s.A)("wvtt")?t.codecpar.codecId=94226:U===(0,s.A)("tx3g")||U===(0,s.A)("text")?t.codecpar.codecId=94213:U===(0,s.A)("c608")&&(t.codecpar.codecId=94218),await a.skip(Math.min(e-8,Number(I-a.getPos())))):await a.skip(Math.min(e-8,Number(I-a.getPos())))}const b=e.size-Number(a.getPos()-U);b>0?await a.skip(b):b<0&&i.z3(`read stsd error, size: ${e.size}, read: ${e.size-b}`,z,382)}},63080:(a,t,e)=>{e.d(t,{A:()=>o});var i=e(80662),s=e.n(i),r=e(4624);const n="src/avformat/formats/mov/parsing/stss.ts";async function o(a,t,e,i){const o=a.getPos(),d=await a.readUint8();await a.skip(3);const c=new(s()),f=await a.readUint32();if(0===d)for(let t=0;t<f;t++)c.set(await a.readUint32(),!0);t.privData.stssSampleNumbersMap=c;const p=e.size-Number(a.getPos()-o);p>0?await a.skip(p):p<0&&r.z3(`read stss error, size: ${e.size}, read: ${e.size-p}`,n,55)}},62831:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stsz.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[];let c=0,f=0;if(0===o){c=await a.readUint32(),f=await a.readUint32();for(let t=0;t<f;t++)0===c?d.push(await a.readUint32()):d[t]=c}t.privData.sampleSizes=d;const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read stsz error, size: ${e.size}, read: ${e.size-p}`,s,63)}},91635:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stts.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=t.privData,c=[],f=[],p=await a.readUint32();let l=1;if(0===o)for(let t=0;t<p;t++)c.push(await a.readUint32()),l=await a.readInt32(),l<0&&i.R8("File uses negative stts sample delta, using value 1 instead, sync may be lost!",s,51),f.push(l);d.sttsSampleCounts=c,d.sttsSampleDeltas=f;const m=e.size-Number(a.getPos()-n);m>0?await a.skip(m):m<0&&i.z3(`read stts error, size: ${e.size}, read: ${e.size-m}`,s,65)}},6570:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/stz2.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=[];let c=0,f=0;if(0===o)if(await a.skip(3),f=await a.readUint8(),c=await a.readUint32(),4===f)for(let t=0;t<c;t+=2){const e=await a.readUint8();d[t]=e>>4&15,d[t+1]=15&e}else if(8===f)for(let t=0;t<c;t++)d[t]=await a.readUint8();else if(16===f)for(let t=0;t<c;t++)d[t]=await a.readUint16();else i.z3("Error in length field in stz2 box",s,65);t.privData.sampleSizes=d;const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read stz2 error, size: ${e.size}, read: ${e.size-p}`,s,76)}},67523:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/tfdt.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8();await a.skip(3);const d=r.currentFragment.currentTrack;d&&(d.baseMediaDecodeTime=1===o?await a.readUint64():BigInt(Math.floor(await a.readUint32())));const c=e.size-Number(a.getPos()-n);c>0?await a.skip(c):c<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-c}`,s,55)}},61807:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/tfhd.ts";async function r(a,t,e,r){const n=a.getPos(),o=(await a.readUint8(),await a.readUint24()),d=await a.readUint32(),c=r.currentFragment.currentTrack;c.trackId=d,c&&(1&o&&(c.baseDataOffset=await a.readUint64()),2&o&&await a.skip(4),8&o&&(c.defaultSampleDuration=await a.readUint32()),16&o&&(c.defaultSampleSize=await a.readUint32()),32&o&&(c.defaultSampleFlags=await a.readUint32()),131072&o&&(c.baseIsMoof=!0));const f=e.size-Number(a.getPos()-n);f>0?await a.skip(f):f<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-f}`,s,73)}},27436:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/tkhd.ts";async function r(a,t,e,r){const n=t.privData,o=a.getPos(),d=await a.readUint8();n.flags=await a.readUint24(),1&n.flags&&(t.disposition|=1),1===d?(t.metadata.creationTime=await a.readUint64(),t.metadata.modificationTime=await a.readUint64(),n.trackId=await a.readUint32(),await a.skip(4),n.duration=await a.readUint64()):(t.metadata.creationTime=BigInt(Math.floor(await a.readUint32())),t.metadata.modificationTime=BigInt(Math.floor(await a.readUint32())),n.trackId=await a.readUint32(),await a.skip(4),n.duration=BigInt(Math.floor(await a.readUint32()))),await a.skip(8),n.layer=await a.readInt16(),n.alternateGroup=await a.readInt16(),n.volume=await a.readInt16()>>8,await a.skip(2);const c=[];n.matrix=new Int32Array(9);for(let t=0;t<9;t++)n.matrix[t]=await a.readInt32(),c[t]=8===t?n.matrix[t]/1073741824:n.matrix[t]/65536;n.width=await a.readUint32()>>16,n.height=await a.readUint32()>>16,t.metadata.matrix=c;const f=e.size-Number(a.getPos()-o);f>0?await a.skip(f):f<0&&i.z3(`read tkhd error, size: ${e.size}, read: ${e.size-f}`,s,90)}},25778:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/trex.ts";async function r(a,t,e,r){const n=a.getPos();await a.readUint8(),await a.skip(3);const o=await a.readUint32();await a.skip(4);const d=await a.readUint32(),c=await a.readUint32(),f=await a.readUint32();r.trexs.push({trackId:o,duration:d,size:c,flags:f});const p=e.size-Number(a.getPos()-n);p>0?await a.skip(p):p<0&&i.z3(`read trex error, size: ${e.size}, read: ${e.size-p}`,s,59)}},58996:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/formats/mov/parsing/trun.ts";async function r(a,t,e,r){const n=a.getPos(),o=await a.readUint8(),d=await a.readUint24(),c=r.currentFragment.currentTrack;if(c){c.sampleCount=await a.readUint32(),1&d&&(c.dataOffset=await a.readInt32()),4&d&&(c.firstSampleFlags=await a.readUint32());for(let t=0;t<c.sampleCount;t++)256&d&&c.sampleDurations.push(await a.readUint32()),512&d&&c.sampleSizes.push(await a.readUint32()),1024&d&&c.sampleFlags.push(await a.readUint32()),2048&d&&(0===o?c.sampleCompositionTimeOffset.push(await a.readUint32()):c.sampleCompositionTimeOffset.push(await a.readInt32()))}const f=e.size-Number(a.getPos()-n);f>0?await a.skip(f):f<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-f}`,s,77)}},83561:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(82014);const o="src/avformat/formats/mov/parsing/vpcc.ts";async function d(a,t,e,d){const c=a.getPos();if(await a.readUint8(),await a.skip(3),t.codecpar.codecId=167,e.size-4<=0)return;const f=(0,i.sY)(e.size-4),p=await a.readBuffer(e.size-4,(0,s.JW)(f,e.size-4));d.foundMoov?(t.sideData[1]=p.slice(),(0,i.Eb)(f)):(t.codecpar.extradata=f,t.codecpar.extradataSize=e.size-4,n.XC(t,p));const l=e.size-Number(a.getPos()-c);l>0?await a.skip(l):l<0&&r.z3(`read vpcc error, size: ${e.size}, read: ${e.size-l}`,o,67)}},60703:(a,t,e)=>{e.d(t,{A:()=>d});var i=e(37837),s=e(14686),r=e(4624),n=e(59166);const o="src/avformat/formats/mov/parsing/vvcc.ts";async function d(a,t,e,d){const c=a.getPos();if(await a.readUint8(),await a.skip(3),t.codecpar.codecId=196,e.size-4<=0)return;const f=(0,i.sY)(e.size-4),p=await a.readBuffer(e.size-4,(0,s.JW)(f,e.size-4));d.foundMoov?(t.sideData[1]=p.slice(),(0,i.Eb)(f)):(t.codecpar.extradata=f,t.codecpar.extradataSize=e.size-4,n.XC(t,p));const l=e.size-Number(a.getPos()-c);l>0?await a.skip(l):l<0&&r.z3(`read vvcc error, size: ${e.size}, read: ${e.size-l}`,o,67)}},28460:(a,t,e)=>{e.d(t,{A:()=>o});var i=e(4624),s=e(65977),r=e(28412);const n="src/avformat/formats/mov/parsing/wave.ts";async function o(a,t,e,o){const d=a.getPos(),c=d+BigInt(Math.floor(e.size));for(;a.getPos()<c;){const e=await a.readUint32(),d=await a.readUint32();0!==e?d===(0,s.A)("esds")?await(0,r.A)(a,t,{type:d,size:e-8},o):await a.skip(Math.min(e-8,Number(c-a.getPos()))):(i.R8("wave invalid box size 0, skip",n,45),await a.skip(Number(c-a.getPos())))}const f=e.size-Number(a.getPos()-d);f>0?await a.skip(f):f<0&&i.z3(`read vpcc error, size: ${e.size}, read: ${e.size-f}`,n,71)}},65977:(a,t,e)=>{e.d(t,{A:()=>r});var i=e(4624);const s="src/avformat/function/mktag.ts";function r(a){4!==a.length&&i.R8(`tag length is not 4, tag: ${a}`,s,30);let t=0;for(let e=0;e<4;e++)t=t<<8|a.charCodeAt(e);return t}},95832:(a,t,e)=>{e.d(t,{Bq:()=>p,Ij:()=>f,XC:()=>c,f7:()=>l,uF:()=>r});var i=e(77231),s=e(37246);const r={1:"Main",2:"LC",3:"LC",4:"LC",5:"HE",6:"HE"},n={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},o=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,i.N_,i.N_,i.N_],d=[i.N_,1,2,3,4,5,6,7];function c(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t){const{profile:e,sampleRate:s,channels:r}=function(a){let t=i.N_,e=i.N_,s=i.N_;return a.length>=2&&(t=a[0]>>3&31,e=o[(7&a[0])<<1|a[1]>>7],s=d[a[1]>>3&15]),{profile:t,sampleRate:e,channels:s}}(t);a.codecpar.profile=e,a.codecpar.sampleRate=s,a.codecpar.chLayout.nbChannels=r,a.codecpar.frameSize=5===e?2048:1024,a.codecpar.format=8}}function f(a){const t=n[a.sampleRate],e=a.chLayout.nbChannels,s=a.profile===i.N_?2:a.profile,r=new Uint8Array(2);return r[0]=(31&s)<<3|(14&t)>>1,r[1]=(1&t)<<7|(15&e)<<3,r}function p(a){if(a.length<7)return-1;const t=a[0]<<4|a[1]>>4;if(4095!==t)return-1;const e=1&a[1],i=(192&a[2])>>>6,s=(60&a[2])>>>2,r=(1&a[2])<<2|(192&a[3])>>>6,n=(3&a[3])<<11|a[4]<<3|(224&a[5])>>>5,c=3&a[6];let f=1===e?7:9,p=n-f;return{syncWord:t,profile:i+1,sampleRate:o[s],channels:d[r],aacFrameLength:n,numberOfRawDataBlocksInFrame:c,headerLength:f,framePayloadLength:p}}function l(a,t){function e(){const a=t.readU(2);let e=0;for(let i=0;i<=a;i++)e<<=8,e|=t.readU(8);return e}t||(t=new s.A).appendBuffer(a);const i=t.getPointer(),r={syncWord:0,profile:0,sampleRate:0,channels:0,useSameStreamMux:!1,headerLength:0,framePayloadLength:0,muxLengthBytes:0},n=t.readU(11);if(695!==n)return-1;r.syncWord=n,r.muxLengthBytes=t.readU(13);const c=1===t.readU1();if(r.useSameStreamMux=c,!c){const a=1===t.readU1();if(a&&1===t.readU1())return-1;if(a&&e(),1!==t.readU1())return-1;if(0!==t.readU(6))return-1;if(0!==t.readU(4))return-1;if(0!==t.readU(3))return-1;let i=a?e():0;const s=t.readU(5);i-=5;const n=t.readU(4);i-=4;const c=t.readU(4);if(i-=4,t.readU(3),i-=3,i>0&&t.readU(i),0!==t.readU(3))return-1;if(t.readU(8),1===t.readU1())if(a)e();else{let a=0;for(;;){a<<=8;const e=1===t.readU1();if(a+=t.readU(8),!e)break}}1===t.readU1()&&t.readU(8),r.profile=s+1,r.sampleRate=o[n],r.channels=d[c]}let f=0;for(;;){const a=t.readU(8);if(f+=a,255!==a)break}return r.framePayloadLength=f,r.headerLength=t.getPointer()-i+(8===t.getBitLeft()?0:1),r}},87518:(a,t,e)=>{e.d(t,{R:()=>m,j:()=>s});var i=e(37246);const s=[3,4,3,7,259,263,1539,1543],r=[[64,69,96],[64,70,96],[80,87,120],[80,88,120],[96,104,144],[96,105,144],[112,121,168],[112,122,168],[128,139,192],[128,140,192],[160,174,240],[160,175,240],[192,208,288],[192,209,288],[224,243,336],[224,244,336],[256,278,384],[256,279,384],[320,348,480],[320,349,480],[384,417,576],[384,418,576],[448,487,672],[448,488,672],[512,557,768],[512,558,768],[640,696,960],[640,697,960],[768,835,1152],[768,836,1152],[896,975,1344],[896,976,1344],[1024,1114,1536],[1024,1115,1536],[1152,1253,1728],[1152,1254,1728],[1280,1393,1920],[1280,1394,1920]],n=[4,5,6,5],o=[4,6,7,6],d=[48e3,44100,32e3,0],c=[32,40,48,56,64,80,96,112,128,160,192,224,256,320,384,448,512,576,640],f=[2,1,2,3,3,4,4,5],p=[1,2,3,6],l=7;function m(a){const t=new i.A(a.length);t.appendBuffer(a);const e={syncWord:0,crc1:0,srCode:0,bitstreamId:0,bitstreamMode:0,channelMode:0,lfeOn:0,frameType:0,substreamId:0,centerMixLevel:0,surroundMixLevel:0,channelMap:0,numBlocks:0,dolbySurroundMode:0,srShift:0,sampleRate:0,bitrate:0,channels:0,frameSize:0,channelLayout:BigInt(0),ac3BitrateCode:0};if(e.syncWord=t.readU(16),2935!==e.syncWord)return-1;if(e.bitstreamId=31&t.peekU(29),e.bitstreamId>16)return-2;if(e.numBlocks=6,e.ac3BitrateCode=-1,e.centerMixLevel=5,e.surroundMixLevel=6,e.dolbySurroundMode=0,e.bitstreamId<=10){if(e.crc1=t.readU(16),e.srCode=t.readU(2),3===e.srCode)return-3;const a=t.readU(6);if(a>37)return-4;e.ac3BitrateCode=a>>1,t.readU(5),e.bitstreamMode=t.readU(3),e.channelMode=t.readU(3),2==e.channelMode?e.dolbySurroundMode=t.readU(2):(1&e.channelMode&&1!=e.channelMode&&(e.centerMixLevel=n[t.readU(2)]),4&e.channelMode&&(e.surroundMixLevel=o[t.readU(2)])),e.lfeOn=t.readU(1),e.srShift=Math.max(e.bitstreamId,8)-8,e.sampleRate=d[e.srCode]>>e.srShift,e.bitrate=1e3*c[e.ac3BitrateCode]>>e.srShift,e.channels=f[e.channelMode]+e.lfeOn,e.frameSize=2*r[a][e.srCode],e.frameType=2,e.substreamId=0}else{if(e.crc1=0,e.frameType=t.readU(2),3==e.frameType)return-5;if(e.substreamId=t.readU(3),e.frameSize=t.readU(11)+1<<1,e.frameSize<l)return-6;if(e.srCode=t.readU(2),3==e.srCode){const a=t.readU(2);if(3==a)return-7;e.sampleRate=d[a]/2,e.srShift=1}else e.numBlocks=p[t.readU(2)],e.sampleRate=d[e.srCode],e.srShift=0;e.channelMode=t.readU(3),e.lfeOn=t.readU(1),e.bitrate=8*e.frameSize*e.sampleRate/(256*e.numBlocks),e.channels=f[e.channelMode]+e.lfeOn}return e.channelLayout=BigInt(s[e.channelMode]),e.lfeOn&&(e.channelLayout|=BigInt(8)),e}},21477:(a,t,e)=>{e.d(t,{Ui:()=>n,XC:()=>r,zk:()=>s});var i=e(37246);e(83314),e(97317);const s={0:"Main",1:"High",2:"Professional"};function r(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length>=4){const e=n(t);a.codecpar.profile=e.profile,a.codecpar.level=e.level}}function n(a){const t=new i.A(a.length);t.appendBuffer(a),t.readU1(),t.readU(7);const e=t.readU(3),s=t.readU(5),r=t.readU1();let n=t.readU1()?10:8;return t.readU1()&&(n=12),{profile:e,level:s,tier:r,bitDepth:n,monochrome:t.readU1(),chromaSubsamplingX:t.readU1(),chromaSubsamplingY:t.readU1(),chromaSamplePosition:t.readU(2)}}},14769:(a,t,e)=>{e.d(t,{DK:()=>o,XC:()=>c,Xr:()=>d,jA:()=>r,ob:()=>s,oe:()=>n});var i=e(31865);const s=34,r=8,n=[0,8,12,0,16,20,24,32],o=[0,88200,176400,192e3,8e3,16e3,22050,24e3,32e3,44100,48e3,96e3,0,0,0,0],d=[0,192,576,1152,2304,4608,0,0,256,512,1024,2048,4096,8192,16384,32768];function c(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length===s){const{bitsPerRawSample:e,sampleRate:s,channels:r}=function(a){const t=new i.A(a);t.skip(10);const e=t.readUint24();return{sampleRate:e>>4,channels:1+((15&e)>>>1),bitsPerRawSample:1+((1&e)<<4|(240&t.readUint8())>>>4)}}(t);a.codecpar.bitsPerRawSample=e,a.codecpar.sampleRate=s,a.codecpar.chLayout.nbChannels=r}}},22576:(a,t,e)=>{e.d(t,{Ij:()=>c,XC:()=>d,kt:()=>o});var i=e(31865),s=e(729),r=e(44328);const n=[480,960,1920,2880,480,960,1920,2880,480,960,1920,2880,480,960,480,960,120,240,480,960,120,240,480,960,120,240,480,960,120,240,480,960];function o(a){let t=0,e=0,i=0;if(a.length<1)return 0;switch(t=a[0],e=n[t>>3],3&t){case 0:i=1;break;case 1:case 2:i=2;break;case 3:if(a.length<2)return 0;i=63&a[1]}return i*e}function d(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length>=19){const e=new i.A(t,!1);e.skip(9),a.codecpar.chLayout.nbChannels=e.readUint8(),a.codecpar.initialPadding=e.readUint16(),a.codecpar.sampleRate=e.readUint32(),a.codecpar.seekPreroll=Number((0,r.k)(BigInt(80),{den:1e3,num:1},{den:48e3,num:1}))}}function c(a){const t=new Uint8Array(19),e=new s.A(t,!1);return e.writeString("OpusHead"),e.writeUint8(1),e.writeUint8(a.chLayout.nbChannels),e.writeUint16(a.initialPadding),e.writeUint32(a.sampleRate),t}},82014:(a,t,e)=>{e.d(t,{Ui:()=>n,XC:()=>r,wN:()=>s}),e(9599);var i=e(37246);e(77231),e(97317),e(44328),e(729);const s={0:"Profile0",1:"Profile1",2:"Profile2",3:"Profile3"};function r(a,t){if(!t&&a.sideData[1]&&(t=a.sideData[1]),t&&t.length>=6){const e=n(t);a.codecpar.profile=e.profile,a.codecpar.level=e.level}}function n(a){const t=new i.A(a.length);return t.appendBuffer(a),{profile:t.readU(8),level:t.readU(8),bitDepth:t.readU(4),chromaSubsampling:t.readU(3),fullRangeFlag:t.readU1(),colorPrimaries:t.readU(8),colorTrc:t.readU(8),colorSpace:t.readU(8)}}},null:()=>{}}]);
@@ -1 +1 @@
1
- (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[543],{58121:(t,i,e)=>{e.d(i,{A:()=>r});var s=e(134);class r{constructor(){(0,s.A)(this,"signature",void 0),(0,s.A)(this,"version",void 0),(0,s.A)(this,"flags",void 0),(0,s.A)(this,"dataOffset",void 0),(0,s.A)(this,"hasVideo",void 0),(0,s.A)(this,"hasAudio",void 0),this.signature="FLV",this.version=1,this.flags=0,this.dataOffset=9,this.hasAudio=!1,this.hasVideo=!1}async read(t){this.signature=await t.readString(3),this.version=await t.readUint8(),this.flags=await t.readUint8(),this.dataOffset=await t.readUint32(),this.hasAudio=!!(4&this.flags),this.hasVideo=!!(1&this.flags)}write(t){this.flags=0,this.hasAudio&&(this.flags|=4),this.hasVideo&&(this.flags|=1),t.writeString(this.signature),t.writeUint8(this.version),t.writeUint8(this.flags),t.writeUint32(this.dataOffset)}}},68243:(t,i,e)=>{e.d(i,{A:()=>l});var s=e(134),r=e(35336),n=e(92647),a=e(4624),h=e(94889),o=e(9705),f=e(73040);class l{constructor(){(0,s.A)(this,"onMetaData",void 0),this.onMetaData={canSeekToEnd:!1}}async read(t,i){const e=t.getPos(),s=e+BigInt(Math.floor(i)),r=await(0,f.$x)(t,s),n=await(0,f.$x)(t,s);this[r]=n,s>t.getPos()&&await t.skip(Number(BigInt.asIntN(32,s-t.getPos())));const h=Number(t.getPos()-e),l=await t.readUint32();return h+11!==l?(a.R8(`script size not match, size: ${h+11}, previousTagSize: ${l}`,"src/avformat/formats/flv/FlvScriptTag.ts",63),o.LR):0}computeSize(){const t=[],i=new r.A;return i.onFlush=i=>(t.push(i.slice()),0),(0,f.bD)(i,"onMetaData"),(0,f.bD)(i,this.onMetaData),i.flush(),(0,n.A)(Uint8Array,t).length}write(t){if(this.onMetaData){const i=[],e=new r.A;e.onFlush=t=>(i.push(t.slice()),0),(0,f.bD)(e,"onMetaData"),(0,f.bD)(e,this.onMetaData),e.flush();const s=(0,n.A)(Uint8Array,i),a=t.getPos();h.xk(t,18,s.length,BigInt(0)),t.writeBuffer(s),t.writeUint32(Number(t.getPos()-a))}}dts2Position(t){if(this.canSeek()){let i=-1;const e=this.onMetaData.keyframes.times,s=this.onMetaData.keyframes.filepositions;let r;for(r=0;r<e.length;r++){if(e[r]===t){i=r;break}if(e[r]>t){i=Math.max(r-1,0);break}}return r&&r===e.length&&(i=e.length-1),{pos:s[i],dts:e[i]}}return{pos:-1,dts:-1}}position2DTS(t){if(this.canSeek()){let e=-1;const s=this.onMetaData.keyframes.times,r=this.onMetaData.keyframes.filepositions;let n=0;for(n=0;n<r.length;n++)if(r[n]>t){e=n;break}var i;return n===r.length?null!==(i=this.onMetaData.duration)&&void 0!==i?i:s[s.length-1]:s[e]}return-1}canSeek(){return!!(this.onMetaData.keyframes&&this.onMetaData.keyframes.filepositions&&this.onMetaData.keyframes.filepositions.length)}}},35028:(t,i,e)=>{e.d(i,{FJ:()=>s,U5:()=>r});const s={10:86018,2:86017,11:86051,1:69645,4:86049,5:86049,6:86049,7:65543,8:65542},r={7:27,12:173,13:196,9:12,2:4,3:86,4:92,5:106,6:131}},94889:(t,i,e)=>{function s(t,i,e,s){t.writeUint8(i),t.writeUint24(e),t.writeUint24(Number(s&BigInt(16777215))),t.writeUint8(Number(s>>BigInt(24)&BigInt(255))),t.writeUint24(0)}e.d(i,{xk:()=>s}),e(35028)},67543:(t,i,e)=>{e.r(i),e.d(i,{default:()=>b});var s=e(134),r=e(36773),n=e(14619),a=e(42383),h=e(82058),o=e(24175),f=e(34531),l=e(8507),u=e(35336),d=e(58121),p=e(68243),c=e(31865),w=e(73040),g=e(34677);class b extends r.A{constructor(...t){super(...t),(0,s.A)(this,"info",void 0),(0,s.A)(this,"socket",void 0),(0,s.A)(this,"session",void 0),(0,s.A)(this,"ioReader",void 0),(0,s.A)(this,"ioWriter",void 0),(0,s.A)(this,"flvWriter",void 0),(0,s.A)(this,"flvHeader",void 0),(0,s.A)(this,"packetQueue",void 0),(0,s.A)(this,"flvHeaderWrote",void 0),(0,s.A)(this,"hasMetadata",void 0),(0,s.A)(this,"bufferReader",void 0)}writeFlvData(t){this.flvWriter.writeUint8(t.type),this.flvWriter.writeUint24(t.payload.length),this.flvWriter.writeUint24(t.timestamp),this.flvWriter.writeUint8(t.timestamp>>24),this.flvWriter.writeUint24(0),this.flvWriter.writeBuffer(t.payload),this.flvWriter.writeUint32(t.payload.length+11),this.flvWriter.flush()}async handleRtmpPacket(t){if(this.flvHeaderWrote)this.writeFlvData(t);else{if(this.packetQueue.push(t),8===t.type)this.flvHeader.hasAudio=!0;else if(9===t.type)this.flvHeader.hasVideo=!0;else if(18===t.type&&(this.bufferReader?this.bufferReader.resetBuffer(t.payload):this.bufferReader=new c.A(t.payload),"onMetaData"===await w.$x(this.bufferReader,BigInt(t.payload.length)))){this.hasMetadata=!0;const i=await w.$x(this.bufferReader,BigInt(t.payload.length));this.flvHeader.hasAudio=(0,g.A)(i.audiocodecid),this.flvHeader.hasVideo=(0,g.A)(i.videocodecid)}if(this.packetQueue.length>10||this.hasMetadata){if(this.flvHeader.write(this.flvWriter),this.flvWriter.writeUint32(0),!this.hasMetadata&&this.session.getDuration()){const t=new p.A;t.onMetaData={duration:this.session.getDuration()},t.write(this.flvWriter)}this.packetQueue.forEach((t=>{this.writeFlvData(t)})),this.packetQueue.length=0,this.flvHeaderWrote=!0}}}async send(t){return this.socket?(await this.socket.send(t),0):-1048574}async open(t){this.info=t,this.status=1,3===t.subProtocol?(this.socket=new a.A(this.options),await this.socket.open({url:t.url,webtransportOptions:t.webtransportOptions})):(this.socket=new n.A(this.options),await this.socket.open({url:t.url})),this.ioReader=new o.A,this.ioReader.onFlush=async t=>this.socket.read(t),this.ioReader.onSeek=async t=>this.socket.seek(t),this.ioReader.onSize=async()=>this.socket.size(),this.ioWriter=new f.A,this.ioWriter.onFlush=async t=>this.socket.write(t),this.ioWriter.onSeek=async t=>this.socket.seek(t),this.flvWriter=new u.A,this.flvWriter.onFlush=t=>(this.readQueue.push(t.slice()),this.consume&&this.consume(),0),this.flvHeader=new d.A,this.packetQueue=[],this.flvHeaderWrote=!1,this.hasMetadata=!1,this.session=new h.A(this.ioReader,this.ioWriter,{isLive:this.options.isLive,isPull:!0}),this.session.onMediaPacket=async(t,i)=>this.handleRtmpPacket(t),this.session.onError=()=>{this.status=3,this.consume&&this.consume()},await this.session.handshake();const i=l.qg(this.info.uri),e=i.pathname.split("/");await this.session.connect(e[1],`rtmp://${i.host}${i.port?":"+i.port:""}/${e[1]}`);const s=e.slice(2);return this.session.play((s.length>1?s.join("/"):s[0])||""),0}async seek(t){return await this.session.seek(Number(t)),0}async size(){return BigInt(0)}async stop(){this.socket&&(await this.socket.stop(),this.socket=null),this.status=4}}},46084:(t,i,e)=>{e.d(i,{u:()=>r});var s=e(134);class r{constructor(t,i,e,r){(0,s.A)(this,"channelId",void 0),(0,s.A)(this,"type",void 0),(0,s.A)(this,"timestamp",void 0),(0,s.A)(this,"tsField",0),(0,s.A)(this,"extra",0),(0,s.A)(this,"payload",void 0),this.channelId=t,this.type=i,this.timestamp=e,this.payload=r instanceof Uint8Array?r:new Uint8Array(r)}}},82058:(t,i,e)=>{e.d(i,{A:()=>v});var s=e(134),r=e(80662),n=e.n(r),a=e(54001),h=e.n(a),o=e(46084),f=e(90519),l=e(86932),u=e(729),d=e(68680),p=e(73040),c=e(98951),w=e(31865),g=e(4624),b=e(72739),y=e(67672),m=e(13724),k=e(83229);const U="src/avprotocol/rtmp/RtmpSession.ts";class v{constructor(t,i,e){(0,s.A)(this,"ioReader",void 0),(0,s.A)(this,"ioWriter",void 0),(0,s.A)(this,"prevReadPacket",void 0),(0,s.A)(this,"prevWritePacket",void 0),(0,s.A)(this,"inChunkSize",void 0),(0,s.A)(this,"outChunkSize",void 0),(0,s.A)(this,"seq",void 0),(0,s.A)(this,"bufferWriter",void 0),(0,s.A)(this,"bufferReader",void 0),(0,s.A)(this,"requestMap",void 0),(0,s.A)(this,"state",void 0),(0,s.A)(this,"maxSentUnacked",void 0),(0,s.A)(this,"receiveReportSize",void 0),(0,s.A)(this,"duration",void 0),(0,s.A)(this,"options",void 0),(0,s.A)(this,"streamIdMap",void 0),(0,s.A)(this,"sendAsync",void 0),(0,s.A)(this,"onMediaPacket",void 0),(0,s.A)(this,"onError",void 0),this.ioReader=t,this.ioWriter=i,this.options=e,this.prevReadPacket=new(n()),this.prevWritePacket=new(n()),this.requestMap=new(n()),this.streamIdMap=new(n()),this.inChunkSize=128,this.outChunkSize=128,this.seq=0,this.maxSentUnacked=25e5,this.receiveReportSize=1048576,this.sendAsync=new k.an,this.bufferWriter=new u.A(new Uint8Array(1)),this.bufferReader=new w.A(new Uint8Array(1)),this.state=0}async handshake(){const t=(0,l.A)();await this.ioWriter.writeUint8(3),await this.ioWriter.writeUint32(0),await this.ioWriter.writeUint32(0);const i=new Uint8Array(1528);f.y(i),await this.ioWriter.writeBuffer(i),await this.ioWriter.flush(),await this.ioReader.readUint8();const e=await this.ioReader.readUint32();await this.ioReader.skip(4);const s=await this.ioReader.readBuffer(1528);await this.ioWriter.writeUint32(e),await this.ioWriter.writeUint32((0,l.A)()-t),await this.ioWriter.writeBuffer(s),await this.ioWriter.flush(),await this.ioReader.skip(1536),this.readRtmpPacket()}async sendPacket(t){await(0,k.s2)(this.sendAsync),await(0,c.U)(this.ioWriter,this.outChunkSize,t,this.prevWritePacket.get(t.channelId)),this.prevWritePacket.set(t.channelId,t),(0,k.Tl)(this.sendAsync)}async readPacket(){const t=await(0,c.w)(this.ioReader,this.inChunkSize,this.prevReadPacket);return this.prevReadPacket.set(t.channelId,t),t}handleChunkSize(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.inChunkSize=this.bufferReader.readUint32())}handleUserControl(t){t.payload.length>=2&&(this.bufferReader.resetBuffer(t.payload),6===this.bufferReader.readUint16()&&this.sendPong(t,this.bufferReader.readUint32()))}handleSetPeerBW(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.maxSentUnacked=this.bufferReader.readUint32(),g.Yz(`Max sent, unacked = ${this.maxSentUnacked}`,U,205))}handleWindowSizeACK(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.receiveReportSize=this.bufferReader.readUint32(),g.Yz(`Window acknowledgement size = ${this.receiveReportSize}`,U,212),this.receiveReportSize>>=1)}async handleInvoke(t){this.bufferReader.resetBuffer(t.payload);const i=BigInt(t.payload.length),e=await p.$x(this.bufferReader,i),s=await p.$x(this.bufferReader,i);if("_result"===e||"_error"===e){if(this.requestMap.has(s)){const t=await p.$x(this.bufferReader,i),r=await p.$x(this.bufferReader,i);"_result"===e?this.requestMap.get(s).resolve({options:t,info:r}):this.requestMap.get(s).reject({options:t,info:r}),this.requestMap.delete(s)}}else if("onStatus"===e){const t=await p.$x(this.bufferReader,i);let e=await p.$x(this.bufferReader,i);if("error"===e.level)g.z3(`Server error: ${e.description}, ${e.code}`,U,248),this.requestMap.has(s)?(this.requestMap.get(s).reject({options:t,info:e}),this.requestMap.delete(s)):this.onError&&this.onError();else{switch(e.code){case"NetStream.Play.Start":case"NetStream.Seek.Notify":this.state=3;break;case"NetStream.Play.Stop":case"NetStream.Play.UnpublishNotify":this.state=8;break;case"NetStream.Publish.Start":this.state=5}this.requestMap.has(s)&&(this.requestMap.get(s).resolve({options:t,info:e}),this.requestMap.delete(s))}}else"onBWDone"===e&&await this.sendCheckBW()}async handleNotify(t){this.bufferReader.resetBuffer(t.payload),"@setDataFrame"===await p.$x(this.bufferReader,BigInt(t.payload.length))&&(t.payload=t.payload.subarray(Number(this.bufferReader.getPos()))),t.payload.length&&this.onMediaPacket&&await this.onMediaPacket(t,this.streamIdMap.get(t.extra))}async readRtmpPacket(){for(;;)try{const t=await this.readPacket();switch(t.type){case 3:default:break;case 1:this.handleChunkSize(t);break;case 4:this.handleUserControl(t);break;case 6:this.handleSetPeerBW(t);break;case 5:this.handleWindowSizeACK(t);break;case 20:await this.handleInvoke(t);break;case 18:await this.handleNotify(t);break;case 22:case 8:case 9:this.onMediaPacket&&await this.onMediaPacket(t,this.streamIdMap.get(t.extra))}}catch(t){break}}async sendPong(t,i){if(t.payload.length<6)return void g.R8(`Too short ping packet (${t.payload.length})`,U,348);const e=new o.u(2,4,t.timestamp+1,6);this.bufferWriter.resetBuffer(e.payload),this.bufferWriter.writeUint16(7),this.bufferWriter.writeUint32(i),this.sendPacket(e)}async sendWindowAckSize(){const t=new o.u(2,5,0,4);this.bufferWriter.resetBuffer(t.payload),this.bufferWriter.writeUint32(this.maxSentUnacked),await this.sendPacket(t)}async sendBufferTime(t){const i=new o.u(2,4,1,10);this.bufferWriter.resetBuffer(i.payload),this.bufferWriter.writeUint16(3),this.bufferWriter.writeUint32(t),this.bufferWriter.writeUint32(this.options.clientBufferTime||3e3),await this.sendPacket(i)}async sendFCSubscribe(t){const i=new o.u(3,20,0,27+t.length);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"FCSubscribe"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendFCPublish(t){const i=new o.u(3,20,0,25+t.length);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"FCPublish"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendReleaseStream(t){const i=new o.u(3,20,0,29+t.length);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"releaseStream"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendCheckBW(){const t=new o.u(3,20,0,21);this.bufferWriter.resetBuffer(t.payload),p.bD(this.bufferWriter,"_checkbw"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),await this.sendPacket(t)}async request(t,i){const e=new o.u(3,20,0,4096+d.iD);return this.bufferWriter.resetBuffer(e.payload),p.bD(this.bufferWriter,t),p.bD(this.bufferWriter,++this.seq),b.__(i,(t=>{p.bD(this.bufferWriter,t)})),e.payload=e.payload.subarray(0,this.bufferWriter.getPos()),new(h())(((t,i)=>{this.requestMap.set(this.seq,{resolve:t,reject:i}),this.sendPacket(e)}))}async connect(t,i){await this.request("connect",[{app:t,fourCcList:["hvc1","av01","vp09"],flashVer:"LNX 9,0,124,2",tcUrl:i,fpad:0,capabilities:15,audioCodecs:4071,videoCodecs:252,videoFunction:1}]),this.options.isPull&&await this.sendWindowAckSize()}async createStream(){return(await this.request("createStream",[null])).info}async play(t){const i=await this.createStream();if(this.streamIdMap.set(i,t),!this.options.isLive){const i=await h().race([this.request("getStreamLength",[null,t]),new m.A(1)]);y.ai(i)||(this.duration=i.info)}await this.sendFCSubscribe(t),this.request("play",[null,t,-1,-1,!0]),await this.sendBufferTime(i)}async publish(t){await this.sendReleaseStream(t),await this.sendFCPublish(t);const i=await this.createStream();this.streamIdMap.set(i,t),await this.request("publish",[null,t,"live"])}async sendStreamPacket(t,i){let e=0;this.streamIdMap.forEach(((t,s)=>{t===i&&(e=s)})),t.extra=e,await this.sendPacket(t)}async seek(t){const i=new o.u(3,20,0,26);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"seek"),p.bD(this.bufferWriter,0),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async pause(t,i){const e=new o.u(3,20,0,29);this.bufferWriter.resetBuffer(e.payload),p.bD(this.bufferWriter,"pause"),p.bD(this.bufferWriter,0),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),p.bD(this.bufferWriter,i),await this.sendPacket(e)}getDuration(){return this.duration}}},68680:(t,i,e)=>{e.d(i,{iD:()=>s});const s=1024},98951:(t,i,e)=>{e.d(i,{U:()=>o,w:()=>f});var s=e(46084),r=e(92647),n=e(4624);const a="src/avprotocol/rtmp/util.ts";async function h(t,i,e){if(i<64)await t.writeUint8(i|e<<6);else if(i<320)await t.writeUint8(e<<6),await t.writeUint8(i-64);else{await t.writeUint8(1|e<<6);const s=i-64;await t.writeUint8(255&s),await t.writeUint8(s>>>8)}}async function o(t,i,e,s){const r=s&&s.extra===e.extra&&e.timestamp>=s.timestamp;let n=e.timestamp;r&&(n-=s.timestamp),e.tsField=n>16777215?16777215:n;let a=0;r&&(e.type===s.type&&e.payload.length===s.payload.length?(a=2,e.tsField===s.tsField&&(a=3)):a=1),await h(t,e.channelId,a),3!==a&&(await t.writeUint24(e.tsField),2!==a&&(await t.writeUint24(e.payload.length),await t.writeUint8(e.type),0===a&&(await t.writeUint8(e.extra),await t.writeUint8(e.extra>>8),await t.writeUint8(e.extra>>16),await t.writeUint8(e.extra>>24)))),16777215===e.tsField&&await t.writeUint32(n);let o=0;for(;o<e.payload.length;){const s=Math.min(i,e.payload.length-o);await t.writeBuffer(e.payload.subarray(o,o+s)),o+=s,o<e.payload.length&&(await h(t,e.channelId,3),16777215===e.tsField&&await t.writeUint32(n))}await t.flush()}async function f(t,i,e){const h=[],o=await t.readUint8();let f=63&o;f<2&&(f=0===await t.readUint8()?await t.readUint8()+64:64+(await t.readUint8()|await t.readUint8()<<8));const l=o>>>6,u=e.get(f);let d=u?u.payload.length:0,p=u?u.type:0,c=u?u.extra:0,w=0,g=0;if(3===l?w=u.tsField:(w=await t.readUint24(),2!==l&&(d=await t.readUint24(),p=await t.readUint8(),0===l&&(c=await t.readUint8(),c|=await t.readUint8()<<8,c|=await t.readUint8()<<16,c|=await t.readUint8()<<24))),g=16777215===w?await t.readUint32():w,0!==l&&(u?g+=u.timestamp:n.R8(`got invalid message fmt, channel id ${f} can not find prev message with fmt ${l}`,a,171)),d<i)h.push(await t.readBuffer(d));else{let e=d;for(;e;){const s=Math.min(i,e);if(h.push(await t.readBuffer(s)),e-=s,e){const i=63&await t.readUint8();i<2&&await t.skip(i+1),16777215===w&&await t.skip(4)}}}const b=new s.u(f,p,g,(0,r.A)(Uint8Array,h));return b.tsField=w,b.extra=c,b}},73040:(t,i,e)=>{e.d(i,{$x:()=>h,bD:()=>o});var s=e(67672),r=e(72739),n=e(95335);async function a(t,i){return{key:await t.readString(await t.readUint16()),value:await h(t,i)}}async function h(t,i){let e;switch(await t.readUint8()){case 0:e=await t.readDouble();break;case 1:e=!!await t.readUint8();break;case 2:e=await t.readString(await t.readUint16());break;case 3:for(e={};t.getPos()<i;){const{key:s,value:r}=await a(t,i);if(e[s]=r,9==(16777215&await t.peekUint24())){await t.skip(3);break}}break;case 8:for(e={},await t.skip(4);t.getPos()<i;){const{key:s,value:r}=await a(t,i);if(e[s]=r,9==(16777215&await t.peekUint24())){await t.skip(3);break}}break;case 9:case 5:e=null;break;case 10:e=[];const s=await t.readUint32();for(let r=0;r<s;r++)e.push(await h(t,i));break;case 11:const r=await t.readDouble(),n=await t.readInt16();e=new Date(r+60*n*1e3);break;case 12:e=await t.readString(await t.readUint32())}return e}function o(t,i){s.ai(i)?(t.writeUint8(0),t.writeDouble(i)):s.o(i)?(t.writeUint8(0),t.writeDouble(Number(i))):s.zM(i)?(t.writeUint8(1),t.writeUint8(i?1:0)):s.Yj(i)?i.length>=65536?(t.writeUint8(12),t.writeUint32(i.length),t.writeString(i)):(t.writeUint8(2),t.writeUint16(i.length),t.writeString(i)):s.YO(i)?(t.writeUint8(10),t.writeUint32(i.length),r.__(i,(i=>{o(t,i)}))):s.Ik(i)?(t.writeUint8(3),n.__(i,((i,e)=>{t.writeUint16(e.length),t.writeString(e),o(t,i)})),t.writeUint24(9)):i instanceof Date?(t.writeUint8(11),t.writeDouble(i.getTime()),t.writeInt16(0)):null==i&&t.writeUint8(5)}},90519:(t,i,e)=>{function s(t){crypto.getRandomValues(t)}e.d(i,{y:()=>s})},83229:(t,i,e)=>{e.d(i,{Tl:()=>o,an:()=>a,s2:()=>h});var s=e(134),r=e(54001),n=e.n(r);class a{constructor(){(0,s.A)(this,"list",[])}}async function h(t){return new(n())((i=>{t.list.push(i),1===t.list.length&&i()}))}function o(t){t.list.shift(),t.list.length&&t.list[0]()}},6498:(t,i,e)=>{e(67672),e(72739)},24175:(t,i,e)=>{e.d(i,{A:()=>o});var s=e(134),r=e(4624),n=e(50011),a=e(13724);const h="src/common/io/IOReader.ts";class o{constructor(t=1048576,i=!0,e){if((0,s.A)(this,"data",void 0),(0,s.A)(this,"buffer",void 0),(0,s.A)(this,"pointer",void 0),(0,s.A)(this,"endPointer",void 0),(0,s.A)(this,"pos",void 0),(0,s.A)(this,"size",void 0),(0,s.A)(this,"littleEndian",void 0),(0,s.A)(this,"fileSize_",void 0),(0,s.A)(this,"error",void 0),(0,s.A)(this,"onFlush",void 0),(0,s.A)(this,"onSeek",void 0),(0,s.A)(this,"onSize",void 0),(0,s.A)(this,"flags",void 0),this.pos=BigInt(0),this.pointer=0,this.error=0,this.endPointer=0,this.littleEndian=!i,this.flags=0,e&&e.view)this.size=e.length,this.buffer=e,this.data=e.view;else if(e&&!e.byteOffset)this.size=e.length,this.buffer=e,this.data=new DataView(this.buffer.buffer);else{if(e)throw new Error("not support subarray of ArrayBuffer");this.size=Math.max(t,102400),this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}async readUint8(){this.remainingLength()<1&&await this.flush(1);const t=this.data.getUint8(this.pointer);return this.pointer++,this.pos++,t}async peekUint8(){return this.remainingLength()<1&&await this.flush(1),this.data.getUint8(this.pointer)}async readUint16(){this.remainingLength()<2&&await this.flush(2);const t=this.data.getUint16(this.pointer,this.littleEndian);return this.pointer+=2,this.pos+=BigInt(2),t}async peekUint16(){return this.remainingLength()<2&&await this.flush(2),this.data.getUint16(this.pointer,this.littleEndian)}async readUint24(){this.remainingLength()<3&&await this.flush(3);const t=await this.readUint16(),i=await this.readUint8();return this.littleEndian?i<<16|t:t<<8|i}async peekUint24(){this.remainingLength()<3&&await this.flush(3);const t=this.pointer,i=this.pos,e=await this.readUint16(),s=await this.readUint8(),r=this.littleEndian?s<<16|e:e<<8|s;return this.pointer=t,this.pos=i,r}async readUint32(){this.remainingLength()<4&&await this.flush(4);const t=this.data.getUint32(this.pointer,this.littleEndian);return this.pointer+=4,this.pos+=BigInt(4),t}async peekUint32(){return this.remainingLength()<4&&await this.flush(4),this.data.getUint32(this.pointer,this.littleEndian)}async readUint64(){this.remainingLength()<8&&await this.flush(8);const t=this.data.getBigUint64(this.pointer,this.littleEndian);return this.pointer+=8,this.pos+=BigInt(8),t}async peekUint64(){return this.remainingLength()<8&&await this.flush(8),this.data.getBigUint64(this.pointer,this.littleEndian)}async readInt8(){this.remainingLength()<1&&await this.flush(1);const t=this.data.getInt8(this.pointer);return this.pointer++,this.pos++,t}async peekInt8(){return this.remainingLength()<1&&await this.flush(1),this.data.getInt8(this.pointer)}async readInt16(){this.remainingLength()<2&&await this.flush(2);const t=this.data.getInt16(this.pointer,this.littleEndian);return this.pointer+=2,this.pos+=BigInt(2),t}async peekInt16(){return this.remainingLength()<2&&await this.flush(2),this.data.getInt16(this.pointer,this.littleEndian)}async readInt24(){const t=await this.readUint24();return 8388608&t?t-16777216:t}async peekInt24(){const t=await this.peekUint24();return 8388608&t?t-16777216:t}async readInt32(){this.remainingLength()<4&&await this.flush(4);const t=this.data.getInt32(this.pointer,this.littleEndian);return this.pointer+=4,this.pos+=BigInt(4),t}async peekInt32(){return this.remainingLength()<4&&await this.flush(4),this.data.getInt32(this.pointer,this.littleEndian)}async readInt64(){this.remainingLength()<8&&await this.flush(8);const t=this.data.getBigInt64(this.pointer,this.littleEndian);return this.pointer+=8,this.pos+=BigInt(8),t}async peekInt64(){return this.remainingLength()<8&&await this.flush(8),this.data.getBigInt64(this.pointer,this.littleEndian)}async readFloat(){this.remainingLength()<4&&await this.flush(4);const t=this.data.getFloat32(this.pointer,this.littleEndian);return this.pointer+=4,this.pos+=BigInt(4),t}async peekFloat(){return this.remainingLength()<4&&await this.flush(4),this.data.getFloat32(this.pointer,this.littleEndian)}async readDouble(){this.remainingLength()<8&&await this.flush(8);const t=this.data.getFloat64(this.pointer,this.littleEndian);return this.pointer+=8,this.pos+=BigInt(8),t}async peekDouble(){return this.remainingLength()<8&&await this.flush(8),this.data.getFloat64(this.pointer,this.littleEndian)}async readHex(t=1){let i="";for(let e=0;e<t;e++){const t=(await this.readUint8()).toString(16);i+=1===t.length?"0"+t:t}return i}async peekHex(t=1){t>this.size&&(this.error=-1048574,r.h2("peekHex, length too large",h,414)),this.remainingLength()<t&&await this.flush(t);const i=this.pointer,e=this.pos;let s="";for(let i=0;i<t;i++){const t=(await this.readUint8()).toString(16);s+=1===t.length?"0"+t:t}return this.pointer=i,this.pos=e,s}async readBuffer(t,i){if(i||(i=new Uint8Array(t)),this.remainingLength()<t){let e=0;if(this.remainingLength()>0){const s=this.remainingLength();i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}for(;t>0;){await this.flush();const s=Math.min(this.endPointer-this.pointer,t);i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}}else i.set(this.buffer.subarray(this.pointer,this.pointer+t),0),this.pointer+=t,this.pos+=BigInt(t);return i}async peekBuffer(t,i){return t>this.size&&(this.error=-1048574,r.h2("peekBuffer, length too large",h,499)),this.remainingLength()<t&&await this.flush(t),i||(i=new Uint8Array(t)),i.set(this.buffer.subarray(this.pointer,this.pointer+t),0),i}async readToBuffer(t,i){if(this.remainingLength()<t){let e=0;if(this.remainingLength()>0){const s=this.remainingLength();i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}for(;t>0;){try{await this.flush()}catch(t){if(-1048576===this.error&&e)return e;throw t}const s=Math.min(this.endPointer-this.pointer,t);i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}return e}return i.set(this.buffer.subarray(this.pointer,this.pointer+t),0),this.pointer+=t,this.pos+=BigInt(t),t}async readString(t=1){const i=await this.readBuffer(t);return n.decode(i)}async peekString(t=1){const i=await this.peekBuffer(t);return n.decode(i)}async readLine(){let t="";for(;;){let i=!1;for(let e=this.pointer;e<this.endPointer;e++)if(10===this.buffer[e]||13===this.buffer[e]){e!==this.pointer&&(t+=await this.readString(e-this.pointer)),i=!0;break}if(i)break;t+=await this.readString(this.remainingLength()),await this.flush()}let i=await this.peekUint8();return 10!==i&&13!==i||(this.pointer++,13===i&&(i=await this.peekUint8(),10===i&&this.pointer++)),t}async peekLine(){if(this.remainingLength()<this.size)try{await this.flush()}catch(t){if(-1048576!==this.error)throw t}let t="",i=!1;for(let e=this.pointer;e<this.endPointer;e++)if(10===this.buffer[e]||13===this.buffer[e]){t+=await this.peekString(e-this.pointer),i=!0;break}return i||(this.error=-1048574,r.h2("peekLine, out of buffer",h,657)),t}getPointer(){return this.pointer}getPos(){return this.pos}async skip(t){const i=t;for(;this.remainingLength()<t;)t-=this.remainingLength(),this.pointer=this.endPointer,await this.flush();this.remainingLength()>=t&&(this.pointer+=t),this.pos+=BigInt(i)}remainingLength(){return this.endPointer-this.pointer}async flush_(t){for(;;){const i=await this.onFlush(t);if(-1048575!==i)return i;await new a.A(0)}}async flush(t=0){if(this.onFlush||(this.error=-1048574,r.h2("IOReader error, flush failed because of no flush callback",h,731)),!(this.size-this.remainingLength()<=0)){if(t=Math.min(t,this.size),this.pointer<this.endPointer?(this.buffer.set(this.buffer.subarray(this.pointer,this.endPointer),0),this.endPointer=this.endPointer-this.pointer):this.endPointer=0,this.pointer=0,t)for(;this.remainingLength()<t;){const t=await this.flush_(this.buffer.subarray(this.endPointer));if(t<0)throw this.error=t,new Error(`IOReader error, flush ${-1048576===t?"ended":"failed"}, ret: ${t}`);this.endPointer+=t}else{const t=await this.flush_(this.buffer.subarray(this.endPointer));if(t<0)throw this.error=t,new Error(`IOReader error, flush ${-1048576===t?"ended":"failed"}, ret: ${t}`);this.endPointer+=t}this.error=0}}async seek(t,i=!1,e=!0){if(!i){const i=Number(t-this.pos);if(i<0&&Math.abs(i)<this.pointer)return this.pointer+=i,void(this.pos=t);if(i>0&&this.pointer+i<this.endPointer)return this.pointer+=i,void(this.pos=t);if(0===i)return}this.onSeek||(this.error=-1048574,r.h2("IOReader error, seek failed because of no seek callback",h,802)),this.pointer=this.endPointer=0,this.pos=t;const s=await this.onSeek(t);0!==s&&(this.error=s,r.h2("IOReader error, seek failed",h,811)),e&&await this.flush()}getBuffer(){return this.buffer}appendBuffer(t){if(this.size-this.endPointer>=t.length)this.buffer.set(t,this.endPointer),this.endPointer+=t.length;else if(this.buffer.set(this.buffer.subarray(this.pointer,this.endPointer),0),this.endPointer=this.endPointer-this.pointer,this.pointer=0,this.size-this.endPointer>=t.length)this.buffer.set(t,this.endPointer),this.endPointer+=t.length;else{const i=Math.min(this.size-this.endPointer,t.length);this.buffer.set(t.subarray(0,i),this.endPointer),this.endPointer+=i,r.R8("IOReader, call appendBuffer but the buffer's size is lagger then the remaining size",h,849)}}reset(){this.pointer=this.endPointer=0,this.pos=BigInt(0),this.error=0}setEndian(t){this.littleEndian=!t}async fileSize(){if(this.fileSize_)return this.fileSize_;if(!this.onSize)return r.R8("IOReader error, fileSize failed because of no onSize callback",h,882),BigInt(0);try{this.fileSize_=await this.onSize()}catch(t){r.R8(`IOReader error, call fileSize failed: ${t}`,h,889),this.fileSize_=BigInt(0)}return this.fileSize_}getBufferSize(){return this.size}async pipe(t,i){if(i)if(this.remainingLength()<i){if(this.remainingLength()>0){const e=this.remainingLength();await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+e)),this.pointer+=e,this.pos+=BigInt(e),i-=e}for(;i>0;){await this.flush();const e=Math.min(this.remainingLength(),i);await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+e)),this.pointer+=e,this.pos+=BigInt(e),i-=e}}else await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+i)),this.pointer+=i,this.pos+=BigInt(i);else{if(this.remainingLength()>0){const i=this.remainingLength();await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+i)),this.pointer+=i,this.pos+=BigInt(i)}for(;await this.flush_(this.buffer.subarray(0))>0;){const i=this.remainingLength();await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+i)),this.pointer+=i,this.pos+=BigInt(i)}}}}},34531:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(134),r=e(50011);class n{constructor(t=1048576,i=!0,e){if((0,s.A)(this,"data",void 0),(0,s.A)(this,"buffer",void 0),(0,s.A)(this,"pointer",void 0),(0,s.A)(this,"pos",void 0),(0,s.A)(this,"size",void 0),(0,s.A)(this,"littleEndian",void 0),(0,s.A)(this,"error",void 0),(0,s.A)(this,"onFlush",void 0),(0,s.A)(this,"onSeek",void 0),this.pointer=0,this.pos=BigInt(0),this.size=t,this.littleEndian=!i,this.error=0,e&&e.view)this.size=e.length,this.buffer=e,this.data=e.view;else if(e&&!e.byteOffset)this.size=e.length,this.buffer=e,this.data=new DataView(this.buffer.buffer);else{if(e)throw new Error("not support subarray of ArrayBuffer");this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}async writeUint8(t){this.remainingLength()<1&&await this.flush(),this.data.setUint8(this.pointer,t),this.pointer++,this.pos++}async writeUint16(t){this.remainingLength()<2&&await this.flush(),this.data.setUint16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}async writeUint24(t){this.remainingLength()<3&&await this.flush();const i=(16711680&t)>>16,e=(65280&t)>>8,s=255&t;this.littleEndian?(await this.writeUint8(s),await this.writeUint8(e),await this.writeUint8(i)):(await this.writeUint8(i),await this.writeUint8(e),await this.writeUint8(s))}async writeUint32(t){this.remainingLength()<4&&await this.flush(),this.data.setUint32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}async writeUint64(t){this.remainingLength()<8&&await this.flush(),this.data.setBigUint64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}async writeInt8(t){this.remainingLength()<1&&await this.flush(),this.data.setInt8(this.pointer,t),this.pointer++,this.pos++}async writeInt16(t){this.remainingLength()<2&&await this.flush(),this.data.setInt16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}async writeInt24(t){await this.writeUint24(t<0?t+16777216:t)}async writeInt32(t){this.remainingLength()<4&&await this.flush(),this.data.setInt32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}async writeInt64(t){this.remainingLength()<8&&await this.flush(),this.data.setBigInt64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}async writeFloat(t){this.remainingLength()<4&&await this.flush(),this.data.setFloat32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}async writeDouble(t){this.remainingLength()<8&&await this.flush(),this.data.setFloat64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}getPointer(){return this.pointer}getPos(){return this.pos}remainingLength(){return this.size-this.pointer}async writeBuffer(t){if(!t.length)return;let i=t.length;if(this.remainingLength()<i){let e=0;for(;i>0;){await this.flush();const s=Math.min(this.size,i);this.buffer.set(t.subarray(e,e+s),this.pointer),this.pointer+=s,this.pos+=BigInt(s),e+=s,i-=s}}else this.buffer.set(t,this.pointer),this.pointer+=i,this.pos+=BigInt(i)}async writeString(t){const i=r.encode(t);return await this.writeBuffer(i),i.length}async flush(){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const t=await this.onFlush(this.buffer.subarray(0,this.pointer));if(0!==t)throw this.error=t,Error("IOWriter error, flush failed")}this.pointer=0}async flushToPos(t){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const i=await this.onFlush(this.buffer.subarray(0,this.pointer),t);if(0!==i)throw this.error=i,Error("IOWriter error, flush failed")}this.pointer=0}async seek(t){if(!this.onSeek)throw this.error=-1048574,Error("IOWriter error, seek failed because of no seek callback");await this.flush();const i=await this.onSeek(t);if(0!==i)throw this.error=i,Error("IOWriter error, seek failed");this.pos=t}seekInline(t){const i=this.pointer;this.pointer=Math.max(0,Math.min(this.size,t)),this.pos+=BigInt(this.pointer-i)}skip(t){const i=this.pointer;this.pointer=Math.min(this.size,this.pointer+t),this.pos+=BigInt(this.pointer-i)}back(t){const i=this.pointer;this.pointer=Math.max(0,this.pointer-t),this.pos+=BigInt(this.pointer-i)}getBuffer(){return this.buffer.subarray(0,this.pointer)}setEndian(t){this.littleEndian=!t}reset(){this.pointer=0,this.pos=BigInt(0),this.error=0}getBufferSize(){return this.size}}},35336:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(134),r=e(50011);class n{constructor(t=1048576,i=!0,e){if((0,s.A)(this,"data",void 0),(0,s.A)(this,"buffer",void 0),(0,s.A)(this,"pointer",void 0),(0,s.A)(this,"pos",void 0),(0,s.A)(this,"size",void 0),(0,s.A)(this,"littleEndian",void 0),(0,s.A)(this,"error",void 0),(0,s.A)(this,"onFlush",void 0),(0,s.A)(this,"onSeek",void 0),this.pointer=0,this.pos=BigInt(0),this.size=t,this.littleEndian=!i,this.error=0,e&&e.view)this.size=e.length,this.buffer=e,this.data=e.view;else if(e&&!e.byteOffset)this.size=e.length,this.buffer=e,this.data=new DataView(this.buffer.buffer);else{if(e)throw new Error("not support subarray of ArrayBuffer");this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}writeUint8(t){this.remainingLength()<1&&this.flush(),this.data.setUint8(this.pointer,t),this.pointer++,this.pos++}writeUint16(t){this.remainingLength()<2&&this.flush(),this.data.setUint16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}writeUint24(t){this.remainingLength()<3&&this.flush();const i=(16711680&t)>>16,e=(65280&t)>>8,s=255&t;this.littleEndian?(this.writeUint8(s),this.writeUint8(e),this.writeUint8(i)):(this.writeUint8(i),this.writeUint8(e),this.writeUint8(s))}writeUint32(t){this.remainingLength()<4&&this.flush(),this.data.setUint32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeUint64(t){this.remainingLength()<8&&this.flush(),this.data.setBigUint64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}writeInt8(t){this.remainingLength()<1&&this.flush(),this.data.setInt8(this.pointer,t),this.pointer++,this.pos++}writeInt16(t){this.remainingLength()<2&&this.flush(),this.data.setInt16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}writeInt24(t){this.writeUint24(t<0?t+16777216:t)}writeInt32(t){this.remainingLength()<4&&this.flush(),this.data.setInt32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeInt64(t){this.remainingLength()<8&&this.flush(),this.data.setBigInt64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}writeFloat(t){this.remainingLength()<4&&this.flush(),this.data.setFloat32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeDouble(t){this.remainingLength()<8&&this.flush(),this.data.setFloat64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}getPointer(){return this.pointer}getPos(){return this.pos}remainingLength(){return this.size-this.pointer}writeBuffer(t){if(!t.length)return;let i=t.length;if(this.remainingLength()<i){let e=0;for(;i>0;){this.flush();const s=Math.min(this.size,i);this.buffer.set(t.subarray(e,e+s),this.pointer),this.pointer+=s,this.pos+=BigInt(s),e+=s,i-=s}}else this.buffer.set(t,this.pointer),this.pointer+=i,this.pos+=BigInt(i)}writeString(t){const i=r.encode(t);return this.writeBuffer(i),i.length}flush(){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const t=this.onFlush(this.buffer.subarray(0,this.pointer));if(0!==t)throw this.error=t,Error("IOWriter error, flush failed")}this.pointer=0}flushToPos(t){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const i=this.onFlush(this.buffer.subarray(0,this.pointer),t);if(0!==i)throw this.error=i,Error("IOWriter error, flush failed")}this.pointer=0}seek(t){if(!this.onSeek)throw this.error=-1048574,Error("IOWriter error, seek failed because of no seek callback");this.flush();const i=this.onSeek(t);if(0!==i)throw this.error=i,Error("IOWriter error, seek failed");this.pos=t}seekInline(t){const i=this.pointer;this.pointer=Math.max(0,Math.min(this.size,t)),this.pos+=BigInt(this.pointer-i)}skip(t){const i=this.pointer;this.pointer=Math.min(this.size,this.pointer+t),this.pos+=BigInt(this.pointer-i)}back(t){const i=this.pointer;this.pointer=Math.max(0,this.pointer-t),this.pos+=BigInt(this.pointer-i)}getBuffer(){return this.buffer.subarray(0,this.pointer)}setEndian(t){this.littleEndian=!t}reset(){this.pointer=0,this.pos=BigInt(0),this.error=0}getBufferSize(){return this.size}}},8507:(t,i,e)=>{function s(t){const i=t,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],s=/:\/\/([^\/@]*@?)\[(\S+)\]/;let r="";s.test(t)&&(t=t.replace(s,((t,i,e)=>(r=e,`://${i||""}a.b`))));const n={},a=/^(?:(?![^:@\/]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*)(?::([^:@\/]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(t);let h=14;for(;h--;){var o;n[e[h]]=null!==(o=a[h])&&void 0!==o?o:""}return r&&(n.host=r,n.source=i,n.authority=r+(n.port?":"+n.port:"")),{protocol:n.protocol,file:n.file,host:n.host,port:n.port,user:n.user,password:n.password,origin:`${n.protocol}://${n.authority}`,pathname:n.path,search:`?${n.query}`,hash:n.anchor?`#${n.anchor}`:""}}e.d(i,{ll:()=>u,qg:()=>s}),e(73146),e(67672),e(6498),e(72739),e(95335);const r=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,a=/^(?=([^\/?#]*))\1([^]*)$/,h=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/;function o(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}function f(t){const i=h.exec(t);return i?{scheme:i[1]||"",netLoc:i[2]||"",path:i[3]||"",params:i[4]||"",query:i[5]||"",fragment:i[6]||""}:null}function l(t){for(t=t.split("").reverse().join("").replace(r,"");t.length!==(t=t.replace(n,"")).length;);return t.split("").reverse().join("")}function u(t,i,e){if(e=e||{},t=t.trim(),!(i=i.trim())){if(!e.alwaysNormalize)return t;let i=f(t);if(!i)throw new Error("Error trying to parse base URL.");return i.path=l(i.path),o(i)}let s=f(i);if(!s)throw new Error("Error trying to parse relative URL.");if(s.scheme)return e.alwaysNormalize?(s.path=l(s.path),o(s)):i;let r=f(t);if(!r)throw new Error("Error trying to parse base URL.");if(!r.netLoc&&r.path&&"/"!==r.path[0]){let t=a.exec(r.path);r.netLoc=t[1],r.path=t[2]}r.netLoc&&!r.path&&(r.path="/");const n={scheme:r.scheme,netLoc:s.netLoc,path:null,params:s.params,query:s.query,fragment:s.fragment};if(!s.netLoc&&(n.netLoc=r.netLoc,"/"!==s.path[0]))if(s.path){let t=r.path,i=t.substring(0,t.lastIndexOf("/")+1)+s.path;n.path=l(i)}else n.path=r.path,s.params||(n.params=r.params,s.query||(n.query=r.query));return null===n.path&&(n.path=e.alwaysNormalize?l(s.path):s.path),o(n)}},85079:(t,i,e)=>{var s=e(46438),r=s.JSON||(s.JSON={stringify:JSON.stringify});t.exports=function(t){return r.stringify.apply(r,arguments)}},73146:(t,i,e)=>{t.exports=e(85079)}}]);
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[543],{58121:(t,i,e)=>{e.d(i,{A:()=>r});var s=e(134);class r{constructor(){(0,s.A)(this,"signature",void 0),(0,s.A)(this,"version",void 0),(0,s.A)(this,"flags",void 0),(0,s.A)(this,"dataOffset",void 0),(0,s.A)(this,"hasVideo",void 0),(0,s.A)(this,"hasAudio",void 0),this.signature="FLV",this.version=1,this.flags=0,this.dataOffset=9,this.hasAudio=!1,this.hasVideo=!1}async read(t){this.signature=await t.readString(3),this.version=await t.readUint8(),this.flags=await t.readUint8(),this.dataOffset=await t.readUint32(),this.hasAudio=!!(4&this.flags),this.hasVideo=!!(1&this.flags)}write(t){this.flags=0,this.hasAudio&&(this.flags|=4),this.hasVideo&&(this.flags|=1),t.writeString(this.signature),t.writeUint8(this.version),t.writeUint8(this.flags),t.writeUint32(this.dataOffset)}}},68243:(t,i,e)=>{e.d(i,{A:()=>u});var s=e(134),r=e(35336),n=e(92647),a=e(4624),h=e(94889),o=e(9705),f=e(73040);class u{constructor(){(0,s.A)(this,"onMetaData",void 0),this.onMetaData={canSeekToEnd:!1}}async read(t,i){const e=t.getPos(),s=e+BigInt(Math.floor(i)),r=await(0,f.$x)(t,s),n=await(0,f.$x)(t,s);this[r]=n,s>t.getPos()&&await t.skip(Number(BigInt.asIntN(32,s-t.getPos())));const h=Number(t.getPos()-e),u=await t.readUint32();return h+11!==u?(a.R8(`script size not match, size: ${h+11}, previousTagSize: ${u}`,"src/avformat/formats/flv/FlvScriptTag.ts",63),o.LR):0}computeSize(){const t=[],i=new r.A;return i.onFlush=i=>(t.push(i.slice()),0),(0,f.bD)(i,"onMetaData"),(0,f.bD)(i,this.onMetaData),i.flush(),(0,n.A)(Uint8Array,t).length}write(t){if(this.onMetaData){const i=[],e=new r.A;e.onFlush=t=>(i.push(t.slice()),0),(0,f.bD)(e,"onMetaData"),(0,f.bD)(e,this.onMetaData),e.flush();const s=(0,n.A)(Uint8Array,i);h.M5(t,18,BigInt(0),void 0,s)}}dts2Position(t){if(this.canSeek()){let i=-1;const e=this.onMetaData.keyframes.times,s=this.onMetaData.keyframes.filepositions;let r;for(r=0;r<e.length;r++){if(e[r]===t){i=r;break}if(e[r]>t){i=Math.max(r-1,0);break}}return r&&r===e.length&&(i=e.length-1),{pos:s[i],dts:e[i]}}return{pos:-1,dts:-1}}position2DTS(t){if(this.canSeek()){let e=-1;const s=this.onMetaData.keyframes.times,r=this.onMetaData.keyframes.filepositions;let n=0;for(n=0;n<r.length;n++)if(r[n]>t){e=n;break}var i;return n===r.length?null!==(i=this.onMetaData.duration)&&void 0!==i?i:s[s.length-1]:s[e]}return-1}canSeek(){return!!(this.onMetaData.keyframes&&this.onMetaData.keyframes.filepositions&&this.onMetaData.keyframes.filepositions.length)}}},35028:(t,i,e)=>{e.d(i,{FJ:()=>s,U5:()=>r});const s={10:86018,2:86017,11:86051,1:69645,4:86049,5:86049,6:86049,7:65543,8:65542},r={7:27,12:173,9:12,2:4,3:86,4:92,5:106,6:131}},94889:(t,i,e)=>{e.d(i,{M5:()=>n}),e(35028),e(44328),e(77231),e(65977);var s=e(67672);function r(t,i,e){const s=t.getPos(),r=t.getPointer(),n=s-BigInt(Math.floor(r));i<s&&i>=n?(t.seekInline(r+Number(i-s)),t.writeUint24(e),t.seekInline(r)):(t.seek(i),t.writeUint24(e),t.seek(s))}function n(t,i,e,n,a,h){t.flush(),t.writeUint8(i);const o=t.getPos();t.writeUint24(0),t.writeUint24(Number(e&BigInt(16777215))),t.writeUint8(Number(e>>BigInt(24)&BigInt(255))),t.writeUint24(0);const f=t.getPos();n&&n(t),s.Pc(a)?(a(t),r(t,o,Number(t.getPos()-f))):a&&(r(t,o,a.length+Number(t.getPos()-f)),t.writeBuffer(a));const u=Number(t.getPos()-o)+1;h&&h(u),t.writeUint32(u)}},65977:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(4624);const r="src/avformat/function/mktag.ts";function n(t){4!==t.length&&s.R8(`tag length is not 4, tag: ${t}`,r,30);let i=0;for(let e=0;e<4;e++)i=i<<8|t.charCodeAt(e);return i}},67543:(t,i,e)=>{e.r(i),e.d(i,{default:()=>b});var s=e(134),r=e(36773),n=e(14619),a=e(42383),h=e(82058),o=e(24175),f=e(34531),u=e(8507),l=e(35336),d=e(58121),p=e(68243),c=e(31865),w=e(73040),g=e(34677);class b extends r.A{constructor(...t){super(...t),(0,s.A)(this,"info",void 0),(0,s.A)(this,"socket",void 0),(0,s.A)(this,"session",void 0),(0,s.A)(this,"ioReader",void 0),(0,s.A)(this,"ioWriter",void 0),(0,s.A)(this,"flvWriter",void 0),(0,s.A)(this,"flvHeader",void 0),(0,s.A)(this,"packetQueue",void 0),(0,s.A)(this,"flvHeaderWrote",void 0),(0,s.A)(this,"hasMetadata",void 0),(0,s.A)(this,"bufferReader",void 0)}writeFlvData(t){this.flvWriter.writeUint8(t.type),this.flvWriter.writeUint24(t.payload.length),this.flvWriter.writeUint24(t.timestamp),this.flvWriter.writeUint8(t.timestamp>>24),this.flvWriter.writeUint24(0),this.flvWriter.writeBuffer(t.payload),this.flvWriter.writeUint32(t.payload.length+11),this.flvWriter.flush()}async handleRtmpPacket(t){if(this.flvHeaderWrote)this.writeFlvData(t);else{if(this.packetQueue.push(t),8===t.type)this.flvHeader.hasAudio=!0;else if(9===t.type)this.flvHeader.hasVideo=!0;else if(18===t.type&&(this.bufferReader?this.bufferReader.resetBuffer(t.payload):this.bufferReader=new c.A(t.payload),"onMetaData"===await w.$x(this.bufferReader,BigInt(t.payload.length)))){this.hasMetadata=!0;const i=await w.$x(this.bufferReader,BigInt(t.payload.length));this.flvHeader.hasAudio=(0,g.A)(i.audiocodecid),this.flvHeader.hasVideo=(0,g.A)(i.videocodecid)}if(this.packetQueue.length>10||this.hasMetadata){if(this.flvHeader.write(this.flvWriter),this.flvWriter.writeUint32(0),!this.hasMetadata&&this.session.getDuration()){const t=new p.A;t.onMetaData={duration:this.session.getDuration()},t.write(this.flvWriter)}this.packetQueue.forEach((t=>{this.writeFlvData(t)})),this.packetQueue.length=0,this.flvHeaderWrote=!0}}}async send(t){return this.socket?(await this.socket.send(t),0):-1048574}async open(t){this.info=t,this.status=1,3===t.subProtocol?(this.socket=new a.A(this.options),await this.socket.open({url:t.url,webtransportOptions:t.webtransportOptions})):(this.socket=new n.A(this.options),await this.socket.open({url:t.url})),this.ioReader=new o.A,this.ioReader.onFlush=async t=>this.socket.read(t),this.ioReader.onSeek=async t=>this.socket.seek(t),this.ioReader.onSize=async()=>this.socket.size(),this.ioWriter=new f.A,this.ioWriter.onFlush=async t=>this.socket.write(t),this.ioWriter.onSeek=async t=>this.socket.seek(t),this.flvWriter=new l.A,this.flvWriter.onFlush=t=>(this.readQueue.push(t.slice()),this.consume&&this.consume(),0),this.flvHeader=new d.A,this.packetQueue=[],this.flvHeaderWrote=!1,this.hasMetadata=!1,this.session=new h.A(this.ioReader,this.ioWriter,{isLive:this.options.isLive,isPull:!0}),this.session.onMediaPacket=async(t,i)=>this.handleRtmpPacket(t),this.session.onError=()=>{this.status=3,this.consume&&this.consume()},await this.session.handshake();const i=u.qg(this.info.uri),e=i.pathname.split("/");await this.session.connect(e[1],`rtmp://${i.host}${i.port?":"+i.port:""}/${e[1]}`);const s=e.slice(2);return this.session.play((s.length>1?s.join("/"):s[0])||""),0}async seek(t){return await this.session.seek(Number(t)),0}async size(){return BigInt(0)}async stop(){this.socket&&(await this.socket.stop(),this.socket=null),this.status=4}}},46084:(t,i,e)=>{e.d(i,{u:()=>r});var s=e(134);class r{constructor(t,i,e,r){(0,s.A)(this,"channelId",void 0),(0,s.A)(this,"type",void 0),(0,s.A)(this,"timestamp",void 0),(0,s.A)(this,"tsField",0),(0,s.A)(this,"extra",0),(0,s.A)(this,"payload",void 0),this.channelId=t,this.type=i,this.timestamp=e,this.payload=r instanceof Uint8Array?r:new Uint8Array(r)}}},82058:(t,i,e)=>{e.d(i,{A:()=>U});var s=e(134),r=e(80662),n=e.n(r),a=e(54001),h=e.n(a),o=e(46084),f=e(90519),u=e(86932),l=e(729),d=e(68680),p=e(73040),c=e(98951),w=e(31865),g=e(4624),b=e(72739),y=e(67672),m=e(13724),k=e(83229);const v="src/avprotocol/rtmp/RtmpSession.ts";class U{constructor(t,i,e){(0,s.A)(this,"ioReader",void 0),(0,s.A)(this,"ioWriter",void 0),(0,s.A)(this,"prevReadPacket",void 0),(0,s.A)(this,"prevWritePacket",void 0),(0,s.A)(this,"inChunkSize",void 0),(0,s.A)(this,"outChunkSize",void 0),(0,s.A)(this,"seq",void 0),(0,s.A)(this,"bufferWriter",void 0),(0,s.A)(this,"bufferReader",void 0),(0,s.A)(this,"requestMap",void 0),(0,s.A)(this,"state",void 0),(0,s.A)(this,"maxSentUnacked",void 0),(0,s.A)(this,"receiveReportSize",void 0),(0,s.A)(this,"duration",void 0),(0,s.A)(this,"options",void 0),(0,s.A)(this,"streamIdMap",void 0),(0,s.A)(this,"sendAsync",void 0),(0,s.A)(this,"onMediaPacket",void 0),(0,s.A)(this,"onError",void 0),this.ioReader=t,this.ioWriter=i,this.options=e,this.prevReadPacket=new(n()),this.prevWritePacket=new(n()),this.requestMap=new(n()),this.streamIdMap=new(n()),this.inChunkSize=128,this.outChunkSize=128,this.seq=0,this.maxSentUnacked=25e5,this.receiveReportSize=1048576,this.sendAsync=new k.an,this.bufferWriter=new l.A(new Uint8Array(1)),this.bufferReader=new w.A(new Uint8Array(1)),this.state=0}async handshake(){const t=(0,u.A)();await this.ioWriter.writeUint8(3),await this.ioWriter.writeUint32(0),await this.ioWriter.writeUint32(0);const i=new Uint8Array(1528);f.y(i),await this.ioWriter.writeBuffer(i),await this.ioWriter.flush(),await this.ioReader.readUint8();const e=await this.ioReader.readUint32();await this.ioReader.skip(4);const s=await this.ioReader.readBuffer(1528);await this.ioWriter.writeUint32(e),await this.ioWriter.writeUint32((0,u.A)()-t),await this.ioWriter.writeBuffer(s),await this.ioWriter.flush(),await this.ioReader.skip(1536),this.readRtmpPacket()}async sendPacket(t){await(0,k.s2)(this.sendAsync),await(0,c.U)(this.ioWriter,this.outChunkSize,t,this.prevWritePacket.get(t.channelId)),this.prevWritePacket.set(t.channelId,t),(0,k.Tl)(this.sendAsync)}async readPacket(){const t=await(0,c.w)(this.ioReader,this.inChunkSize,this.prevReadPacket);return this.prevReadPacket.set(t.channelId,t),t}handleChunkSize(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.inChunkSize=this.bufferReader.readUint32())}handleUserControl(t){t.payload.length>=2&&(this.bufferReader.resetBuffer(t.payload),6===this.bufferReader.readUint16()&&this.sendPong(t,this.bufferReader.readUint32()))}handleSetPeerBW(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.maxSentUnacked=this.bufferReader.readUint32(),g.Yz(`Max sent, unacked = ${this.maxSentUnacked}`,v,205))}handleWindowSizeACK(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.receiveReportSize=this.bufferReader.readUint32(),g.Yz(`Window acknowledgement size = ${this.receiveReportSize}`,v,212),this.receiveReportSize>>=1)}async handleInvoke(t){this.bufferReader.resetBuffer(t.payload);const i=BigInt(t.payload.length),e=await p.$x(this.bufferReader,i),s=await p.$x(this.bufferReader,i);if("_result"===e||"_error"===e){if(this.requestMap.has(s)){const t=await p.$x(this.bufferReader,i),r=await p.$x(this.bufferReader,i);"_result"===e?this.requestMap.get(s).resolve({options:t,info:r}):this.requestMap.get(s).reject({options:t,info:r}),this.requestMap.delete(s)}}else if("onStatus"===e){const t=await p.$x(this.bufferReader,i);let e=await p.$x(this.bufferReader,i);if("error"===e.level)g.z3(`Server error: ${e.description}, ${e.code}`,v,248),this.requestMap.has(s)?(this.requestMap.get(s).reject({options:t,info:e}),this.requestMap.delete(s)):this.onError&&this.onError();else{switch(e.code){case"NetStream.Play.Start":case"NetStream.Seek.Notify":this.state=3;break;case"NetStream.Play.Stop":case"NetStream.Play.UnpublishNotify":this.state=8;break;case"NetStream.Publish.Start":this.state=5}this.requestMap.has(s)&&(this.requestMap.get(s).resolve({options:t,info:e}),this.requestMap.delete(s))}}else"onBWDone"===e&&await this.sendCheckBW()}async handleNotify(t){this.bufferReader.resetBuffer(t.payload),"@setDataFrame"===await p.$x(this.bufferReader,BigInt(t.payload.length))&&(t.payload=t.payload.subarray(Number(this.bufferReader.getPos()))),t.payload.length&&this.onMediaPacket&&await this.onMediaPacket(t,this.streamIdMap.get(t.extra))}async readRtmpPacket(){for(;;)try{const t=await this.readPacket();switch(t.type){case 3:default:break;case 1:this.handleChunkSize(t);break;case 4:this.handleUserControl(t);break;case 6:this.handleSetPeerBW(t);break;case 5:this.handleWindowSizeACK(t);break;case 20:await this.handleInvoke(t);break;case 18:await this.handleNotify(t);break;case 22:case 8:case 9:this.onMediaPacket&&await this.onMediaPacket(t,this.streamIdMap.get(t.extra))}}catch(t){break}}async sendPong(t,i){if(t.payload.length<6)return void g.R8(`Too short ping packet (${t.payload.length})`,v,348);const e=new o.u(2,4,t.timestamp+1,6);this.bufferWriter.resetBuffer(e.payload),this.bufferWriter.writeUint16(7),this.bufferWriter.writeUint32(i),this.sendPacket(e)}async sendWindowAckSize(){const t=new o.u(2,5,0,4);this.bufferWriter.resetBuffer(t.payload),this.bufferWriter.writeUint32(this.maxSentUnacked),await this.sendPacket(t)}async sendBufferTime(t){const i=new o.u(2,4,1,10);this.bufferWriter.resetBuffer(i.payload),this.bufferWriter.writeUint16(3),this.bufferWriter.writeUint32(t),this.bufferWriter.writeUint32(this.options.clientBufferTime||3e3),await this.sendPacket(i)}async sendFCSubscribe(t){const i=new o.u(3,20,0,27+t.length);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"FCSubscribe"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendFCPublish(t){const i=new o.u(3,20,0,25+t.length);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"FCPublish"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendReleaseStream(t){const i=new o.u(3,20,0,29+t.length);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"releaseStream"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendCheckBW(){const t=new o.u(3,20,0,21);this.bufferWriter.resetBuffer(t.payload),p.bD(this.bufferWriter,"_checkbw"),p.bD(this.bufferWriter,++this.seq),p.bD(this.bufferWriter,null),await this.sendPacket(t)}async request(t,i){const e=new o.u(3,20,0,4096+d.iD);return this.bufferWriter.resetBuffer(e.payload),p.bD(this.bufferWriter,t),p.bD(this.bufferWriter,++this.seq),b.__(i,(t=>{p.bD(this.bufferWriter,t)})),e.payload=e.payload.subarray(0,this.bufferWriter.getPos()),new(h())(((t,i)=>{this.requestMap.set(this.seq,{resolve:t,reject:i}),this.sendPacket(e)}))}async connect(t,i){await this.request("connect",[{app:t,fourCcList:["hvc1","av01","vp09"],flashVer:"LNX 9,0,124,2",tcUrl:i,fpad:0,capabilities:15,audioCodecs:4071,videoCodecs:252,videoFunction:1}]),this.options.isPull&&await this.sendWindowAckSize()}async createStream(){return(await this.request("createStream",[null])).info}async play(t){const i=await this.createStream();if(this.streamIdMap.set(i,t),!this.options.isLive){const i=await h().race([this.request("getStreamLength",[null,t]),new m.A(1)]);y.ai(i)||(this.duration=i.info)}await this.sendFCSubscribe(t),this.request("play",[null,t,-1,-1,!0]),await this.sendBufferTime(i)}async publish(t){await this.sendReleaseStream(t),await this.sendFCPublish(t);const i=await this.createStream();this.streamIdMap.set(i,t),await this.request("publish",[null,t,"live"])}async sendStreamPacket(t,i){let e=0;this.streamIdMap.forEach(((t,s)=>{t===i&&(e=s)})),t.extra=e,await this.sendPacket(t)}async seek(t){const i=new o.u(3,20,0,26);this.bufferWriter.resetBuffer(i.payload),p.bD(this.bufferWriter,"seek"),p.bD(this.bufferWriter,0),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),await this.sendPacket(i)}async pause(t,i){const e=new o.u(3,20,0,29);this.bufferWriter.resetBuffer(e.payload),p.bD(this.bufferWriter,"pause"),p.bD(this.bufferWriter,0),p.bD(this.bufferWriter,null),p.bD(this.bufferWriter,t),p.bD(this.bufferWriter,i),await this.sendPacket(e)}getDuration(){return this.duration}}},68680:(t,i,e)=>{e.d(i,{iD:()=>s});const s=1024},98951:(t,i,e)=>{e.d(i,{U:()=>o,w:()=>f});var s=e(46084),r=e(92647),n=e(4624);const a="src/avprotocol/rtmp/util.ts";async function h(t,i,e){if(i<64)await t.writeUint8(i|e<<6);else if(i<320)await t.writeUint8(e<<6),await t.writeUint8(i-64);else{await t.writeUint8(1|e<<6);const s=i-64;await t.writeUint8(255&s),await t.writeUint8(s>>>8)}}async function o(t,i,e,s){const r=s&&s.extra===e.extra&&e.timestamp>=s.timestamp;let n=e.timestamp;r&&(n-=s.timestamp),e.tsField=n>16777215?16777215:n;let a=0;r&&(e.type===s.type&&e.payload.length===s.payload.length?(a=2,e.tsField===s.tsField&&(a=3)):a=1),await h(t,e.channelId,a),3!==a&&(await t.writeUint24(e.tsField),2!==a&&(await t.writeUint24(e.payload.length),await t.writeUint8(e.type),0===a&&(await t.writeUint8(e.extra),await t.writeUint8(e.extra>>8),await t.writeUint8(e.extra>>16),await t.writeUint8(e.extra>>24)))),16777215===e.tsField&&await t.writeUint32(n);let o=0;for(;o<e.payload.length;){const s=Math.min(i,e.payload.length-o);await t.writeBuffer(e.payload.subarray(o,o+s)),o+=s,o<e.payload.length&&(await h(t,e.channelId,3),16777215===e.tsField&&await t.writeUint32(n))}await t.flush()}async function f(t,i,e){const h=[],o=await t.readUint8();let f=63&o;f<2&&(f=0===await t.readUint8()?await t.readUint8()+64:64+(await t.readUint8()|await t.readUint8()<<8));const u=o>>>6,l=e.get(f);let d=l?l.payload.length:0,p=l?l.type:0,c=l?l.extra:0,w=0,g=0;if(3===u?w=l.tsField:(w=await t.readUint24(),2!==u&&(d=await t.readUint24(),p=await t.readUint8(),0===u&&(c=await t.readUint8(),c|=await t.readUint8()<<8,c|=await t.readUint8()<<16,c|=await t.readUint8()<<24))),g=16777215===w?await t.readUint32():w,0!==u&&(l?g+=l.timestamp:n.R8(`got invalid message fmt, channel id ${f} can not find prev message with fmt ${u}`,a,171)),d<i)h.push(await t.readBuffer(d));else{let e=d;for(;e;){const s=Math.min(i,e);if(h.push(await t.readBuffer(s)),e-=s,e){const i=63&await t.readUint8();i<2&&await t.skip(i+1),16777215===w&&await t.skip(4)}}}const b=new s.u(f,p,g,(0,r.A)(Uint8Array,h));return b.tsField=w,b.extra=c,b}},77231:(t,i,e)=>{e.d(i,{Dh:()=>r,FQ:()=>d,H3:()=>o,KR:()=>u,N_:()=>n,SF:()=>a,WT:()=>f,f7:()=>w,go:()=>p,i0:()=>l,qs:()=>h,zg:()=>c});var s=e(9599);const r=-BigInt(1),n=-1,a=1e6,h=1e3,o=1e9,f=BigInt(2208988800)*BigInt(1e6),u=new s.P({den:a,num:1}),l=new s.P({den:h,num:1}),d=new s.P({den:o,num:1}),p=(new s.P({den:1,num:1}),2147483647),c=65535,w=4294967295},9599:(t,i,e)=>{e.d(i,{P:()=>u});var s,r,n=e(134),a=e(80662),h=e.n(a),o=e(61499),f=e(12085);class u{constructor(t){(0,n.A)(this,"num",1),(0,n.A)(this,"den",1),t&&(this.den=t.den,this.num=t.num)}}s=u.prototype,(r=new(h())).set("num",{0:15,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0}),r.set("den",{0:15,1:0,2:0,3:0,4:0,5:0,6:0,7:4,8:0}),(0,f.A)(s,o.Og,!0),(0,f.A)(s,o.dc,4),(0,f.A)(s,o.g7,8),(0,f.A)(s,o.JY,r)},73040:(t,i,e)=>{e.d(i,{$x:()=>h,bD:()=>o});var s=e(67672),r=e(72739),n=e(95335);async function a(t,i){return{key:await t.readString(await t.readUint16()),value:await h(t,i)}}async function h(t,i){let e;switch(await t.readUint8()){case 0:e=await t.readDouble();break;case 1:e=!!await t.readUint8();break;case 2:e=await t.readString(await t.readUint16());break;case 3:for(e={};t.getPos()<i;){const{key:s,value:r}=await a(t,i);if(e[s]=r,9==(16777215&await t.peekUint24())){await t.skip(3);break}}break;case 8:for(e={},await t.skip(4);t.getPos()<i;){const{key:s,value:r}=await a(t,i);if(e[s]=r,9==(16777215&await t.peekUint24())){await t.skip(3);break}}break;case 9:case 5:e=null;break;case 10:e=[];const s=await t.readUint32();for(let r=0;r<s;r++)e.push(await h(t,i));break;case 11:const r=await t.readDouble(),n=await t.readInt16();e=new Date(r+60*n*1e3);break;case 12:e=await t.readString(await t.readUint32())}return e}function o(t,i){s.ai(i)?(t.writeUint8(0),t.writeDouble(i)):s.o(i)?(t.writeUint8(0),t.writeDouble(Number(i))):s.zM(i)?(t.writeUint8(1),t.writeUint8(i?1:0)):s.Yj(i)?i.length>=65536?(t.writeUint8(12),t.writeUint32(i.length),t.writeString(i)):(t.writeUint8(2),t.writeUint16(i.length),t.writeString(i)):s.YO(i)?(t.writeUint8(10),t.writeUint32(i.length),r.__(i,(i=>{o(t,i)}))):s.Ik(i)?(t.writeUint8(3),n.__(i,((i,e)=>{t.writeUint16(e.length),t.writeString(e),o(t,i)})),t.writeUint24(9)):i instanceof Date?(t.writeUint8(11),t.writeDouble(i.getTime()),t.writeInt16(0)):null==i&&t.writeUint8(5)}},90519:(t,i,e)=>{function s(t){crypto.getRandomValues(t)}e.d(i,{y:()=>s})},44328:(t,i,e)=>{e.d(i,{FP:()=>o,Mr:()=>h,iU:()=>l,j2:()=>u,k:()=>a,lb:()=>f});var s=e(63939),r=e(77231),n=e(31658);function a(t,i,e){return t*BigInt(i.num)*BigInt(e.den)/(BigInt(i.den)*BigInt(e.num))}function h(t,i,e){return t*BigInt(s.f[15](i))*BigInt(e.den)/(BigInt(s.f[15](i+4))*BigInt(e.num))}function o(t,i,e){return t*BigInt(i.num)*BigInt(s.f[15](e+4))/(BigInt(i.den)*BigInt(s.f[15](e)))}function f(t){return t.num/t.den}function u(t,i){if(isNaN(19))return{den:0,num:0};if(Math.abs(t)>r.go+3)return{den:0,num:t<0?-1:1};const e=t>1?{den:Math.floor(i/t+.5),num:i}:{den:i,num:Math.floor(t*i+.5)};return l(e),e}function l(t){const i=(0,n.A)(t.num,t.den);i<=1||(t.den/=i,t.num/=i)}},83229:(t,i,e)=>{e.d(i,{Tl:()=>o,an:()=>a,s2:()=>h});var s=e(134),r=e(54001),n=e.n(r);class a{constructor(){(0,s.A)(this,"list",[])}}async function h(t){return new(n())((i=>{t.list.push(i),1===t.list.length&&i()}))}function o(t){t.list.shift(),t.list.length&&t.list[0]()}},6498:(t,i,e)=>{e(67672),e(72739)},24175:(t,i,e)=>{e.d(i,{A:()=>o});var s=e(134),r=e(4624),n=e(50011),a=e(13724);const h="src/common/io/IOReader.ts";class o{constructor(t=1048576,i=!0,e){if((0,s.A)(this,"data",void 0),(0,s.A)(this,"buffer",void 0),(0,s.A)(this,"pointer",void 0),(0,s.A)(this,"endPointer",void 0),(0,s.A)(this,"pos",void 0),(0,s.A)(this,"size",void 0),(0,s.A)(this,"littleEndian",void 0),(0,s.A)(this,"fileSize_",void 0),(0,s.A)(this,"error",void 0),(0,s.A)(this,"onFlush",void 0),(0,s.A)(this,"onSeek",void 0),(0,s.A)(this,"onSize",void 0),(0,s.A)(this,"flags",void 0),this.pos=BigInt(0),this.pointer=0,this.error=0,this.endPointer=0,this.littleEndian=!i,this.flags=0,e&&e.view)this.size=e.length,this.buffer=e,this.data=e.view;else if(e&&!e.byteOffset)this.size=e.length,this.buffer=e,this.data=new DataView(this.buffer.buffer);else{if(e)throw new Error("not support subarray of ArrayBuffer");this.size=Math.max(t,102400),this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}async readUint8(){this.remainingLength()<1&&await this.flush(1);const t=this.data.getUint8(this.pointer);return this.pointer++,this.pos++,t}async peekUint8(){return this.remainingLength()<1&&await this.flush(1),this.data.getUint8(this.pointer)}async readUint16(){this.remainingLength()<2&&await this.flush(2);const t=this.data.getUint16(this.pointer,this.littleEndian);return this.pointer+=2,this.pos+=BigInt(2),t}async peekUint16(){return this.remainingLength()<2&&await this.flush(2),this.data.getUint16(this.pointer,this.littleEndian)}async readUint24(){this.remainingLength()<3&&await this.flush(3);const t=await this.readUint16(),i=await this.readUint8();return this.littleEndian?i<<16|t:t<<8|i}async peekUint24(){this.remainingLength()<3&&await this.flush(3);const t=this.pointer,i=this.pos,e=await this.readUint16(),s=await this.readUint8(),r=this.littleEndian?s<<16|e:e<<8|s;return this.pointer=t,this.pos=i,r}async readUint32(){this.remainingLength()<4&&await this.flush(4);const t=this.data.getUint32(this.pointer,this.littleEndian);return this.pointer+=4,this.pos+=BigInt(4),t}async peekUint32(){return this.remainingLength()<4&&await this.flush(4),this.data.getUint32(this.pointer,this.littleEndian)}async readUint64(){this.remainingLength()<8&&await this.flush(8);const t=this.data.getBigUint64(this.pointer,this.littleEndian);return this.pointer+=8,this.pos+=BigInt(8),t}async peekUint64(){return this.remainingLength()<8&&await this.flush(8),this.data.getBigUint64(this.pointer,this.littleEndian)}async readInt8(){this.remainingLength()<1&&await this.flush(1);const t=this.data.getInt8(this.pointer);return this.pointer++,this.pos++,t}async peekInt8(){return this.remainingLength()<1&&await this.flush(1),this.data.getInt8(this.pointer)}async readInt16(){this.remainingLength()<2&&await this.flush(2);const t=this.data.getInt16(this.pointer,this.littleEndian);return this.pointer+=2,this.pos+=BigInt(2),t}async peekInt16(){return this.remainingLength()<2&&await this.flush(2),this.data.getInt16(this.pointer,this.littleEndian)}async readInt24(){const t=await this.readUint24();return 8388608&t?t-16777216:t}async peekInt24(){const t=await this.peekUint24();return 8388608&t?t-16777216:t}async readInt32(){this.remainingLength()<4&&await this.flush(4);const t=this.data.getInt32(this.pointer,this.littleEndian);return this.pointer+=4,this.pos+=BigInt(4),t}async peekInt32(){return this.remainingLength()<4&&await this.flush(4),this.data.getInt32(this.pointer,this.littleEndian)}async readInt64(){this.remainingLength()<8&&await this.flush(8);const t=this.data.getBigInt64(this.pointer,this.littleEndian);return this.pointer+=8,this.pos+=BigInt(8),t}async peekInt64(){return this.remainingLength()<8&&await this.flush(8),this.data.getBigInt64(this.pointer,this.littleEndian)}async readFloat(){this.remainingLength()<4&&await this.flush(4);const t=this.data.getFloat32(this.pointer,this.littleEndian);return this.pointer+=4,this.pos+=BigInt(4),t}async peekFloat(){return this.remainingLength()<4&&await this.flush(4),this.data.getFloat32(this.pointer,this.littleEndian)}async readDouble(){this.remainingLength()<8&&await this.flush(8);const t=this.data.getFloat64(this.pointer,this.littleEndian);return this.pointer+=8,this.pos+=BigInt(8),t}async peekDouble(){return this.remainingLength()<8&&await this.flush(8),this.data.getFloat64(this.pointer,this.littleEndian)}async readHex(t=1){let i="";for(let e=0;e<t;e++){const t=(await this.readUint8()).toString(16);i+=1===t.length?"0"+t:t}return i}async peekHex(t=1){t>this.size&&(this.error=-1048574,r.h2("peekHex, length too large",h,414)),this.remainingLength()<t&&await this.flush(t);const i=this.pointer,e=this.pos;let s="";for(let i=0;i<t;i++){const t=(await this.readUint8()).toString(16);s+=1===t.length?"0"+t:t}return this.pointer=i,this.pos=e,s}async readBuffer(t,i){if(i||(i=new Uint8Array(t)),this.remainingLength()<t){let e=0;if(this.remainingLength()>0){const s=this.remainingLength();i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}for(;t>0;){await this.flush();const s=Math.min(this.endPointer-this.pointer,t);i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}}else i.set(this.buffer.subarray(this.pointer,this.pointer+t),0),this.pointer+=t,this.pos+=BigInt(t);return i}async peekBuffer(t,i){return t>this.size&&(this.error=-1048574,r.h2("peekBuffer, length too large",h,499)),this.remainingLength()<t&&await this.flush(t),i||(i=new Uint8Array(t)),i.set(this.buffer.subarray(this.pointer,this.pointer+t),0),i}async readToBuffer(t,i){if(this.remainingLength()<t){let e=0;if(this.remainingLength()>0){const s=this.remainingLength();i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}for(;t>0;){try{await this.flush()}catch(t){if(-1048576===this.error&&e)return e;throw t}const s=Math.min(this.endPointer-this.pointer,t);i.set(this.buffer.subarray(this.pointer,this.pointer+s),e),e+=s,this.pointer+=s,this.pos+=BigInt(s),t-=s}return e}return i.set(this.buffer.subarray(this.pointer,this.pointer+t),0),this.pointer+=t,this.pos+=BigInt(t),t}async readString(t=1){const i=await this.readBuffer(t);return n.decode(i)}async peekString(t=1){const i=await this.peekBuffer(t);return n.decode(i)}async readLine(){let t="";for(;;){let i=!1;for(let e=this.pointer;e<this.endPointer;e++)if(10===this.buffer[e]||13===this.buffer[e]){e!==this.pointer&&(t+=await this.readString(e-this.pointer)),i=!0;break}if(i)break;t+=await this.readString(this.remainingLength()),await this.flush()}let i=await this.peekUint8();return 10!==i&&13!==i||(this.pointer++,13===i&&(i=await this.peekUint8(),10===i&&this.pointer++)),t}async peekLine(){if(this.remainingLength()<this.size)try{await this.flush()}catch(t){if(-1048576!==this.error)throw t}let t="",i=!1;for(let e=this.pointer;e<this.endPointer;e++)if(10===this.buffer[e]||13===this.buffer[e]){t+=await this.peekString(e-this.pointer),i=!0;break}return i||(this.error=-1048574,r.h2("peekLine, out of buffer",h,657)),t}getPointer(){return this.pointer}getPos(){return this.pos}async skip(t){const i=t;for(;this.remainingLength()<t;)t-=this.remainingLength(),this.pointer=this.endPointer,await this.flush();this.remainingLength()>=t&&(this.pointer+=t),this.pos+=BigInt(i)}remainingLength(){return this.endPointer-this.pointer}async flush_(t){for(;;){const i=await this.onFlush(t);if(-1048575!==i)return i;await new a.A(0)}}async flush(t=0){if(this.onFlush||(this.error=-1048574,r.h2("IOReader error, flush failed because of no flush callback",h,731)),!(this.size-this.remainingLength()<=0)){if(t=Math.min(t,this.size),this.pointer<this.endPointer?(this.buffer.set(this.buffer.subarray(this.pointer,this.endPointer),0),this.endPointer=this.endPointer-this.pointer):this.endPointer=0,this.pointer=0,t)for(;this.remainingLength()<t;){const t=await this.flush_(this.buffer.subarray(this.endPointer));if(t<0)throw this.error=t,new Error(`IOReader error, flush ${-1048576===t?"ended":"failed"}, ret: ${t}`);this.endPointer+=t}else{const t=await this.flush_(this.buffer.subarray(this.endPointer));if(t<0)throw this.error=t,new Error(`IOReader error, flush ${-1048576===t?"ended":"failed"}, ret: ${t}`);this.endPointer+=t}this.error=0}}async seek(t,i=!1,e=!0){if(!i){const i=Number(t-this.pos);if(i<0&&Math.abs(i)<this.pointer)return this.pointer+=i,void(this.pos=t);if(i>0&&this.pointer+i<this.endPointer)return this.pointer+=i,void(this.pos=t);if(0===i)return}this.onSeek||(this.error=-1048574,r.h2("IOReader error, seek failed because of no seek callback",h,802)),this.pointer=this.endPointer=0,this.pos=t;const s=await this.onSeek(t);0!==s&&(this.error=s,r.h2("IOReader error, seek failed",h,811)),e&&await this.flush()}getBuffer(){return this.buffer}appendBuffer(t){if(this.size-this.endPointer>=t.length)this.buffer.set(t,this.endPointer),this.endPointer+=t.length;else if(this.buffer.set(this.buffer.subarray(this.pointer,this.endPointer),0),this.endPointer=this.endPointer-this.pointer,this.pointer=0,this.size-this.endPointer>=t.length)this.buffer.set(t,this.endPointer),this.endPointer+=t.length;else{const i=Math.min(this.size-this.endPointer,t.length);this.buffer.set(t.subarray(0,i),this.endPointer),this.endPointer+=i,r.R8("IOReader, call appendBuffer but the buffer's size is lagger then the remaining size",h,849)}}reset(){this.pointer=this.endPointer=0,this.pos=BigInt(0),this.error=0}setEndian(t){this.littleEndian=!t}async fileSize(){if(this.fileSize_)return this.fileSize_;if(!this.onSize)return r.R8("IOReader error, fileSize failed because of no onSize callback",h,882),BigInt(0);try{this.fileSize_=await this.onSize()}catch(t){r.R8(`IOReader error, call fileSize failed: ${t}`,h,889),this.fileSize_=BigInt(0)}return this.fileSize_}getBufferSize(){return this.size}async pipe(t,i){if(i)if(this.remainingLength()<i){if(this.remainingLength()>0){const e=this.remainingLength();await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+e)),this.pointer+=e,this.pos+=BigInt(e),i-=e}for(;i>0;){await this.flush();const e=Math.min(this.remainingLength(),i);await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+e)),this.pointer+=e,this.pos+=BigInt(e),i-=e}}else await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+i)),this.pointer+=i,this.pos+=BigInt(i);else{if(this.remainingLength()>0){const i=this.remainingLength();await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+i)),this.pointer+=i,this.pos+=BigInt(i)}for(;await this.flush_(this.buffer.subarray(0))>0;){const i=this.remainingLength();await t.writeBuffer(this.buffer.subarray(this.pointer,this.pointer+i)),this.pointer+=i,this.pos+=BigInt(i)}}}}},34531:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(134),r=e(50011);class n{constructor(t=1048576,i=!0,e){if((0,s.A)(this,"data",void 0),(0,s.A)(this,"buffer",void 0),(0,s.A)(this,"pointer",void 0),(0,s.A)(this,"pos",void 0),(0,s.A)(this,"size",void 0),(0,s.A)(this,"littleEndian",void 0),(0,s.A)(this,"error",void 0),(0,s.A)(this,"onFlush",void 0),(0,s.A)(this,"onSeek",void 0),this.pointer=0,this.pos=BigInt(0),this.size=t,this.littleEndian=!i,this.error=0,e&&e.view)this.size=e.length,this.buffer=e,this.data=e.view;else if(e&&!e.byteOffset)this.size=e.length,this.buffer=e,this.data=new DataView(this.buffer.buffer);else{if(e)throw new Error("not support subarray of ArrayBuffer");this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}async writeUint8(t){this.remainingLength()<1&&await this.flush(),this.data.setUint8(this.pointer,t),this.pointer++,this.pos++}async writeUint16(t){this.remainingLength()<2&&await this.flush(),this.data.setUint16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}async writeUint24(t){this.remainingLength()<3&&await this.flush();const i=(16711680&t)>>16,e=(65280&t)>>8,s=255&t;this.littleEndian?(await this.writeUint8(s),await this.writeUint8(e),await this.writeUint8(i)):(await this.writeUint8(i),await this.writeUint8(e),await this.writeUint8(s))}async writeUint32(t){this.remainingLength()<4&&await this.flush(),this.data.setUint32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}async writeUint64(t){this.remainingLength()<8&&await this.flush(),this.data.setBigUint64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}async writeInt8(t){this.remainingLength()<1&&await this.flush(),this.data.setInt8(this.pointer,t),this.pointer++,this.pos++}async writeInt16(t){this.remainingLength()<2&&await this.flush(),this.data.setInt16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}async writeInt24(t){await this.writeUint24(t<0?t+16777216:t)}async writeInt32(t){this.remainingLength()<4&&await this.flush(),this.data.setInt32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}async writeInt64(t){this.remainingLength()<8&&await this.flush(),this.data.setBigInt64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}async writeFloat(t){this.remainingLength()<4&&await this.flush(),this.data.setFloat32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}async writeDouble(t){this.remainingLength()<8&&await this.flush(),this.data.setFloat64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}getPointer(){return this.pointer}getPos(){return this.pos}remainingLength(){return this.size-this.pointer}async writeBuffer(t){if(!t.length)return;let i=t.length;if(this.remainingLength()<i){let e=0;for(;i>0;){await this.flush();const s=Math.min(this.size,i);this.buffer.set(t.subarray(e,e+s),this.pointer),this.pointer+=s,this.pos+=BigInt(s),e+=s,i-=s}}else this.buffer.set(t,this.pointer),this.pointer+=i,this.pos+=BigInt(i)}async writeString(t){const i=r.encode(t);return await this.writeBuffer(i),i.length}async flush(){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const t=await this.onFlush(this.buffer.subarray(0,this.pointer));if(0!==t)throw this.error=t,Error("IOWriter error, flush failed")}this.pointer=0}async flushToPos(t){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const i=await this.onFlush(this.buffer.subarray(0,this.pointer),t);if(0!==i)throw this.error=i,Error("IOWriter error, flush failed")}this.pointer=0}async seek(t){if(!this.onSeek)throw this.error=-1048574,Error("IOWriter error, seek failed because of no seek callback");await this.flush();const i=await this.onSeek(t);if(0!==i)throw this.error=i,Error("IOWriter error, seek failed");this.pos=t}seekInline(t){const i=this.pointer;this.pointer=Math.max(0,Math.min(this.size,t)),this.pos+=BigInt(this.pointer-i)}skip(t){const i=this.pointer;this.pointer=Math.min(this.size,this.pointer+t),this.pos+=BigInt(this.pointer-i)}back(t){const i=this.pointer;this.pointer=Math.max(0,this.pointer-t),this.pos+=BigInt(this.pointer-i)}getBuffer(){return this.buffer.subarray(0,this.pointer)}setEndian(t){this.littleEndian=!t}reset(){this.pointer=0,this.pos=BigInt(0),this.error=0}getBufferSize(){return this.size}}},35336:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(134),r=e(50011);class n{constructor(t=1048576,i=!0,e){if((0,s.A)(this,"data",void 0),(0,s.A)(this,"buffer",void 0),(0,s.A)(this,"pointer",void 0),(0,s.A)(this,"pos",void 0),(0,s.A)(this,"size",void 0),(0,s.A)(this,"littleEndian",void 0),(0,s.A)(this,"error",void 0),(0,s.A)(this,"onFlush",void 0),(0,s.A)(this,"onSeek",void 0),this.pointer=0,this.pos=BigInt(0),this.size=t,this.littleEndian=!i,this.error=0,e&&e.view)this.size=e.length,this.buffer=e,this.data=e.view;else if(e&&!e.byteOffset)this.size=e.length,this.buffer=e,this.data=new DataView(this.buffer.buffer);else{if(e)throw new Error("not support subarray of ArrayBuffer");this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}writeUint8(t){this.remainingLength()<1&&this.flush(),this.data.setUint8(this.pointer,t),this.pointer++,this.pos++}writeUint16(t){this.remainingLength()<2&&this.flush(),this.data.setUint16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}writeUint24(t){this.remainingLength()<3&&this.flush();const i=(16711680&t)>>16,e=(65280&t)>>8,s=255&t;this.littleEndian?(this.writeUint8(s),this.writeUint8(e),this.writeUint8(i)):(this.writeUint8(i),this.writeUint8(e),this.writeUint8(s))}writeUint32(t){this.remainingLength()<4&&this.flush(),this.data.setUint32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeUint64(t){this.remainingLength()<8&&this.flush(),this.data.setBigUint64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}writeInt8(t){this.remainingLength()<1&&this.flush(),this.data.setInt8(this.pointer,t),this.pointer++,this.pos++}writeInt16(t){this.remainingLength()<2&&this.flush(),this.data.setInt16(this.pointer,t,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}writeInt24(t){this.writeUint24(t<0?t+16777216:t)}writeInt32(t){this.remainingLength()<4&&this.flush(),this.data.setInt32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeInt64(t){this.remainingLength()<8&&this.flush(),this.data.setBigInt64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}writeFloat(t){this.remainingLength()<4&&this.flush(),this.data.setFloat32(this.pointer,t,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeDouble(t){this.remainingLength()<8&&this.flush(),this.data.setFloat64(this.pointer,t,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}getPointer(){return this.pointer}getPos(){return this.pos}remainingLength(){return this.size-this.pointer}writeBuffer(t){if(!t.length)return;let i=t.length;if(this.remainingLength()<i){let e=0;for(;i>0;){this.flush();const s=Math.min(this.size,i);this.buffer.set(t.subarray(e,e+s),this.pointer),this.pointer+=s,this.pos+=BigInt(s),e+=s,i-=s}}else this.buffer.set(t,this.pointer),this.pointer+=i,this.pos+=BigInt(i)}writeString(t){const i=r.encode(t);return this.writeBuffer(i),i.length}flush(){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const t=this.onFlush(this.buffer.subarray(0,this.pointer));if(0!==t)throw this.error=t,Error("IOWriter error, flush failed")}this.pointer=0}flushToPos(t){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const i=this.onFlush(this.buffer.subarray(0,this.pointer),t);if(0!==i)throw this.error=i,Error("IOWriter error, flush failed")}this.pointer=0}seek(t){if(!this.onSeek)throw this.error=-1048574,Error("IOWriter error, seek failed because of no seek callback");this.flush();const i=this.onSeek(t);if(0!==i)throw this.error=i,Error("IOWriter error, seek failed");this.pos=t}seekInline(t){const i=this.pointer;this.pointer=Math.max(0,Math.min(this.size,t)),this.pos+=BigInt(this.pointer-i)}skip(t){const i=this.pointer;this.pointer=Math.min(this.size,this.pointer+t),this.pos+=BigInt(this.pointer-i)}back(t){const i=this.pointer;this.pointer=Math.max(0,this.pointer-t),this.pos+=BigInt(this.pointer-i)}getBuffer(){return this.buffer.subarray(0,this.pointer)}setEndian(t){this.littleEndian=!t}reset(){this.pointer=0,this.pos=BigInt(0),this.error=0}getBufferSize(){return this.size}}},31658:(t,i,e)=>{function s(t,i){for(;0!==i;)[t,i]=[i,t%i];return t}e.d(i,{A:()=>s})},8507:(t,i,e)=>{function s(t){const i=t,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],s=/:\/\/([^\/@]*@?)\[(\S+)\]/;let r="";s.test(t)&&(t=t.replace(s,((t,i,e)=>(r=e,`://${i||""}a.b`))));const n={},a=/^(?:(?![^:@\/]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*)(?::([^:@\/]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(t);let h=14;for(;h--;){var o;n[e[h]]=null!==(o=a[h])&&void 0!==o?o:""}return r&&(n.host=r,n.source=i,n.authority=r+(n.port?":"+n.port:"")),{protocol:n.protocol,file:n.file,host:n.host,port:n.port,user:n.user,password:n.password,origin:`${n.protocol}://${n.authority}`,pathname:n.path,search:`?${n.query}`,hash:n.anchor?`#${n.anchor}`:""}}e.d(i,{ll:()=>l,qg:()=>s}),e(73146),e(67672),e(6498),e(72739),e(95335);const r=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,a=/^(?=([^\/?#]*))\1([^]*)$/,h=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/;function o(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}function f(t){const i=h.exec(t);return i?{scheme:i[1]||"",netLoc:i[2]||"",path:i[3]||"",params:i[4]||"",query:i[5]||"",fragment:i[6]||""}:null}function u(t){for(t=t.split("").reverse().join("").replace(r,"");t.length!==(t=t.replace(n,"")).length;);return t.split("").reverse().join("")}function l(t,i,e){if(e=e||{},t=t.trim(),!(i=i.trim())){if(!e.alwaysNormalize)return t;let i=f(t);if(!i)throw new Error("Error trying to parse base URL.");return i.path=u(i.path),o(i)}let s=f(i);if(!s)throw new Error("Error trying to parse relative URL.");if(s.scheme)return e.alwaysNormalize?(s.path=u(s.path),o(s)):i;let r=f(t);if(!r)throw new Error("Error trying to parse base URL.");if(!r.netLoc&&r.path&&"/"!==r.path[0]){let t=a.exec(r.path);r.netLoc=t[1],r.path=t[2]}r.netLoc&&!r.path&&(r.path="/");const n={scheme:r.scheme,netLoc:s.netLoc,path:null,params:s.params,query:s.query,fragment:s.fragment};if(!s.netLoc&&(n.netLoc=r.netLoc,"/"!==s.path[0]))if(s.path){let t=r.path,i=t.substring(0,t.lastIndexOf("/")+1)+s.path;n.path=u(i)}else n.path=r.path,s.params||(n.params=r.params,s.query||(n.query=r.query));return null===n.path&&(n.path=e.alwaysNormalize?u(s.path):s.path),o(n)}},85079:(t,i,e)=>{var s=e(46438),r=s.JSON||(s.JSON={stringify:JSON.stringify});t.exports=function(t){return r.stringify.apply(r,arguments)}},73146:(t,i,e)=>{t.exports=e(85079)}}]);
@@ -1 +1 @@
1
- (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[576],{41576:(e,t,i)=>{i.r(t),i.d(t,{default:()=>L});var s=i(134),a=i(80662),n=i.n(a),d=i(54001),o=i.n(d),r=i(13724),l=i(82800),m=i(95335),u=i(4624),h=i(78417),c=i(77580),g=i(86932),f=i(9705);const p="src/avnetwork/ioLoader/DashIOLoader.ts";class L extends l.A{constructor(...e){super(...e),(0,s.A)(this,"info",void 0),(0,s.A)(this,"range",void 0),(0,s.A)(this,"mediaPlayList",void 0),(0,s.A)(this,"fetchMediaPlayListPromise",void 0),(0,s.A)(this,"minBuffer",void 0),(0,s.A)(this,"audioResource",void 0),(0,s.A)(this,"videoResource",void 0),(0,s.A)(this,"subtitleResource",void 0)}createResource(e){return{type:e,fetchedMap:new(n()),fetchedHistoryList:[],loader:null,segmentIndex:0,currentUri:"",selectedIndex:0,segments:[],initSegmentPadding:"",initedSegment:""}}async fetchMediaPlayList(e){var t,i,s;if(!e){if(this.fetchMediaPlayListPromise)return;this.fetchMediaPlayListPromise=new(o())((t=>{e=t}))}const a={method:"GET",headers:{},mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};null!==(t=this.info.httpOptions)&&void 0!==t&&t.headers&&m.__(this.info.httpOptions.headers,((e,t)=>{a.headers[t]=e})),null!==(i=this.info.httpOptions)&&void 0!==i&&i.credentials&&(a.credentials=this.info.httpOptions.credentials),null!==(s=this.info.httpOptions)&&void 0!==s&&s.referrerPolicy&&(a.referrerPolicy=this.info.httpOptions.referrerPolicy);try{const t=await fetch(this.info.url,a),i=await t.text();if(this.mediaPlayList=(0,h.A)(i,this.info.url),this.minBuffer=this.mediaPlayList.minBufferTime,this.options.isLive){var n,d;const t=this.mediaPlayList.minBufferTime/this.mediaPlayList.maxSegmentDuration,i=Math.max(this.mediaPlayList.mediaList.audio&&(null===(n=this.mediaPlayList.mediaList.audio[0])||void 0===n?void 0:n.mediaSegments.length)||0,this.mediaPlayList.mediaList.video&&(null===(d=this.mediaPlayList.mediaList.video[0])||void 0===d?void 0:d.mediaSegments.length)||0);if(i<t)return await new r.A((t-i)*this.mediaPlayList.maxSegmentDuration),u.R8(`wait for min buffer time, buffer: ${i*this.mediaPlayList.maxSegmentDuration}, need: ${t*this.mediaPlayList.maxSegmentDuration}`,p,136),this.fetchMediaPlayList(e)}if("vod"===this.mediaPlayList.type?this.options.isLive=!1:this.options.isLive=!0,this.mediaPlayList.mediaList.audio.length){const e=this.mediaPlayList.mediaList.audio[this.audioResource.selectedIndex];e.file?this.audioResource.segments=[e.file]:this.options.isLive&&this.audioResource.initedSegment===e.initSegment?this.audioResource.segments=e.mediaSegments.map((e=>e.url)):(this.audioResource.segments=[e.initSegment].concat(e.mediaSegments.map((e=>e.url))),this.audioResource.initedSegment=e.initSegment)}if(this.mediaPlayList.mediaList.video.length){const e=this.mediaPlayList.mediaList.video[this.videoResource.selectedIndex];e.file?this.videoResource.segments=[e.file]:this.options.isLive&&this.videoResource.initedSegment===e.initSegment?this.videoResource.segments=e.mediaSegments.map((e=>e.url)):(this.videoResource.segments=[e.initSegment].concat(e.mediaSegments.map((e=>e.url))),this.videoResource.initedSegment=e.initSegment)}if(this.mediaPlayList.mediaList.subtitle.length){const e=this.mediaPlayList.mediaList.subtitle[this.subtitleResource.selectedIndex];e.file?this.subtitleResource.segments=[e.file]:this.options.isLive&&this.subtitleResource.initedSegment===e.initSegment?this.subtitleResource.segments=e.mediaSegments.map((e=>e.url)):(this.subtitleResource.segments=[e.initSegment].concat(e.mediaSegments.map((e=>e.url))),this.subtitleResource.initedSegment=e.initSegment)}return e(),this.fetchMediaPlayListPromise=null,this.status=2,this.retryCount=0,this.mediaPlayList}catch(t){if(this.retryCount<this.options.retryCount)return this.retryCount++,u.z3(`failed fetch mpd file, retry(${this.retryCount}/3)`,p,208),await new r.A(2===this.status?this.options.retryInterval:5),this.fetchMediaPlayList(e);this.status=3,e(),u.h2(`DashLoader: exception, fetch slice error, error: ${t.message}`,p,216)}}async open(e,t){return 0!==this.status?f.lh:(this.info=e,this.range=t,this.range.to||(this.range.to=-1),this.range.from=Math.max(this.range.from,0),this.videoResource=this.createResource("video"),this.audioResource=this.createResource("audio"),this.subtitleResource=this.createResource("subtitle"),this.status=1,this.retryCount=0,await this.fetchMediaPlayList(),0)}async readResource(e,t){let i=0;if(t.loader){if(i=await t.loader.read(e),-1048576!==i)return i;if(this.options.isLive)t.fetchedMap.set(t.currentUri,!0),10===t.fetchedHistoryList.length&&t.fetchedMap.delete(t.fetchedHistoryList.shift()),t.fetchedHistoryList.push(t.currentUri);else if(t.segmentIndex++,t.segmentIndex>=t.segments.length)return-1048576;t.loader=null}if(this.options.isLive){const i=t.segments.filter((e=>!t.fetchedMap.get(e)));if(!i.length){if(this.mediaPlayList.isEnd)return-1048576;const i=(this.mediaPlayList.duration||this.mediaPlayList.minimumUpdatePeriod)-((0,g.A)()-this.mediaPlayList.timestamp)/1e3;if(i>0&&await new r.A(Math.max(i,2)),this.fetchMediaPlayListPromise){if(await this.fetchMediaPlayListPromise,3===this.status)return-1048576}else await this.fetchMediaPlayList();return this.readResource(e,t)}return t.currentUri=i[0],t.loader=new c.A(m.X$({},this.options,{disableSegment:!0,loop:!1})),await t.loader.open(m.X$({},this.info,{url:t.currentUri}),{from:0,to:-1}),t.loader.read(e)}return t.loader=new c.A(m.X$({},this.options,{disableSegment:!0,loop:!1})),t.initSegmentPadding?(await t.loader.open(m.X$({},this.info,{url:t.initSegmentPadding}),{from:0,to:-1}),t.initSegmentPadding=null,t.segmentIndex--):await t.loader.open(m.X$({},this.info,{url:t.segments[t.segmentIndex]}),{from:0,to:-1}),t.loader.read(e)}async read(e,t){return"audio"===t.mediaType?this.readResource(e,this.audioResource):"video"===t.mediaType?this.readResource(e,this.videoResource):"subtitle"===t.mediaType?this.readResource(e,this.subtitleResource):f.UY}async seekResource(e,t){let i="";t.loader&&(i=t.loader.getUrl(),await t.loader.abort(),t.loader=null);let s=Number(BigInt.asIntN(32,e));if(t.segments){let e=0;const a="audio"===t.type?this.mediaPlayList.mediaList.audio:"video"===t.type?this.mediaPlayList.mediaList.video:this.mediaPlayList.mediaList.subtitle,n=a[t.selectedIndex].mediaSegments;if(null!=n&&n.length)for(let t=0;t<n.length;t++)if(s>=1e3*n[t].start&&s<1e3*n[t].end){e=t;break}t.segmentIndex=e+(a[t.selectedIndex].initSegment?1:0);let d="";"video"===t.type?d=this.mediaPlayList.mediaList.video[t.selectedIndex].initSegment:"audio"===t.type?d=this.mediaPlayList.mediaList.audio[t.selectedIndex].initSegment:"subtitle"===t.type&&(d=this.mediaPlayList.mediaList.subtitle[t.selectedIndex].initSegment),d&&d===i&&(t.initSegmentPadding=d)}}async seek(e,t){return"audio"===t.mediaType&&this.audioResource.loader&&await this.seekResource(e,this.audioResource),"video"===t.mediaType&&this.videoResource.loader&&await this.seekResource(e,this.videoResource),"subtitle"===t.mediaType&&this.subtitleResource.loader&&await this.seekResource(e,this.subtitleResource),4===this.status&&(this.status=2),0}async size(){return BigInt(0)}async abort(){this.videoResource.loader&&(await this.videoResource.loader.abort(),this.videoResource.loader=null),this.audioResource.loader&&(await this.audioResource.loader.abort(),this.audioResource.loader=null),this.subtitleResource.loader&&(await this.subtitleResource.loader.abort(),this.subtitleResource.loader=null)}async stop(){await this.abort(),this.status=0}getDuration(){return this.mediaPlayList.duration}hasVideo(){var e;return(null===(e=this.mediaPlayList)||void 0===e?void 0:e.mediaList.video.length)>0}hasAudio(){var e;return(null===(e=this.mediaPlayList)||void 0===e?void 0:e.mediaList.audio.length)>0}hasSubtitle(){var e;return(null===(e=this.mediaPlayList)||void 0===e?void 0:e.mediaList.subtitle.length)>0}getVideoList(){return this.hasVideo()?{list:this.mediaPlayList.mediaList.video.map((e=>({width:e.width,height:e.height,frameRate:e.frameRate,codecs:e.codecs}))),selectedIndex:this.videoResource.selectedIndex}:{list:[],selectedIndex:0}}getAudioList(){return this.hasAudio()?{list:this.mediaPlayList.mediaList.audio.map((e=>({lang:e.lang,codecs:e.codecs}))),selectedIndex:this.audioResource.selectedIndex}:{list:[],selectedIndex:0}}getSubtitleList(){return this.hasSubtitle()?{list:this.mediaPlayList.mediaList.subtitle.map((e=>({lang:e.lang,codecs:e.codecs}))),selectedIndex:this.subtitleResource.selectedIndex}:{list:[],selectedIndex:0}}selectVideo(e){if(e!==this.videoResource.selectedIndex&&this.hasVideo()&&e>=0&&e<this.mediaPlayList.mediaList.video.length){this.videoResource.selectedIndex=e;const t=this.mediaPlayList.mediaList.video[this.videoResource.selectedIndex];t.file?this.videoResource.segments=[t.file]:(this.videoResource.segments=[t.initSegment].concat(t.mediaSegments.map((e=>e.url))),this.videoResource.initSegmentPadding=t.initSegment)}}selectAudio(e){if(e!==this.audioResource.selectedIndex&&this.hasAudio()&&e>=0&&e<this.mediaPlayList.mediaList.audio.length){this.audioResource.selectedIndex=e;const t=this.mediaPlayList.mediaList.audio[this.audioResource.selectedIndex];t.file?this.audioResource.segments=[t.file]:(this.audioResource.segments=[t.initSegment].concat(t.mediaSegments.map((e=>e.url))),this.audioResource.initSegmentPadding=t.initSegment)}}selectSubtitle(e){if(e!==this.subtitleResource.selectedIndex&&this.hasSubtitle()&&e>=0&&e<this.mediaPlayList.mediaList.subtitle.length){this.subtitleResource.selectedIndex=e;const t=this.mediaPlayList.mediaList.subtitle[this.subtitleResource.selectedIndex];t.file?this.subtitleResource.segments=[t.file]:(this.subtitleResource.segments=[t.initSegment].concat(t.mediaSegments.map((e=>e.url))),this.subtitleResource.initSegmentPadding=t.initSegment)}}getMinBuffer(){return this.minBuffer}}},78417:(e,t,i)=>{i.d(t,{A:()=>g});var s=i(88032),a=i.n(s),n=i(29967),d=i.n(n),o=i(79331),r=i(67672),l=i(62100),m=i(86932);function u(e){let t=0,i=0,s=0;return(e=e.slice(e.indexOf("PT")+2)).indexOf("H")>-1&&e.indexOf("M")>-1&&e.indexOf("S")>-1?(t=a()(e.slice(0,e.indexOf("H"))),i=a()(e.slice(e.indexOf("H")+1,e.indexOf("M"))),s=a()(e.slice(e.indexOf("M")+1,e.indexOf("S")))):e.indexOf("H")<0&&e.indexOf("M")>0&&e.indexOf("S")>-1?(i=a()(e.slice(0,e.indexOf("M"))),s=a()(e.slice(e.indexOf("M")+1,e.indexOf("S")))):e.indexOf("H")<0&&e.indexOf("M")<0&&e.indexOf("S")>-1&&(s=a()(e.slice(0,e.indexOf("S")))),3600*t+60*i+s}function h(e,t){return(Array(t).join("0")+e).slice(-t)}function c(e){if(!e)return 0;if(e.indexOf("/")>-1){const t=e.split("/");return a()(t[0])/a()(t[1])}return a()(e)}function g(e,t){const i={source:e,mediaList:{audio:[],video:[],subtitle:[]},type:"live",isEnd:!1,duration:0,minBufferTime:0,maxSegmentDuration:0,minimumUpdatePeriod:0,timestamp:(0,m.A)()},s=[],n=(g=e,g?(0,o.A)(g,{aloneValueName:"value"}):null).MPD;var g;"static"===n.type&&(i.type="vod",i.isEnd=!0),n.minBufferTime&&(i.minBufferTime=u(n.minBufferTime)),n.maxSegmentDuration&&(i.maxSegmentDuration=u(n.maxSegmentDuration)),n.minimumUpdatePeriod&&(i.minimumUpdatePeriod=u(n.minimumUpdatePeriod)),n.mediaPresentationDuration&&(i.duration=u(n.mediaPresentationDuration));let f="";n.BaseURL&&(f=r.Yj(n.BaseURL)?n.BaseURL:n.BaseURL.value);const p=r.YO(n.Period)?n.Period[0]:n.Period;return!i.duration&&p&&p.duration&&(i.duration=u(p.duration)),(r.YO(p.AdaptationSet)?p.AdaptationSet:[p.AdaptationSet]).forEach(((e,n)=>{let o="video/mp4",m="avc1.64001E",u=640,g=360,p=640,L=360,S=25,y="1:1",R="1",P=588633,b=f,v="und";e.BaseURL&&(b+=e.BaseURL),e.lang&&(v=e.lang),e.mimeType?(o=e.mimeType,"video/mp4"===o?(m=e.codecs,u=a()(e.width),g=a()(e.height),e.maxWidth&&(p=a()(e.maxWidth)),e.maxHeight&&(L=a()(e.maxHeight)),e.frameRate&&(S=c(e.frameRate)),y=e.sar,R=e.startWithSAP,P=a()(e.bandwidth)):"audio/mp4"===o&&(m=e.codecs,R=e.startWithSAP,P=a()(e.bandwidth))):(e.maxWidth&&(p=a()(e.maxWidth)),e.maxHeight&&(L=a()(e.maxHeight)),e.frameRate&&(S=c(e.frameRate))),(r.YO(e.Representation)?e.Representation:[e.Representation]).forEach(((n,c)=>{s.indexOf(n.id)>-1&&(n.id=(d()(s[s.length-1])+1).toString()),s.push(n.id);let f="";const x=[];let w=0,A=0,I=t.slice(0,t.lastIndexOf("/")+1)+b;n.mimeType&&(o=n.mimeType),"video/mp4"===o?(n.codecs&&(m=n.codecs),n.width&&(u=a()(n.width)),n.height&&(g=a()(n.height)),n.maxWidth&&(p=a()(n.maxWidth)),n.maxHeight&&(L=a()(n.maxHeight)),n.frameRate&&(S=a()(n.frameRate)),n.sar&&(y=n.sar),n.startWithSAP&&(R=n.startWithSAP),n.bandwidth&&(P=a()(n.bandwidth))):(n.codecs&&(m=n.codecs),n.startWithSAP&&(R=n.startWithSAP),n.bandwidth&&(P=a()(n.bandwidth))),n.BaseURL&&(I+=n.BaseURL);let T=!1;if((e.ContentProtection||n.ContentProtection)&&(T=!0),n.SegmentBase)"video/mp4"===o?i.mediaList.video.push({id:n.id,file:I,mimeType:o,codecs:m,width:u,height:g,maxWidth:p,maxHeight:L,frameRate:S,sar:y,startWithSAP:"1"===R,bandwidth:P,timescale:w,duration:A,encrypted:T}):"audio/mp4"===o?i.mediaList.audio.push({id:n.id,file:I,mimeType:o,codecs:m,startWithSAP:"1"===R,bandwidth:P,timescale:w,duration:A,encrypted:T,lang:v}):"application/mp4"===o&&i.mediaList.subtitle.push({id:n.id,file:I,mimeType:o,codecs:m,startWithSAP:"1"===R,bandwidth:P,timescale:w,duration:A,encrypted:T,lang:v});else{let t;if(e.SegmentTemplate&&(t=r.YO(e.SegmentTemplate)?e.SegmentTemplate[0]:e.SegmentTemplate),n.SegmentTemplate&&(t=r.YO(n.SegmentTemplate)?n.SegmentTemplate[0]:n.SegmentTemplate),t){const e=d()(t.startNumber);if(f=t.initialization,w=a()(t.timescale||"1"),t.duration&&!t.SegmentTimeline){A=a()(t.duration);let s=A/w;const d=e+Math.ceil((i.duration||s)/s)-1;for(let a=e;a<=d;a++){const o=s*(a-e);let r=s*(a-e+1);a===d&&(s=i.duration-s*(d-e),r=i.duration),x.push({idx:a,start:o,end:r,url:I+t.media.replace(/\$RepresentationID\$/g,n.id).replace(/\$Number(%(\d+)d)?\$/g,((e,t,i)=>i?h(a,+i):(0,l.A)(a))),segmentDuration:s})}}else if(t.SegmentTimeline&&t.SegmentTimeline.S){const i=r.YO(t.SegmentTimeline.S)?t.SegmentTimeline.S:[t.SegmentTimeline.S];let s=0,o=e;for(let e=0;e<i.length;e++){let r=a()(i[e].d);i[e].t&&(s=a()(i[0].t));let m=1;i[e].r&&(m=d()(i[e].r)+1);for(let e=0;e<m;e++)x.push({idx:o,start:s/w,end:(s+r)/w,url:I+t.media.replace(/\$RepresentationID\$/g,n.id).replace(/\$Number(%(\d+)d)?\$/g,((e,t,i)=>i?h(o,+i):(0,l.A)(o))).replace(/\$Time\$/g,(0,l.A)(s)),segmentDuration:r/w}),o++,s+=r}}}else if(n.SegmentList){const e=r.YO(n.SegmentList.SegmentURL)?n.SegmentList.SegmentURL:[n.SegmentList.SegmentURL];let t=0,i=a()(n.SegmentList.duration);for(let s=0;s<e.length;s++)x.push({idx:s,start:t/w,end:(t+i)/w,url:I+e[s].media,segmentDuration:i/w}),t+=i}"video/mp4"===o?i.mediaList.video.push({id:n.id,baseURL:I,initSegment:I+f.replace(/\$RepresentationID\$/g,n.id).replace(/\$Bandwidth\$/g,(0,l.A)(P)),mediaSegments:x,mimeType:o,codecs:m,width:u,height:g,maxWidth:p,maxHeight:L,frameRate:S,sar:y,startWithSAP:"1"===R,bandwidth:P,timescale:w,duration:A,encrypted:T}):"audio/mp4"===o?i.mediaList.audio.push({id:n.id,baseURL:I,initSegment:I+f.replace(/\$RepresentationID\$/g,n.id).replace(/\$Bandwidth\$/g,(0,l.A)(P)),mediaSegments:x,mimeType:o,codecs:m,startWithSAP:"1"===R,bandwidth:P,timescale:w,duration:A,encrypted:T,lang:v}):"application/mp4"===o&&i.mediaList.subtitle.push({id:n.id,baseURL:I,initSegment:I+f.replace(/\$RepresentationID\$/g,n.id).replace(/\$Bandwidth\$/g,(0,l.A)(P)),mediaSegments:x,mimeType:o,codecs:m,startWithSAP:"1"===R,bandwidth:P,timescale:w,duration:A,encrypted:T,lang:v})}}))})),["video","audio"].forEach((e=>{i.mediaList[e].sort(((e,t)=>e.bandwidth-t.bandwidth))})),i}},79331:(e,t,i)=>{i.d(t,{A:()=>r});var s=i(68632),a=i.n(s),n=i(72739);const d={aloneValueName:"_@attribute"},o=[" ","/",'"',"'","<",">"];function r(e,t=d){e=(e=(e=(e=e.replace(/<!--[\s\S]*?-->/g,"")).replace(/[\n\t\r]/g,"")).replace(/>[ \t]+</g,"><")).replace(/<\?[^>]*\?>/g,"");const i=[];let s=0;function r(e,s){const n=i[i.length-1];n&&(e===t.aloneValueName||null==n.obj[t.aloneValueName]?null==n.obj[e]?n.obj[e]=s:a()(n.obj[e])?n.obj[e].push(s):n.obj[e]=[n.obj[e],s]:n.obj[t.aloneValueName]=[n.obj[t.aloneValueName],{tagName:e,...s}])}function l(t){for(;s<e.length;){if(e[s]===t)return!0;s++}return!1}function m(){u();let t="";for(;s<e.length&&!n.zy(o,e[s]);)t+=e[s],s++;return t}function u(){for(;s<e.length&&/\s|\r|\n/.test(e[s]);)s++}const h=/\s/,c=/'/,g=/"/;function f(){if(s>=e.length)return!0;u();let t=h;'"'!==e[s]&&"'"!=e[s]||(t='"'===e[s]?g:c,s++);let i="";for(;s<e.length;){if(t.test(e[s])){s++;break}i+=e[s],s++}return i}function p(){u();let t="";for(;s<e.length&&"<"!==e[s];)t+=e[s],s++;return t}function L(){for(;"<"===e[s];){const t=s;if(s++,u(),"/"!==e[s]){s=t;break}if(s++,m()===i[i.length-1].tag){if(i.length>1){const e=i.pop();r(e.tag,e.obj)}l(">"),s++,u()}else i.pop(),l(">"),s++,u()}}return function a(){if(s>=e.length)return;let n=s;if(u(),"<"!==e[s])return s=n,r(t.aloneValueName,p()),L(),a();let d=l("<");if(!d)return;n=s,s++;const o=m();if(i.push({obj:{},tag:o,start:n}),function(){for(;u(),">"!==e[s]&&"/"!==e[s];){let e=m();if(!e)break;"="===e[e.length-1]?e=e.substring(0,e.length-1):(l("="),s++),r(e,f())}}(),u(),"/"===e[s]){if(s++,i.length>1){const e=i.pop();r(e.tag,e.obj)}return l(">"),s++,L(),a()}d=l(">"),d&&(s++,u(),"<"!==e[s]&&(r(t.aloneValueName,p()),u()),L(),a())}(),{[i[0].tag]:i[0].obj}}}}]);
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[576],{41576:(e,t,i)=>{i.r(t),i.d(t,{default:()=>L});var s=i(134),a=i(80662),n=i.n(a),d=i(54001),o=i.n(d),r=i(13724),l=i(82800),m=i(95335),u=i(4624),h=i(78417),c=i(77580),g=i(86932),f=i(9705);const p="src/avnetwork/ioLoader/DashIOLoader.ts";class L extends l.A{constructor(...e){super(...e),(0,s.A)(this,"info",void 0),(0,s.A)(this,"range",void 0),(0,s.A)(this,"mediaPlayList",void 0),(0,s.A)(this,"fetchMediaPlayListPromise",void 0),(0,s.A)(this,"minBuffer",void 0),(0,s.A)(this,"audioResource",void 0),(0,s.A)(this,"videoResource",void 0),(0,s.A)(this,"subtitleResource",void 0)}createResource(e){return{type:e,fetchedMap:new(n()),fetchedHistoryList:[],loader:null,segmentIndex:0,currentUri:"",selectedIndex:0,segments:[],initSegmentPadding:"",initedSegment:""}}async fetchMediaPlayList(e){var t,i,s;if(!e){if(this.fetchMediaPlayListPromise)return;this.fetchMediaPlayListPromise=new(o())((t=>{e=t}))}const a={method:"GET",headers:{},mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};null!==(t=this.info.httpOptions)&&void 0!==t&&t.headers&&m.__(this.info.httpOptions.headers,((e,t)=>{a.headers[t]=e})),null!==(i=this.info.httpOptions)&&void 0!==i&&i.credentials&&(a.credentials=this.info.httpOptions.credentials),null!==(s=this.info.httpOptions)&&void 0!==s&&s.referrerPolicy&&(a.referrerPolicy=this.info.httpOptions.referrerPolicy);try{const t=await fetch(this.info.url,a),i=await t.text();if(this.mediaPlayList=(0,h.A)(i,this.info.url),this.minBuffer=this.mediaPlayList.minBufferTime,this.options.isLive){var n,d;const t=this.mediaPlayList.minBufferTime/this.mediaPlayList.maxSegmentDuration,i=Math.max(this.mediaPlayList.mediaList.audio&&(null===(n=this.mediaPlayList.mediaList.audio[0])||void 0===n?void 0:n.mediaSegments.length)||0,this.mediaPlayList.mediaList.video&&(null===(d=this.mediaPlayList.mediaList.video[0])||void 0===d?void 0:d.mediaSegments.length)||0);if(i<t)return await new r.A((t-i)*this.mediaPlayList.maxSegmentDuration),u.R8(`wait for min buffer time, buffer: ${i*this.mediaPlayList.maxSegmentDuration}, need: ${t*this.mediaPlayList.maxSegmentDuration}`,p,136),this.fetchMediaPlayList(e)}if("vod"===this.mediaPlayList.type?this.options.isLive=!1:this.options.isLive=!0,this.mediaPlayList.mediaList.audio.length){const e=this.mediaPlayList.mediaList.audio[this.audioResource.selectedIndex];e.file?this.audioResource.segments=[e.file]:this.options.isLive&&this.audioResource.initedSegment===e.initSegment?this.audioResource.segments=e.mediaSegments.map((e=>e.url)):(this.audioResource.segments=[e.initSegment].concat(e.mediaSegments.map((e=>e.url))),this.audioResource.initedSegment=e.initSegment)}if(this.mediaPlayList.mediaList.video.length){const e=this.mediaPlayList.mediaList.video[this.videoResource.selectedIndex];e.file?this.videoResource.segments=[e.file]:this.options.isLive&&this.videoResource.initedSegment===e.initSegment?this.videoResource.segments=e.mediaSegments.map((e=>e.url)):(this.videoResource.segments=[e.initSegment].concat(e.mediaSegments.map((e=>e.url))),this.videoResource.initedSegment=e.initSegment)}if(this.mediaPlayList.mediaList.subtitle.length){const e=this.mediaPlayList.mediaList.subtitle[this.subtitleResource.selectedIndex];e.file?this.subtitleResource.segments=[e.file]:this.options.isLive&&this.subtitleResource.initedSegment===e.initSegment?this.subtitleResource.segments=e.mediaSegments.map((e=>e.url)):(this.subtitleResource.segments=[e.initSegment].concat(e.mediaSegments.map((e=>e.url))),this.subtitleResource.initedSegment=e.initSegment)}return e(),this.fetchMediaPlayListPromise=null,this.status=2,this.retryCount=0,this.mediaPlayList}catch(t){if(this.retryCount<this.options.retryCount)return this.retryCount++,u.z3(`failed fetch mpd file, retry(${this.retryCount}/3)`,p,208),await new r.A(2===this.status?this.options.retryInterval:5),this.fetchMediaPlayList(e);this.status=3,e(),u.h2(`DashLoader: exception, fetch slice error, error: ${t.message}`,p,216)}}async open(e,t){return 0!==this.status?f.lh:(this.info=e,this.range=t,this.range.to||(this.range.to=-1),this.range.from=Math.max(this.range.from,0),this.videoResource=this.createResource("video"),this.audioResource=this.createResource("audio"),this.subtitleResource=this.createResource("subtitle"),this.status=1,this.retryCount=0,await this.fetchMediaPlayList(),0)}async readResource(e,t){let i=0;if(t.loader){if(i=await t.loader.read(e),-1048576!==i)return i;if(this.options.isLive)t.fetchedMap.set(t.currentUri,!0),10===t.fetchedHistoryList.length&&t.fetchedMap.delete(t.fetchedHistoryList.shift()),t.fetchedHistoryList.push(t.currentUri);else if(t.segmentIndex++,t.segmentIndex>=t.segments.length)return-1048576;t.loader=null}if(this.options.isLive){const i=t.segments.filter((e=>!t.fetchedMap.get(e)));if(!i.length){if(this.mediaPlayList.isEnd)return-1048576;const i=(this.mediaPlayList.duration||this.mediaPlayList.minimumUpdatePeriod)-((0,g.A)()-this.mediaPlayList.timestamp)/1e3;if(i>0&&await new r.A(Math.max(i,2)),this.fetchMediaPlayListPromise){if(await this.fetchMediaPlayListPromise,3===this.status)return-1048576}else await this.fetchMediaPlayList();return this.readResource(e,t)}return t.currentUri=i[0],t.loader=new c.A(m.X$({},this.options,{disableSegment:!0,loop:!1})),await t.loader.open(m.X$({},this.info,{url:t.currentUri}),{from:0,to:-1}),t.loader.read(e)}return t.loader=new c.A(m.X$({},this.options,{disableSegment:!0,loop:!1})),t.initSegmentPadding?(await t.loader.open(m.X$({},this.info,{url:t.initSegmentPadding}),{from:0,to:-1}),t.initSegmentPadding=null,t.segmentIndex--):await t.loader.open(m.X$({},this.info,{url:t.segments[t.segmentIndex]}),{from:0,to:-1}),t.loader.read(e)}async read(e,t){return"audio"===t.mediaType?this.readResource(e,this.audioResource):"video"===t.mediaType?this.readResource(e,this.videoResource):"subtitle"===t.mediaType?this.readResource(e,this.subtitleResource):f.UY}async seekResource(e,t){let i="";t.loader&&(i=t.loader.getUrl(),await t.loader.abort(),t.loader=null);let s=Number(BigInt.asIntN(32,e));if(t.segments){let e=0;const a="audio"===t.type?this.mediaPlayList.mediaList.audio:"video"===t.type?this.mediaPlayList.mediaList.video:this.mediaPlayList.mediaList.subtitle,n=a[t.selectedIndex].mediaSegments;if(null!=n&&n.length)for(let t=0;t<n.length;t++)if(s>=1e3*n[t].start&&s<1e3*n[t].end){e=t;break}t.segmentIndex=e+(a[t.selectedIndex].initSegment?1:0);let d="";"video"===t.type?d=this.mediaPlayList.mediaList.video[t.selectedIndex].initSegment:"audio"===t.type?d=this.mediaPlayList.mediaList.audio[t.selectedIndex].initSegment:"subtitle"===t.type&&(d=this.mediaPlayList.mediaList.subtitle[t.selectedIndex].initSegment),d&&d===i&&(t.initSegmentPadding=d)}}async seek(e,t){return"audio"===t.mediaType&&this.audioResource.loader&&await this.seekResource(e,this.audioResource),"video"===t.mediaType&&this.videoResource.loader&&await this.seekResource(e,this.videoResource),"subtitle"===t.mediaType&&this.subtitleResource.loader&&await this.seekResource(e,this.subtitleResource),4===this.status&&(this.status=2),0}async size(){return BigInt(0)}async abort(){this.videoResource.loader&&(await this.videoResource.loader.abort(),this.videoResource.loader=null),this.audioResource.loader&&(await this.audioResource.loader.abort(),this.audioResource.loader=null),this.subtitleResource.loader&&(await this.subtitleResource.loader.abort(),this.subtitleResource.loader=null)}async stop(){await this.abort(),this.status=0}getDuration(){return this.mediaPlayList.duration}hasVideo(){var e;return(null===(e=this.mediaPlayList)||void 0===e?void 0:e.mediaList.video.length)>0}hasAudio(){var e;return(null===(e=this.mediaPlayList)||void 0===e?void 0:e.mediaList.audio.length)>0}hasSubtitle(){var e;return(null===(e=this.mediaPlayList)||void 0===e?void 0:e.mediaList.subtitle.length)>0}getVideoList(){return this.hasVideo()?{list:this.mediaPlayList.mediaList.video.map((e=>({width:e.width,height:e.height,frameRate:e.frameRate,codecs:e.codecs}))),selectedIndex:this.videoResource.selectedIndex}:{list:[],selectedIndex:0}}getAudioList(){return this.hasAudio()?{list:this.mediaPlayList.mediaList.audio.map((e=>({lang:e.lang,codecs:e.codecs}))),selectedIndex:this.audioResource.selectedIndex}:{list:[],selectedIndex:0}}getSubtitleList(){return this.hasSubtitle()?{list:this.mediaPlayList.mediaList.subtitle.map((e=>({lang:e.lang,codecs:e.codecs}))),selectedIndex:this.subtitleResource.selectedIndex}:{list:[],selectedIndex:0}}selectVideo(e){if(e!==this.videoResource.selectedIndex&&this.hasVideo()&&e>=0&&e<this.mediaPlayList.mediaList.video.length){this.videoResource.selectedIndex=e;const t=this.mediaPlayList.mediaList.video[this.videoResource.selectedIndex];t.file?this.videoResource.segments=[t.file]:(this.videoResource.segments=[t.initSegment].concat(t.mediaSegments.map((e=>e.url))),this.videoResource.initSegmentPadding=t.initSegment)}}selectAudio(e){if(e!==this.audioResource.selectedIndex&&this.hasAudio()&&e>=0&&e<this.mediaPlayList.mediaList.audio.length){this.audioResource.selectedIndex=e;const t=this.mediaPlayList.mediaList.audio[this.audioResource.selectedIndex];t.file?this.audioResource.segments=[t.file]:(this.audioResource.segments=[t.initSegment].concat(t.mediaSegments.map((e=>e.url))),this.audioResource.initSegmentPadding=t.initSegment)}}selectSubtitle(e){if(e!==this.subtitleResource.selectedIndex&&this.hasSubtitle()&&e>=0&&e<this.mediaPlayList.mediaList.subtitle.length){this.subtitleResource.selectedIndex=e;const t=this.mediaPlayList.mediaList.subtitle[this.subtitleResource.selectedIndex];t.file?this.subtitleResource.segments=[t.file]:(this.subtitleResource.segments=[t.initSegment].concat(t.mediaSegments.map((e=>e.url))),this.subtitleResource.initSegmentPadding=t.initSegment)}}getMinBuffer(){return this.minBuffer}}},78417:(e,t,i)=>{i.d(t,{A:()=>g});var s=i(88032),a=i.n(s),n=i(29967),d=i.n(n),o=i(79331),r=i(67672),l=i(62100),m=i(86932);function u(e){let t=0,i=0,s=0;return(e=e.slice(e.indexOf("PT")+2)).indexOf("H")>-1&&e.indexOf("M")>-1&&e.indexOf("S")>-1?(t=a()(e.slice(0,e.indexOf("H"))),i=a()(e.slice(e.indexOf("H")+1,e.indexOf("M"))),s=a()(e.slice(e.indexOf("M")+1,e.indexOf("S")))):e.indexOf("H")<0&&e.indexOf("M")>0&&e.indexOf("S")>-1?(i=a()(e.slice(0,e.indexOf("M"))),s=a()(e.slice(e.indexOf("M")+1,e.indexOf("S")))):e.indexOf("H")<0&&e.indexOf("M")<0&&e.indexOf("S")>-1&&(s=a()(e.slice(0,e.indexOf("S")))),3600*t+60*i+s}function h(e,t){return(Array(t).join("0")+e).slice(-t)}function c(e){if(!e)return 0;if(e.indexOf("/")>-1){const t=e.split("/");return a()(t[0])/a()(t[1])}return a()(e)}function g(e,t){const i={source:e,mediaList:{audio:[],video:[],subtitle:[]},type:"live",isEnd:!1,duration:0,minBufferTime:0,maxSegmentDuration:0,minimumUpdatePeriod:0,timestamp:(0,m.A)()},s=[],n=(g=e,g?(0,o.A)(g,{aloneValueName:"value"}):null).MPD;var g;"static"===n.type&&(i.type="vod",i.isEnd=!0),n.minBufferTime&&(i.minBufferTime=u(n.minBufferTime)),n.maxSegmentDuration&&(i.maxSegmentDuration=u(n.maxSegmentDuration)),n.minimumUpdatePeriod&&(i.minimumUpdatePeriod=u(n.minimumUpdatePeriod)),n.mediaPresentationDuration&&(i.duration=u(n.mediaPresentationDuration));let f="";n.BaseURL&&(f=r.Yj(n.BaseURL)?n.BaseURL:n.BaseURL.value);const p=r.YO(n.Period)?n.Period[0]:n.Period;return!i.duration&&p&&p.duration&&(i.duration=u(p.duration)),(r.YO(p.AdaptationSet)?p.AdaptationSet:[p.AdaptationSet]).forEach(((e,n)=>{let o="video/mp4",m="video",u="avc1.64001E",g=640,p=360,L=640,S=360,y=25,R="1:1",P="1",v=588633,b=f,x="und";e.BaseURL&&(b+=e.BaseURL),e.lang&&(x=e.lang),e.mimeType||e.contentType?(o=e.mimeType,m=e.contentType,"video/mp4"===o||"video"===m?(u=e.codecs,g=a()(e.width),p=a()(e.height),e.maxWidth&&(L=a()(e.maxWidth)),e.maxHeight&&(S=a()(e.maxHeight)),e.frameRate&&(y=c(e.frameRate)),R=e.sar,P=e.startWithSAP,v=a()(e.bandwidth)):"audio/mp4"!==o&&"audio"!==m||(u=e.codecs,P=e.startWithSAP,v=a()(e.bandwidth))):(e.maxWidth&&(L=a()(e.maxWidth)),e.maxHeight&&(S=a()(e.maxHeight)),e.frameRate&&(y=c(e.frameRate))),(r.YO(e.Representation)?e.Representation:[e.Representation]).forEach(((n,c)=>{s.indexOf(n.id)>-1&&(n.id=(d()(s[s.length-1])+1).toString()),s.push(n.id);let f="";const w=[];let A=0,I=0,T=t.slice(0,t.lastIndexOf("/")+1)+b;n.mimeType&&(o=n.mimeType),"video/mp4"===o||"video"===m?(n.codecs&&(u=n.codecs),n.width&&(g=a()(n.width)),n.height&&(p=a()(n.height)),n.maxWidth&&(L=a()(n.maxWidth)),n.maxHeight&&(S=a()(n.maxHeight)),n.frameRate&&(y=a()(n.frameRate)),n.sar&&(R=n.sar),n.startWithSAP&&(P=n.startWithSAP),n.bandwidth&&(v=a()(n.bandwidth))):(n.codecs&&(u=n.codecs),n.startWithSAP&&(P=n.startWithSAP),n.bandwidth&&(v=a()(n.bandwidth))),n.BaseURL&&(T+=r.Yj(n.BaseURL)?n.BaseURL:n.BaseURL.value);let O=!1;if((e.ContentProtection||n.ContentProtection)&&(O=!0),n.SegmentBase)"video/mp4"===o||"video"===m?i.mediaList.video.push({id:n.id,file:T,mimeType:o,codecs:u,width:g,height:p,maxWidth:L,maxHeight:S,frameRate:y,sar:R,startWithSAP:"1"===P,bandwidth:v,timescale:A,duration:I,encrypted:O}):"audio/mp4"===o||"audio"===m?i.mediaList.audio.push({id:n.id,file:T,mimeType:o,codecs:u,startWithSAP:"1"===P,bandwidth:v,timescale:A,duration:I,encrypted:O,lang:x}):"application/mp4"!==o&&"text"!==m||i.mediaList.subtitle.push({id:n.id,file:T,mimeType:o,codecs:u,startWithSAP:"1"===P,bandwidth:v,timescale:A,duration:I,encrypted:O,lang:x});else{let t;if(e.SegmentTemplate&&(t=r.YO(e.SegmentTemplate)?e.SegmentTemplate[0]:e.SegmentTemplate),n.SegmentTemplate&&(t=r.YO(n.SegmentTemplate)?n.SegmentTemplate[0]:n.SegmentTemplate),t){const e=d()(t.startNumber);if(f=t.initialization,A=a()(t.timescale||"1"),t.duration&&!t.SegmentTimeline){I=a()(t.duration);let s=I/A;const d=e+Math.ceil((i.duration||s)/s)-1;for(let a=e;a<=d;a++){const o=s*(a-e);let r=s*(a-e+1);a===d&&(s=i.duration-s*(d-e),r=i.duration),w.push({idx:a,start:o,end:r,url:T+t.media.replace(/\$RepresentationID\$/g,n.id).replace(/\$Number(%(\d+)d)?\$/g,((e,t,i)=>i?h(a,+i):(0,l.A)(a))),segmentDuration:s})}}else if(t.SegmentTimeline&&t.SegmentTimeline.S){const i=r.YO(t.SegmentTimeline.S)?t.SegmentTimeline.S:[t.SegmentTimeline.S];let s=0,o=e;for(let e=0;e<i.length;e++){let r=a()(i[e].d);i[e].t&&(s=a()(i[0].t));let m=1;i[e].r&&(m=d()(i[e].r)+1);for(let e=0;e<m;e++)w.push({idx:o,start:s/A,end:(s+r)/A,url:T+t.media.replace(/\$RepresentationID\$/g,n.id).replace(/\$Number(%(\d+)d)?\$/g,((e,t,i)=>i?h(o,+i):(0,l.A)(o))).replace(/\$Time\$/g,(0,l.A)(s)),segmentDuration:r/A}),o++,s+=r}}}else if(n.SegmentList){const e=r.YO(n.SegmentList.SegmentURL)?n.SegmentList.SegmentURL:[n.SegmentList.SegmentURL];let t=0,i=a()(n.SegmentList.duration);for(let s=0;s<e.length;s++)w.push({idx:s,start:t/A,end:(t+i)/A,url:T+e[s].media,segmentDuration:i/A}),t+=i}"video/mp4"===o||"video"===m?i.mediaList.video.push({id:n.id,baseURL:T,initSegment:T+f.replace(/\$RepresentationID\$/g,n.id).replace(/\$Bandwidth\$/g,(0,l.A)(v)),mediaSegments:w,mimeType:o,codecs:u,width:g,height:p,maxWidth:L,maxHeight:S,frameRate:y,sar:R,startWithSAP:"1"===P,bandwidth:v,timescale:A,duration:I,encrypted:O}):"audio/mp4"===o||"audio"===m?i.mediaList.audio.push({id:n.id,baseURL:T,initSegment:T+f.replace(/\$RepresentationID\$/g,n.id).replace(/\$Bandwidth\$/g,(0,l.A)(v)),mediaSegments:w,mimeType:o,codecs:u,startWithSAP:"1"===P,bandwidth:v,timescale:A,duration:I,encrypted:O,lang:x}):"application/mp4"!==o&&"text"!==m||i.mediaList.subtitle.push({id:n.id,baseURL:T,initSegment:T+f.replace(/\$RepresentationID\$/g,n.id).replace(/\$Bandwidth\$/g,(0,l.A)(v)),mediaSegments:w,mimeType:o,codecs:u,startWithSAP:"1"===P,bandwidth:v,timescale:A,duration:I,encrypted:O,lang:x})}}))})),["video","audio"].forEach((e=>{i.mediaList[e].sort(((e,t)=>e.bandwidth-t.bandwidth))})),i}},79331:(e,t,i)=>{i.d(t,{A:()=>r});var s=i(68632),a=i.n(s),n=i(72739);const d={aloneValueName:"_@attribute"},o=[" ","/",'"',"'","<",">"];function r(e,t=d){e=(e=(e=(e=e.replace(/<!--[\s\S]*?-->/g,"")).replace(/[\n\t\r]/g,"")).replace(/>[ \t]+</g,"><")).replace(/<\?[^>]*\?>/g,"");const i=[];let s=0;function r(e,s){const n=i[i.length-1];n&&(e===t.aloneValueName||null==n.obj[t.aloneValueName]?null==n.obj[e]?n.obj[e]=s:a()(n.obj[e])?n.obj[e].push(s):n.obj[e]=[n.obj[e],s]:n.obj[t.aloneValueName]=[n.obj[t.aloneValueName],{tagName:e,...s}])}function l(t){for(;s<e.length;){if(e[s]===t)return!0;s++}return!1}function m(){u();let t="";for(;s<e.length&&!n.zy(o,e[s]);)t+=e[s],s++;return t}function u(){for(;s<e.length&&/\s|\r|\n/.test(e[s]);)s++}const h=/\s/,c=/'/,g=/"/;function f(){if(s>=e.length)return!0;u();let t=h;'"'!==e[s]&&"'"!=e[s]||(t='"'===e[s]?g:c,s++);let i="";for(;s<e.length;){if(t.test(e[s])){s++;break}i+=e[s],s++}return i}function p(){u();let t="";for(;s<e.length&&"<"!==e[s];)t+=e[s],s++;return t}function L(){for(;"<"===e[s];){const t=s;if(s++,u(),"/"!==e[s]){s=t;break}if(s++,m()===i[i.length-1].tag){if(i.length>1){const e=i.pop();r(e.tag,e.obj)}l(">"),s++,u()}else i.pop(),l(">"),s++,u()}}return function a(){if(s>=e.length)return;let n=s;if(u(),"<"!==e[s])return s=n,r(t.aloneValueName,p()),L(),a();let d=l("<");if(!d)return;n=s,s++;const o=m();if(i.push({obj:{},tag:o,start:n}),function(){for(;u(),">"!==e[s]&&"/"!==e[s];){let e=m();if(!e)break;"="===e[e.length-1]?e=e.substring(0,e.length-1):(l("="),s++),r(e,f())}}(),u(),"/"===e[s]){if(s++,i.length>1){const e=i.pop();r(e.tag,e.obj)}return l(">"),s++,L(),a()}d=l(">"),d&&(s++,u(),"<"!==e[s]&&(r(t.aloneValueName,p()),u()),L(),a())}(),{[i[0].tag]:i[0].obj}}}}]);