@libmedia/avplayer-ui 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/esm/105.avplayer.js +1 -0
  2. package/dist/esm/153.avplayer.js +1 -0
  3. package/dist/esm/168.avplayer.js +1 -0
  4. package/dist/esm/171.avplayer.js +1 -0
  5. package/dist/esm/240.avplayer.js +1 -0
  6. package/dist/esm/259.avplayer.js +1 -0
  7. package/dist/esm/274.avplayer.js +1 -0
  8. package/dist/esm/296.avplayer.js +1 -0
  9. package/dist/esm/384.avplayer.js +1 -1
  10. package/dist/esm/4.avplayer.js +1 -0
  11. package/dist/esm/405.avplayer.js +1 -0
  12. package/dist/esm/41.avplayer.js +1 -0
  13. package/dist/esm/423.avplayer.js +1 -0
  14. package/dist/esm/427.avplayer.js +1 -0
  15. package/dist/esm/452.avplayer.js +1 -0
  16. package/dist/esm/473.avplayer.js +1 -0
  17. package/dist/esm/475.avplayer.js +1 -0
  18. package/dist/esm/508.avplayer.js +1 -0
  19. package/dist/esm/535.avplayer.js +1 -0
  20. package/dist/esm/559.avplayer.js +1 -0
  21. package/dist/esm/567.avplayer.js +1 -0
  22. package/dist/esm/620.avplayer.js +1 -0
  23. package/dist/esm/628.avplayer.js +1 -0
  24. package/dist/esm/653.avplayer.js +1 -0
  25. package/dist/esm/820.avplayer.js +1 -0
  26. package/dist/esm/945.avplayer.js +1 -0
  27. package/dist/esm/953.avplayer.js +1 -0
  28. package/dist/esm/961.avplayer.js +1 -1
  29. package/dist/esm/964.avplayer.js +1 -0
  30. package/dist/esm/965.avplayer.js +1 -0
  31. package/dist/esm/976.avplayer.js +1 -0
  32. package/dist/esm/avplayer.js +1 -1
  33. package/dist/umd/105.avplayer.js +1 -0
  34. package/dist/umd/153.avplayer.js +1 -0
  35. package/dist/umd/168.avplayer.js +1 -0
  36. package/dist/umd/171.avplayer.js +1 -0
  37. package/dist/umd/240.avplayer.js +1 -0
  38. package/dist/umd/259.avplayer.js +1 -0
  39. package/dist/umd/274.avplayer.js +1 -0
  40. package/dist/umd/296.avplayer.js +1 -0
  41. package/dist/umd/384.avplayer.js +1 -1
  42. package/dist/umd/4.avplayer.js +1 -0
  43. package/dist/umd/405.avplayer.js +1 -0
  44. package/dist/umd/41.avplayer.js +1 -0
  45. package/dist/umd/423.avplayer.js +1 -0
  46. package/dist/umd/427.avplayer.js +1 -0
  47. package/dist/umd/452.avplayer.js +1 -0
  48. package/dist/umd/473.avplayer.js +1 -0
  49. package/dist/umd/475.avplayer.js +1 -0
  50. package/dist/umd/508.avplayer.js +1 -0
  51. package/dist/umd/535.avplayer.js +1 -0
  52. package/dist/umd/559.avplayer.js +1 -0
  53. package/dist/umd/567.avplayer.js +1 -0
  54. package/dist/umd/620.avplayer.js +1 -0
  55. package/dist/umd/628.avplayer.js +1 -0
  56. package/dist/umd/653.avplayer.js +1 -0
  57. package/dist/umd/820.avplayer.js +1 -0
  58. package/dist/umd/945.avplayer.js +1 -0
  59. package/dist/umd/953.avplayer.js +1 -0
  60. package/dist/umd/961.avplayer.js +1 -1
  61. package/dist/umd/964.avplayer.js +1 -0
  62. package/dist/umd/965.avplayer.js +1 -0
  63. package/dist/umd/976.avplayer.js +1 -0
  64. package/dist/umd/avplayer.js +1 -1
  65. package/package.json +6 -5
  66. package/dist/esm/163.avplayer.js +0 -1
  67. package/dist/esm/182.avplayer.js +0 -1
  68. package/dist/esm/195.avplayer.js +0 -1
  69. package/dist/esm/199.avplayer.js +0 -1
  70. package/dist/esm/239.avplayer.js +0 -1
  71. package/dist/esm/248.avplayer.js +0 -1
  72. package/dist/esm/26.avplayer.js +0 -1
  73. package/dist/esm/261.avplayer.js +0 -1
  74. package/dist/esm/266.avplayer.js +0 -1
  75. package/dist/esm/325.avplayer.js +0 -1
  76. package/dist/esm/33.avplayer.js +0 -1
  77. package/dist/esm/43.avplayer.js +0 -1
  78. package/dist/esm/462.avplayer.js +0 -1
  79. package/dist/esm/502.avplayer.js +0 -1
  80. package/dist/esm/573.avplayer.js +0 -1
  81. package/dist/esm/630.avplayer.js +0 -1
  82. package/dist/esm/641.avplayer.js +0 -1
  83. package/dist/esm/747.avplayer.js +0 -1
  84. package/dist/esm/749.avplayer.js +0 -1
  85. package/dist/esm/790.avplayer.js +0 -1
  86. package/dist/esm/794.avplayer.js +0 -1
  87. package/dist/esm/850.avplayer.js +0 -1
  88. package/dist/esm/881.avplayer.js +0 -1
  89. package/dist/esm/931.avplayer.js +0 -1
  90. package/dist/esm/932.avplayer.js +0 -1
  91. package/dist/esm/943.avplayer.js +0 -1
  92. package/dist/esm/956.avplayer.js +0 -1
  93. package/dist/esm/97.avplayer.js +0 -1
  94. package/dist/esm/991.avplayer.js +0 -1
  95. package/dist/umd/163.avplayer.js +0 -1
  96. package/dist/umd/182.avplayer.js +0 -1
  97. package/dist/umd/195.avplayer.js +0 -1
  98. package/dist/umd/199.avplayer.js +0 -1
  99. package/dist/umd/239.avplayer.js +0 -1
  100. package/dist/umd/248.avplayer.js +0 -1
  101. package/dist/umd/26.avplayer.js +0 -1
  102. package/dist/umd/261.avplayer.js +0 -1
  103. package/dist/umd/266.avplayer.js +0 -1
  104. package/dist/umd/325.avplayer.js +0 -1
  105. package/dist/umd/33.avplayer.js +0 -1
  106. package/dist/umd/43.avplayer.js +0 -1
  107. package/dist/umd/462.avplayer.js +0 -1
  108. package/dist/umd/502.avplayer.js +0 -1
  109. package/dist/umd/573.avplayer.js +0 -1
  110. package/dist/umd/630.avplayer.js +0 -1
  111. package/dist/umd/641.avplayer.js +0 -1
  112. package/dist/umd/747.avplayer.js +0 -1
  113. package/dist/umd/749.avplayer.js +0 -1
  114. package/dist/umd/790.avplayer.js +0 -1
  115. package/dist/umd/794.avplayer.js +0 -1
  116. package/dist/umd/850.avplayer.js +0 -1
  117. package/dist/umd/881.avplayer.js +0 -1
  118. package/dist/umd/931.avplayer.js +0 -1
  119. package/dist/umd/932.avplayer.js +0 -1
  120. package/dist/umd/943.avplayer.js +0 -1
  121. package/dist/umd/956.avplayer.js +0 -1
  122. package/dist/umd/97.avplayer.js +0 -1
  123. package/dist/umd/991.avplayer.js +0 -1
@@ -0,0 +1 @@
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[423],{28034:(t,i,e)=>{e.d(i,{A:()=>r});var s=e(19371);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)}}},35206:(t,i,e)=>{e.d(i,{A:()=>l});var s=e(19371),r=e(38568),n=e(44109),a=e(47378),h=e(87339),o=e(33134),f=e(21279);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 n.$x(t,s),o=await n.$x(t,s);this[r]=o,s>t.getPos()&&await t.skip(Number(BigInt.asIntN(32,s-t.getPos())));const f=Number(t.getPos()-e),l=await t.readUint32();return f+11!==l?(h.R8(`script size not match, size: ${f+11}, previousTagSize: ${l}`,"packages/avformat/src/formats/flv/FlvScriptTag.ts",60),a.LR):0}computeSize(){const t=[],i=new f.A;return i.onFlush=i=>(t.push(i.slice()),0),n.bD(i,"onMetaData"),n.bD(i,this.onMetaData),i.flush(),(0,o.A)(Uint8Array,t).length}write(t){if(this.onMetaData){const i=[],e=new f.A;e.onFlush=t=>(i.push(t.slice()),0),n.bD(e,"onMetaData"),n.bD(e,this.onMetaData),e.flush();const s=(0,o.A)(Uint8Array,i);r.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)}}},87227:(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}},38568:(t,i,e)=>{e.d(i,{M5:()=>n});var s=e(81819);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 l=Number(t.getPos()-o)+1;h&&h(l),t.writeUint32(l)}},50012:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(87339);const r="packages/avformat/src/function/mktag.ts";function n(t){4!==t.length&&s.R8(`tag length is not 4, tag: ${t}`,r,31);let i=0;for(let e=0;e<4;e++)i=i<<8|t.charCodeAt(e);return i}},61028:(t,i,e)=>{e.r(i),e.d(i,{default:()=>b});var s=e(19371),r=e(65992),n=e(97494),a=e(54570),h=e(31616),o=e(28032),f=e(21279),l=e(44109),u=e(24779),d=e(35206),p=e(28034),c=e(28430),w=e(70178),g=e(84220);class b extends c.A{constructor(){super(...arguments),(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 a.A(t.payload),"onMetaData"===await l.$x(this.bufferReader,BigInt(t.payload.length)))){this.hasMetadata=!0;const i=await l.$x(this.bufferReader,BigInt(t.payload.length));this.flvHeader.hasAudio=(0,r.A)(i.audiocodecid),this.flvHeader.hasVideo=(0,r.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 d.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 g.A(this.options),await this.socket.open({url:t.url,webtransportOptions:t.webtransportOptions})):(this.socket=new w.A(this.options),await this.socket.open({url:t.url})),this.ioReader=new h.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 o.A,this.ioWriter.onFlush=async t=>this.socket.write(t),this.ioWriter.onSeek=async t=>this.socket.seek(t),this.flvWriter=new f.A,this.flvWriter.onFlush=t=>(this.readQueue.push(t.slice()),this.consume&&this.consume(),0),this.flvHeader=new p.A,this.packetQueue=[],this.flvHeaderWrote=!1,this.hasMetadata=!1,this.session=new u.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=n.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}}},19839:(t,i,e)=>{e.d(i,{u:()=>r});var s=e(19371);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)}}},24779:(t,i,e)=>{e.d(i,{A:()=>y});var s=e(19371),r=e(19839),n=e(95159),a=e(79696),h=e(44109),o=e(16563),f=e(87339),l=e(17630),u=e(81819),d=e(88583),p=e(21374),c=e(54570),w=e(35894),g=e(23734);const b="packages/avprotocol/src/rtmp/RtmpSession.ts";class y{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 Map,this.prevWritePacket=new Map,this.requestMap=new Map,this.streamIdMap=new Map,this.inChunkSize=128,this.outChunkSize=128,this.seq=0,this.maxSentUnacked=25e5,this.receiveReportSize=1048576,this.sendAsync=new w.an,this.bufferWriter=new p.A(new Uint8Array(1)),this.bufferReader=new c.A(new Uint8Array(1)),this.state=0}async handshake(){const t=(0,o.A)();await this.ioWriter.writeUint8(3),await this.ioWriter.writeUint32(0),await this.ioWriter.writeUint32(0);const i=new Uint8Array(1528);(0,g.A)(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,o.A)()-t),await this.ioWriter.writeBuffer(s),await this.ioWriter.flush(),await this.ioReader.skip(1536),this.readRtmpPacket()}async sendPacket(t){await w.s2(this.sendAsync),await(0,a.U)(this.ioWriter,this.outChunkSize,t,this.prevWritePacket.get(t.channelId)),this.prevWritePacket.set(t.channelId,t),w.Tl(this.sendAsync)}async readPacket(){const t=await(0,a.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(),f.Yz(`Max sent, unacked = ${this.maxSentUnacked}`,b,215))}handleWindowSizeACK(t){t.payload.length>=4&&(this.bufferReader.resetBuffer(t.payload),this.receiveReportSize=this.bufferReader.readUint32(),f.Yz(`Window acknowledgement size = ${this.receiveReportSize}`,b,222),this.receiveReportSize>>=1)}async handleInvoke(t){this.bufferReader.resetBuffer(t.payload);const i=BigInt(t.payload.length),e=await h.$x(this.bufferReader,i),s=await h.$x(this.bufferReader,i);if("_result"===e||"_error"===e){if(this.requestMap.has(s)){const t=await h.$x(this.bufferReader,i),r=await h.$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 h.$x(this.bufferReader,i);let e=await h.$x(this.bufferReader,i);if("error"===e.level)f.z3(`Server error: ${e.description}, ${e.code}`,b,258),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 h.$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 f.R8(`Too short ping packet (${t.payload.length})`,b,358);const e=new r.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 r.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 r.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 r.u(3,20,0,27+t.length);this.bufferWriter.resetBuffer(i.payload),h.bD(this.bufferWriter,"FCSubscribe"),h.bD(this.bufferWriter,++this.seq),h.bD(this.bufferWriter,null),h.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendFCPublish(t){const i=new r.u(3,20,0,25+t.length);this.bufferWriter.resetBuffer(i.payload),h.bD(this.bufferWriter,"FCPublish"),h.bD(this.bufferWriter,++this.seq),h.bD(this.bufferWriter,null),h.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendReleaseStream(t){const i=new r.u(3,20,0,29+t.length);this.bufferWriter.resetBuffer(i.payload),h.bD(this.bufferWriter,"releaseStream"),h.bD(this.bufferWriter,++this.seq),h.bD(this.bufferWriter,null),h.bD(this.bufferWriter,t),await this.sendPacket(i)}async sendCheckBW(){const t=new r.u(3,20,0,21);this.bufferWriter.resetBuffer(t.payload),h.bD(this.bufferWriter,"_checkbw"),h.bD(this.bufferWriter,++this.seq),h.bD(this.bufferWriter,null),await this.sendPacket(t)}async request(t,i){const e=new r.u(3,20,0,4096+n.iD);return this.bufferWriter.resetBuffer(e.payload),h.bD(this.bufferWriter,t),h.bD(this.bufferWriter,++this.seq),l.__(i,(t=>{h.bD(this.bufferWriter,t)})),e.payload=e.payload.subarray(0,this.bufferWriter.getPos()),new Promise(((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 Promise.race([this.request("getStreamLength",[null,t]),new d.A(1)]);u.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 r.u(3,20,0,26);this.bufferWriter.resetBuffer(i.payload),h.bD(this.bufferWriter,"seek"),h.bD(this.bufferWriter,0),h.bD(this.bufferWriter,null),h.bD(this.bufferWriter,t),await this.sendPacket(i)}async pause(t,i){const e=new r.u(3,20,0,29);this.bufferWriter.resetBuffer(e.payload),h.bD(this.bufferWriter,"pause"),h.bD(this.bufferWriter,0),h.bD(this.bufferWriter,null),h.bD(this.bufferWriter,t),h.bD(this.bufferWriter,i),await this.sendPacket(e)}getDuration(){return this.duration}}},95159:(t,i,e)=>{e.d(i,{iD:()=>s});const s=1024},79696:(t,i,e)=>{e.d(i,{U:()=>o,w:()=>f});var s=e(19839),r=e(87339),n=e(33134);const a="packages/avprotocol/src/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:r.R8(`got invalid message fmt, channel id ${f} can not find prev message with fmt ${l}`,a,177)),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,n.A)(Uint8Array,h));return b.tsField=w,b.extra=c,b}},91278:(t,i,e)=>{e.d(i,{Dh:()=>r,FQ:()=>u,H3:()=>o,KR:()=>f,N_:()=>n,SF:()=>a,f7:()=>w,go:()=>d,i0:()=>l,pu:()=>g,qs:()=>h,vh:()=>p,zg:()=>c});var s=e(3912);const r=-BigInt(1),n=-1,a=1e6,h=1e3,o=1e9,f=new s.Q({den:a,num:1}),l=new s.Q({den:h,num:1}),u=new s.Q({den:o,num:1}),d=(new s.Q({den:1,num:1}),2147483647),p=BigInt(0x8000000000000000),c=65535,w=4294967295,g=(BigInt(0x10000000000000000),8)},3912:(t,i,e)=>{e.d(i,{Q:()=>h});var s,r=e(19371),n=e(75354),a=e(86220);class h{constructor(t){(0,r.A)(this,"num",1),(0,r.A)(this,"den",1),t&&(this.den=t.den,this.num=t.num)}}s=h,(()=>{const t=s.prototype,i=new Map;i.set("num",{0:15,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0}),i.set("den",{0:15,1:0,2:0,3:0,4:0,5:0,6:0,7:4,8:0}),(0,a.A)(t,n.Og,!0),(0,a.A)(t,n.dc,4),(0,a.A)(t,n.g7,8),(0,a.A)(t,n.JY,i)})()},44109:(t,i,e)=>{e.d(i,{$x:()=>h,bD:()=>o});var s=e(81819),r=e(17630),n=e(25092);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)}},30027:(t,i,e)=>{e.d(i,{FP:()=>o,Mr:()=>h,iU:()=>u,j2:()=>l,k:()=>a,lb:()=>f});var s=e(42524),r=e(91278),n=e(95111);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 l(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 u(e),e}function u(t){const i=(0,n.A)(t.num,t.den);i<=1||(t.den/=i,t.num/=i)}},23734:(t,i,e)=>{let s;function r(t){s.getRandomValues(t)}e.d(i,{A:()=>r}),"undefined"!=typeof crypto&&(s=crypto)},35894:(t,i,e)=>{e.d(i,{Tl:()=>a,an:()=>r,s2:()=>n});var s=e(19371);class r{constructor(){(0,s.A)(this,"list",[])}}async function n(t){return new Promise((i=>{t.list.push(i),1===t.list.length&&i()}))}function a(t){t.list.shift(),t.list.length&&t.list[0]()}},13943:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(81819),r=e(17630);function n(t,i){const e=[];return s.ai(t)&&(t+=""),t&&s.Yj(t)&&r.__(t.split(i),((t,i)=>{(t=t.trim())&&e.push(t)})),e}},31616:(t,i,e)=>{e.d(i,{A:()=>o});var s=e(19371),r=e(87339),n=e(4068),a=e(88583);const h="packages/common/src/io/IOReader.ts";class o{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1048576,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=arguments.length>2?arguments[2]:void 0;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),(0,s.A)(this,"flushResolve",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(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,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(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;t>this.size&&(this.error=-1048574,r.h2("peekHex, length too large",h,416)),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,501)),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(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;const i=await this.readBuffer(t);return n.decode(i)}async peekString(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]: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,659)),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){return new Promise((async i=>{for(this.flushResolve=i;;){const e=await this.onFlush(t);if(-1048575!==e){this.flushResolve=null,i(e);break}await new a.A(0)}}))}async flush(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this.onFlush||(this.error=-1048574,r.h2("IOReader error, flush failed because of no flush callback",h,738)),!(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){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])){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,809)),this.pointer=this.endPointer=0,this.pos=t;const e=await this.onSeek(t);0!==e&&(this.error=e,r.h2("IOReader error, seek failed",h,818)),i&&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,856)}}reset(){this.pointer=this.endPointer=0,this.pos=BigInt(0),this.error=0}setEndian(t){this.littleEndian=!t}isBigEndian(){return!this.littleEndian}async fileSize(){if(this.fileSize_)return this.fileSize_;if(!this.onSize)return r.R8("IOReader error, fileSize failed because of no onSize callback",h,898),BigInt(0);try{this.fileSize_=await this.onSize()}catch(t){r.R8(`IOReader error, call fileSize failed: ${t}`,h,905),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)}}}abort(){this.error=-1048572,this.flushResolve&&(this.flushResolve(-1048572),this.flushResolve=null)}}},28032:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(19371),r=e(4068);class n{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1048576,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=arguments.length>2?arguments[2]:void 0;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}}},21279:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(19371),r=e(4068);class n{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1048576,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=arguments.length>2?arguments[2]:void 0;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}}},95111:(t,i,e)=>{function s(t,i){for(;0!==i;)[t,i]=[i,t%i];return t}e.d(i,{A:()=>s})},97494:(t,i,e)=>{e.d(i,{ll:()=>w,mA:()=>a,qg:()=>h});var s=e(81819),r=e(13943),n=e(17630);function a(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&";const e={};if(s.Yj(t)&&t.indexOf("=")>=0){let s=t.charAt(0),a="?"===s||"#"===s?1:0;a>0&&(t=t.substr(a)),n.__((0,r.A)(t,i),(t=>{let i=t.split("=");if(2===i.length){var s;let t=null===(s=i[0])||void 0===s?void 0:s.trim();t&&(e[t]=decodeURIComponent(i[1]))}}))}return e}function h(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}`:""}}const o=/(?:\/|^)\.(?=\/)/g,f=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,l=/^(?=([^\/?#]*))\1([^]*)$/,u=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/;function d(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}function p(t){const i=u.exec(t);return i?{scheme:i[1]||"",netLoc:i[2]||"",path:i[3]||"",params:i[4]||"",query:i[5]||"",fragment:i[6]||""}:null}function c(t){for(t=t.split("").reverse().join("").replace(o,"");t.length!==(t=t.replace(f,"")).length;);return t.split("").reverse().join("")}function w(t,i,e){if(e=e||{},t=t.trim(),!(i=i.trim())){if(!e.alwaysNormalize)return t;let i=p(t);if(!i)throw new Error("Error trying to parse base URL.");return i.path=c(i.path),d(i)}let s=p(i);if(!s)throw new Error("Error trying to parse relative URL.");if(s.scheme)return e.alwaysNormalize?(s.path=c(s.path),d(s)):i;let r=p(t);if(!r)throw new Error("Error trying to parse base URL.");if(!r.netLoc&&r.path&&"/"!==r.path[0]){let t=l.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=c(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?c(s.path):s.path),d(n)}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[427],{29427:(e,t,i)=>{i.r(t),i.d(t,{default:()=>c});var s=i(19371),n=i(88583),a=i(47378),o=i(25092),d=i(87339),r=i(16563),l=i(76766),u=i(39989),m=i(59435);const h="packages/avnetwork/src/ioLoader/DashIOLoader.ts";class c extends m.A{constructor(){super(...arguments),(0,s.A)(this,"info",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),(0,s.A)(this,"aborted",void 0),(0,s.A)(this,"signal",void 0)}createResource(e){return{type:e,fetchedMap:new Map,fetchedHistoryListMax:100,fetchedHistoryList:[],loader:null,segmentIndex:0,currentUri:"",selectedIndex:0,segments:[],initSegmentPadding:"",initedSegment:"",sleep:null,lastPendingSegmentFetchTs:0,lastPendingSegmentDuration:0}}addHistory(e,t,i){e.fetchedMap.clear(),e.fetchedHistoryList.length=0;for(let s=0;s<i;s++)e.fetchedMap.set(t[s].url,!0),e.fetchedHistoryList.push(t[s].url);for(;e.fetchedHistoryList.length>=e.fetchedHistoryListMax;)e.fetchedMap.delete(e.fetchedHistoryList.shift())}async fetchMediaPlayList(e){var t,i,s;if(!e){if(this.fetchMediaPlayListPromise)return;this.fetchMediaPlayListPromise=new Promise((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&&o.__(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{var r;"function"==typeof AbortController&&(this.signal=new AbortController);const t=await fetch(this.info.url,{...a,signal:null===(r=this.signal)||void 0===r?void 0:r.signal});this.signal=null;const i=await t.text();this.mediaPlayList=(0,l.A)(i,this.info.url),this.minBuffer=this.mediaPlayList.minBufferTime,"vod"===this.mediaPlayList.type?this.options.isLive=!1:this.options.isLive=!0;const s=(e,t,i)=>{let s=0,n=0;for(let e=t.length-2;e>=0;e--)if(!0!==t[e].pending&&(n+=t[e].segmentDuration,n>=i)){s=e;break}e.lastPendingSegmentFetchTs=this.mediaPlayList.maxSegmentDuration,e.lastPendingSegmentDuration=this.mediaPlayList.maxSegmentDuration,e.fetchedHistoryListMax=Math.max(e.fetchedHistoryListMax,t.length+1),this.addHistory(e,t,s)};if(this.mediaPlayList.mediaList.audio.length){if(this.options.preferAudioCodec||this.options.preferAudioLang){let e=!1,t=!1,i=this.mediaPlayList.mediaList.audio.some((e=>e.codecs&&e.codecs.indexOf(this.options.preferAudioCodec)>=0));this.mediaPlayList.mediaList.audio.forEach(((s,n)=>{this.options.preferAudioCodec&&i&&s.codecs&&-1===s.codecs.indexOf(this.options.preferAudioCodec)||(e||(this.audioResource.selectedIndex=n,e=!0),s.lang&&this.options.preferAudioLang&&s.lang.indexOf(this.options.preferAudioLang)>=0&&!t&&(this.audioResource.selectedIndex=n,s.lang===this.options.preferAudioLang&&(t=!0)))}))}const e=this.mediaPlayList.mediaList.audio[this.audioResource.selectedIndex];e.file?this.audioResource.segments=[{url:e.file}]:this.options.isLive&&this.audioResource.initedSegment===e.initSegment?(this.audioResource.segments=e.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration}))),this.audioResource.lastPendingSegmentFetchTs=this.mediaPlayList.timestamp,this.audioResource.lastPendingSegmentDuration=this.mediaPlayList.maxSegmentDuration):(this.options.isLive&&s(this.audioResource,e.mediaSegments,this.minBuffer),this.audioResource.segments=[{url:e.initSegment}].concat(e.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration})))),this.audioResource.initedSegment=e.initSegment)}if(this.mediaPlayList.mediaList.video.length){if(this.options.preferResolution||this.options.preferVideoCodec){let e=1,t=1;if(this.options.preferResolution){const i=this.options.preferResolution.split("*");e=+i[0]||1,t=+i[1]||1}let i=!1,s=1/0,n=this.mediaPlayList.mediaList.video.some((e=>e.codecs&&e.codecs.indexOf(this.options.preferVideoCodec)>=0));this.mediaPlayList.mediaList.video.forEach(((a,o)=>{if(!(this.options.preferVideoCodec&&n&&a.codecs&&-1===a.codecs.indexOf(this.options.preferVideoCodec))&&(i||(this.videoResource.selectedIndex=o,i=!0),a.width&&a.height&&this.options.preferResolution)){const i=1===e?1:a.width,n=1===t?1:a.height;Math.abs(i*n-e*t)<s&&(s=Math.abs(i*n-e*t),this.videoResource.selectedIndex=o)}}))}const e=this.mediaPlayList.mediaList.video[this.videoResource.selectedIndex];e.file?this.videoResource.segments=[{url:e.file}]:this.options.isLive&&this.videoResource.initedSegment===e.initSegment?(this.videoResource.segments=e.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration}))),this.videoResource.lastPendingSegmentFetchTs=this.mediaPlayList.maxSegmentDuration,this.videoResource.lastPendingSegmentDuration=this.mediaPlayList.maxSegmentDuration):(this.options.isLive&&s(this.videoResource,e.mediaSegments,this.minBuffer),this.videoResource.segments=[{url:e.initSegment}].concat(e.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration})))),this.videoResource.initedSegment=e.initSegment)}if(this.mediaPlayList.mediaList.subtitle.length){if(this.options.preferSubtitleCodec||this.options.preferSubtitleLang){let e=!1,t=!1,i=this.mediaPlayList.mediaList.subtitle.some((e=>e.codecs&&e.codecs.indexOf(this.options.preferSubtitleCodec)>=0));this.mediaPlayList.mediaList.subtitle.forEach(((s,n)=>{this.options.preferSubtitleCodec&&i&&s.codecs&&-1===s.codecs.indexOf(this.options.preferSubtitleCodec)||(e||(this.subtitleResource.selectedIndex=n,e=!0),s.lang&&this.options.preferSubtitleLang&&s.lang.indexOf(this.options.preferSubtitleLang)>=0&&!t&&(this.subtitleResource.selectedIndex=n,s.lang===this.options.preferSubtitleLang&&(t=!0)))}))}const e=this.mediaPlayList.mediaList.subtitle[this.subtitleResource.selectedIndex];e.file?this.subtitleResource.segments=[{url:e.file}]:this.options.isLive&&this.subtitleResource.initedSegment===e.initSegment?(this.subtitleResource.segments=e.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration}))),this.subtitleResource.lastPendingSegmentFetchTs=this.mediaPlayList.maxSegmentDuration,this.subtitleResource.lastPendingSegmentDuration=this.mediaPlayList.maxSegmentDuration):(this.options.isLive&&s(this.subtitleResource,e.mediaSegments,this.minBuffer),this.subtitleResource.segments=[{url:e.initSegment}].concat(e.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration})))),this.subtitleResource.initedSegment=e.initSegment)}return e(),this.fetchMediaPlayListPromise=null,this.status=2,this.retryCount=0,this.mediaPlayList}catch(t){if(this.aborted)return this.status=3,void e();if(this.retryCount<this.options.retryCount)return this.retryCount++,d.z3(`failed fetch mpd file ${t}, retry(${this.retryCount}/3)`,h,397),await new n.A(2===this.status?this.options.retryInterval:5),this.fetchMediaPlayList(e);this.status=3,e(),d.h2(`DashLoader: exception, fetch slice error, error: ${t.message}`,h,405)}}async open(e){return 2===this.status?0:0!==this.status?a.lh:(this.info=e,this.videoResource=this.createResource(0),this.audioResource=this.createResource(1),this.subtitleResource=this.createResource(3),this.status=1,this.retryCount=0,this.aborted=!1,await this.fetchMediaPlayList(),0)}async readResource(e,t){let i=0;if(t.loader){if(i=await t.loader.read(e),-1048576!==i||this.aborted)return i;if(this.options.isLive)t.fetchedMap.set(t.currentUri,!0),t.fetchedHistoryList.length===t.fetchedHistoryListMax&&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.url)));if(!i.length){if(this.mediaPlayList.isEnd)return-1048576;const i=(this.mediaPlayList.duration||this.mediaPlayList.minimumUpdatePeriod)-((0,r.A)()-this.mediaPlayList.timestamp)/1e3;if(i>0&&(t.sleep=new n.A(i),await t.sleep,t.sleep=null,this.aborted))return-1048576;if(this.fetchMediaPlayListPromise){if(await this.fetchMediaPlayListPromise,3===this.status||this.aborted)return-1048576}else if(await this.fetchMediaPlayList(),this.aborted)return-1048576;return this.readResource(e,t)}if(t.currentUri=i[0].url,this.options.isLive&&i[0].pending){if(t.lastPendingSegmentFetchTs){const e=t.lastPendingSegmentDuration-((0,r.A)()-t.lastPendingSegmentFetchTs)/1e3;if(e>0&&(t.sleep=new n.A(e),await t.sleep,t.sleep=null,this.aborted))return-1048576}t.lastPendingSegmentFetchTs=(0,r.A)(),t.lastPendingSegmentDuration=i[0].duration||this.mediaPlayList.maxSegmentDuration}return t.loader=new u.A(o.X$({},this.options,{disableSegment:!0,loop:!1,enableBandwidthReader:0===t.type})),await t.loader.open(o.X$({},this.info,{url:t.currentUri}),{from:0,to:-1}),t.loader.read(e)}return t.loader=new u.A(o.X$({},this.options,{disableSegment:!0,loop:!1,enableBandwidthReader:0===t.type})),t.initSegmentPadding?(await t.loader.open(o.X$({},this.info,{url:t.initSegmentPadding}),{from:0,to:-1}),t.initSegmentPadding=null,t.segmentIndex--):await t.loader.open(o.X$({},this.info,{url:t.segments[t.segmentIndex].url}),{from:0,to:-1}),t.loader.read(e)}async read(e,t){return 1===t.mediaType?this.readResource(e,this.audioResource):0===t.mediaType?this.readResource(e,this.videoResource):3===t.mediaType?this.readResource(e,this.subtitleResource):a.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 n=1===t.type?this.mediaPlayList.mediaList.audio:0===t.type?this.mediaPlayList.mediaList.video:this.mediaPlayList.mediaList.subtitle,a=n[t.selectedIndex].mediaSegments;if(null!=a&&a.length){e=-1;for(let t=0;t<a.length;t++)if(s>=1e3*a[t].start&&s<1e3*a[t].end){e=t;break}-1===e&&(e=a.length-1)}t.segmentIndex=e+(n[t.selectedIndex].initSegment?1:0);let o="";0===t.type?o=this.mediaPlayList.mediaList.video[t.selectedIndex].initSegment:1===t.type?o=this.mediaPlayList.mediaList.audio[t.selectedIndex].initSegment:3===t.type&&(o=this.mediaPlayList.mediaList.subtitle[t.selectedIndex].initSegment),o&&o===i&&(t.initSegmentPadding=o)}}async seek(e,t){return 1===t.mediaType&&this.audioResource.loader&&await this.seekResource(e,this.audioResource),0===t.mediaType&&this.videoResource.loader&&await this.seekResource(e,this.videoResource),3===t.mediaType&&this.subtitleResource.loader&&await this.seekResource(e,this.subtitleResource),4===this.status&&(this.status=2),this.aborted=!1,0}async size(){return BigInt(0)}abortSleep(){this.aborted=!0,this.videoResource.loader&&this.videoResource.loader.abortSleep(),this.videoResource.sleep&&(this.videoResource.sleep.stop(),this.videoResource.sleep=null),this.audioResource.loader&&this.audioResource.loader.abortSleep(),this.audioResource.sleep&&(this.audioResource.sleep.stop(),this.audioResource.sleep=null),this.subtitleResource.loader&&this.subtitleResource.loader.abortSleep(),this.subtitleResource.sleep&&(this.subtitleResource.sleep.stop(),this.subtitleResource.sleep=null)}async abort(){this.abortSleep(),this.signal&&this.signal.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,codec:e.codecs,bandwidth:e.bandwidth}))),selectedIndex:this.videoResource.selectedIndex}:{list:[],selectedIndex:0}}getAudioList(){return this.hasAudio()?{list:this.mediaPlayList.mediaList.audio.map((e=>({lang:e.lang,codec:e.codecs,bandwidth:e.bandwidth}))),selectedIndex:this.audioResource.selectedIndex}:{list:[],selectedIndex:0}}getSubtitleList(){return this.hasSubtitle()?{list:this.mediaPlayList.mediaList.subtitle.map((e=>({lang:e.lang,codec: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];if(t.file)this.videoResource.segments=[{url:t.file}];else{if(this.options.isLive){let e=this.videoResource.segmentIndex;this.videoResource.segments.find(((t,i)=>{if(t.url===this.videoResource.currentUri)return e=i,!0})),this.addHistory(this.videoResource,t.mediaSegments,e+1)}this.videoResource.segments=[{url:t.initSegment}].concat(t.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration})))),this.videoResource.initSegmentPadding=t.initSegment}if(t.mediaSegments&&this.videoResource.segmentIndex-(t.initSegment?1:0)<t.mediaSegments.length-1)return t.mediaSegments[this.videoResource.segmentIndex+(t.initSegment?0:1)].start}return-1}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];if(t.file)this.audioResource.segments=[{url:t.file}];else{if(this.options.isLive){let e=this.audioResource.segmentIndex;this.audioResource.segments.find(((t,i)=>{if(t.url===this.audioResource.currentUri)return e=i,!0})),this.addHistory(this.audioResource,t.mediaSegments,e+1)}this.audioResource.segments=[{url:t.initSegment}].concat(t.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration})))),this.audioResource.initSegmentPadding=t.initSegment}if(t.mediaSegments&&this.audioResource.segmentIndex-(t.initSegment?1:0)<t.mediaSegments.length-1)return t.mediaSegments[this.audioResource.segmentIndex+(t.initSegment?0:1)].start}return-1}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];if(t.file)this.subtitleResource.segments=[{url:t.file}];else{if(this.options.isLive){let e=this.subtitleResource.segmentIndex;this.subtitleResource.segments.find(((t,i)=>{if(t.url===this.subtitleResource.currentUri)return e=i,!0})),this.addHistory(this.subtitleResource,t.mediaSegments,e+1)}this.subtitleResource.segments=[{url:t.initSegment}].concat(t.mediaSegments.map((e=>({url:e.url,pending:e.pending,duration:e.segmentDuration})))),this.subtitleResource.initSegmentPadding=t.initSegment}if(t.mediaSegments&&this.subtitleResource.segmentIndex-(t.initSegment?1:0)<t.mediaSegments.length-1)return t.mediaSegments[this.subtitleResource.segmentIndex+(t.initSegment?0:1)].start}return-1}getCurrentProtection(e){return 1===e?this.mediaPlayList.mediaList.audio[this.audioResource.selectedIndex].protection:0===e?this.mediaPlayList.mediaList.video[this.videoResource.selectedIndex].protection:void 0}getMinBuffer(){return this.minBuffer}}},76766:(e,t,i)=>{i.d(t,{A:()=>p});var s=i(79880),n=i(73575),a=i(25092),o=i(16563),d=i(81819);function r(e){const t=e.match(/^PT?(?:(\d+)Y)?(?:(\d+)D)?(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?$/);if(!t)throw new Error("Invalid DASH PT duration: "+e);const[,i,s,n,a,o]=t;return 3600*parseInt(i||"0")*24*365+3600*parseInt(s||"0")*24+3600*parseInt(n||"0")+60*parseInt(a||"0")+parseFloat(o||"0")}function l(e,t){const i=(0,n.A)(e);return i.length>=t?i:"0".repeat(t-i.length)+i}function u(e){if(!e)return 0;if(e.indexOf("/")>-1){const t=e.split("/");return parseFloat(t[0])/parseFloat(t[1])}return parseFloat(e)}function m(e){e=e.replaceAll("-","");const t=[];for(let i=0;i<e.length;i+=2)t.push(+`0x${e.substring(i,i+2)}`);return new Uint8Array(t)}function h(e){let t={};return e.forEach((e=>{const i={};if(a.__(e,((e,t)=>{i[t.toLocaleLowerCase()]=e})),i["cenc:default_kid"]&&(t.kid=m(i["cenc:default_kid"]),t.scheme=i.value),i.schemeiduri){const e=i.schemeiduri.split(":");3===e.length&&"urn"===e[0]&&"uuid"===e[1]&&(t.systemId=m(e[2]))}i["clearkey:laurl"]&&(t.url=i["clearkey:laurl"].value),i["dashif:laurl"]&&(t.url=i["dashif:laurl"].value)})),t}function c(e,t){return/^https?:\/\//.test(t)?t:e+t}function g(e,t,i){const s={mediaList:{audio:[],video:[],subtitle:[]},type:"live",isEnd:!1,duration:0,minBufferTime:0,maxSegmentDuration:0,minimumUpdatePeriod:0,timeShiftBufferDepth:0,timestamp:(0,o.A)()},a=[];"static"===e.type&&(s.type="vod",s.isEnd=!0),e.minBufferTime&&(s.minBufferTime=r(e.minBufferTime)),e.maxSegmentDuration&&(s.maxSegmentDuration=r(e.maxSegmentDuration)),e.minimumUpdatePeriod&&(s.minimumUpdatePeriod=Math.min(r(e.minimumUpdatePeriod),30*Math.max(s.maxSegmentDuration,2))),e.availabilityStartTime&&(s.availabilityStartTime=new Date(e.availabilityStartTime).getTime()),e.timeShiftBufferDepth&&(s.timeShiftBufferDepth=r(e.timeShiftBufferDepth)),e.mediaPresentationDuration&&(s.duration=r(e.mediaPresentationDuration));let m="";return e.BaseURL&&(m=d.YO(e.BaseURL)?e.BaseURL[0].value:d.Yj(e.BaseURL)?e.BaseURL:e.BaseURL.value),null!=t&&t.duration&&(s.duration=r(t.duration)),t.BaseURL&&(m=c(m,d.Yj(t.BaseURL)?t.BaseURL:t.BaseURL.value)),(d.YO(t.AdaptationSet)?t.AdaptationSet:[t.AdaptationSet]).forEach(((e,t)=>{let r,g="",p="",f="",S=0,L=0,R=0,b=0,y=0,v="1:1",P="1",x=0,I=m,w="und";e.BaseURL&&(I=c(I,d.Yj(e.BaseURL)?e.BaseURL:e.BaseURL.value)),e.lang&&(w=e.lang),e.mimeType||e.contentType?(g=e.mimeType,p=e.contentType,"video/mp4"===g||"video"===p?(f=e.codecs,S=parseFloat(e.width),L=parseFloat(e.height),e.maxWidth&&(R=parseFloat(e.maxWidth)),e.maxHeight&&(b=parseFloat(e.maxHeight)),e.frameRate&&(y=u(e.frameRate)),v=e.sar,P=e.startWithSAP,x=parseFloat(e.bandwidth)):"audio/mp4"!==g&&"audio"!==p||(f=e.codecs,P=e.startWithSAP,x=parseFloat(e.bandwidth))):(e.maxWidth&&(R=parseFloat(e.maxWidth)),e.maxHeight&&(b=parseFloat(e.maxHeight)),e.frameRate&&(y=u(e.frameRate))),e.ContentProtection&&(r=h(e.ContentProtection)),(d.YO(e.Representation)?e.Representation:[e.Representation]).forEach(((t,u)=>{a.indexOf(t.id)>-1&&(t.id=(parseInt(a[a.length-1])+1).toString()),a.push(t.id);let m="";const A=[];let T=0,D=s.duration,B=c(i.slice(0,i.lastIndexOf("/")+1),I);if(t.mimeType&&(g=t.mimeType),"video/mp4"===g||"video"===p?(t.codecs&&(f=t.codecs),t.width&&(S=parseFloat(t.width)),t.height&&(L=parseFloat(t.height)),t.maxWidth&&(R=parseFloat(t.maxWidth)),t.maxHeight&&(b=parseFloat(t.maxHeight)),t.frameRate&&(y=parseFloat(t.frameRate)),t.sar&&(v=t.sar),t.startWithSAP&&(P=t.startWithSAP),t.bandwidth&&(x=parseFloat(t.bandwidth))):(t.codecs&&(f=t.codecs),t.startWithSAP&&(P=t.startWithSAP),t.bandwidth&&(x=parseFloat(t.bandwidth))),t.BaseURL&&(B=c(B,d.Yj(t.BaseURL)?t.BaseURL:t.BaseURL.value)),t.ContentProtection&&(r=h(t.ContentProtection)),t.SegmentBase)"video/mp4"===g||"video"===p?s.mediaList.video.push({id:t.id,file:B,mimeType:g,codecs:f,width:S,height:L,maxWidth:R,maxHeight:b,frameRate:y,sar:v,startWithSAP:"1"===P,bandwidth:x,timescale:T,duration:D,protection:r}):"audio/mp4"===g||"audio"===p?s.mediaList.audio.push({id:t.id,file:B,mimeType:g,codecs:f,startWithSAP:"1"===P,bandwidth:x,timescale:T,duration:D,protection:r,lang:w}):"application/mp4"!==g&&"text"!==p||s.mediaList.subtitle.push({id:t.id,file:B,mimeType:g,codecs:f,startWithSAP:"1"===P,bandwidth:x,timescale:T,duration:D,protection:r,lang:w});else{let i;if(e.SegmentTemplate&&(i=d.YO(e.SegmentTemplate)?e.SegmentTemplate[0]:e.SegmentTemplate),t.SegmentTemplate&&(i=d.YO(t.SegmentTemplate)?t.SegmentTemplate[0]:t.SegmentTemplate),i){let e=i.startNumber?parseInt(i.startNumber):1;if(m=i.initialization,T=parseFloat(i.timescale||"1"),i.duration&&!i.SegmentTimeline){D=parseFloat(i.duration);let a=D/T,r=e+Math.ceil((s.duration||a)/a)-1,u=r;if("live"===s.type&&(d.ai(s.availabilityStartTime)||i.presentationTimeOffset)){const t=((s.timestamp||(0,o.A)())-s.availabilityStartTime)/1e3-(i.presentationTimeOffset?parseInt(i.presentationTimeOffset):0);r=e+Math.floor(t/a),s.timeShiftBufferDepth&&(e=r-Math.ceil(s.timeShiftBufferDepth/a)+1),u=r,("false"===i.availabilityTimeComplete||s.minimumUpdatePeriod>2*s.minBufferTime)&&(r+=Math.ceil(s.minimumUpdatePeriod/a))}for(let o=e;o<=r;o++){const d=a*(o-e);let m=a*(o-e+1);o===r&&s.duration&&(a=s.duration-a*(r-e),m=s.duration),A.push({idx:o,start:d,end:m,url:B+i.media.replace(/\$RepresentationID\$/g,t.id).replace(/\$Number(%(\d+)d)?\$/g,((e,t,i)=>i?l(o,+i):(0,n.A)(o))),segmentDuration:a,pending:o>u})}}else if(i.SegmentTimeline&&i.SegmentTimeline.S){const s=d.YO(i.SegmentTimeline.S)?i.SegmentTimeline.S:[i.SegmentTimeline.S];let a=0,o=e;for(let e=0;e<s.length;e++){let d=parseFloat(s[e].d);s[e].t&&(a=parseFloat(s[e].t));let r=1;s[e].r&&(r=parseInt(s[e].r),-1===r&&D?r=Math.ceil(D*T/d):r+=1);for(let e=0;e<r;e++)A.push({idx:o,start:a/T,end:(a+d)/T,url:B+i.media.replace(/\$RepresentationID\$/g,t.id).replace(/\$Number(%(\d+)d)?\$/g,((e,t,i)=>i?l(o,+i):(0,n.A)(o))).replace(/\$Time\$/g,(0,n.A)(a)),segmentDuration:d/T}),o++,a+=d}}}else if(t.SegmentList){const e=d.YO(t.SegmentList.SegmentURL)?t.SegmentList.SegmentURL:[t.SegmentList.SegmentURL];let i=0,s=parseFloat(t.SegmentList.duration);for(let t=0;t<e.length;t++)A.push({idx:t,start:i/T,end:(i+s)/T,url:B+e[t].media,segmentDuration:s/T}),i+=s}"video/mp4"===g||"video"===p?s.mediaList.video.push({id:t.id,baseURL:B,initSegment:B+m.replace(/\$RepresentationID\$/g,t.id).replace(/\$Bandwidth\$/g,(0,n.A)(x)),mediaSegments:A,mimeType:g,codecs:f,width:S,height:L,maxWidth:R,maxHeight:b,frameRate:y,sar:v,startWithSAP:"1"===P,bandwidth:x,timescale:T,duration:D,protection:r}):"audio/mp4"===g||"audio"===p?s.mediaList.audio.push({id:t.id,baseURL:B,initSegment:B+m.replace(/\$RepresentationID\$/g,t.id).replace(/\$Bandwidth\$/g,(0,n.A)(x)),mediaSegments:A,mimeType:g,codecs:f,startWithSAP:"1"===P,bandwidth:x,timescale:T,duration:D,protection:r,lang:w}):"application/mp4"!==g&&"text"!==p||s.mediaList.subtitle.push({id:t.id,baseURL:B,initSegment:B+m.replace(/\$RepresentationID\$/g,t.id).replace(/\$Bandwidth\$/g,(0,n.A)(x)),mediaSegments:A,mimeType:g,codecs:f,startWithSAP:"1"===P,bandwidth:x,timescale:T,duration:D,protection:r,lang:w})}}))})),["video","audio"].forEach((e=>{s.mediaList[e].sort(((e,t)=>e.bandwidth-t.bandwidth))})),s}function p(e,t){const i=(n=e,n?(0,s.A)(n,{aloneValueName:"value"}):null).MPD;var n;if("dynamic"===i.type){const e=d.YO(i.Period)?i.Period[i.Period.length-1]:i.Period;return g(i,e,t)}{const e=(d.YO(i.Period)?i.Period:[i.Period]).map((e=>g(i,e,t))),s=e[0];for(let t=1;t<e.length;t++)s.duration+=e[t].duration,e[t].mediaList.video.forEach((e=>{const t=s.mediaList.video.find((t=>e.initSegment&&e.initSegment===t.initSegment||e.id===t.id));var i,n;t?(null!==(i=t.mediaSegments)&&void 0!==i&&i.length&&null!==(n=e.mediaSegments)&&void 0!==n&&n.length&&e.mediaSegments.forEach((e=>{e.start+=t.mediaSegments[t.mediaSegments.length-1].end,e.end+=t.mediaSegments[t.mediaSegments.length-1].end})),t.mediaSegments=(t.mediaSegments||[]).concat(e.mediaSegments||[])):s.mediaList.video.push(e)})),e[t].mediaList.audio.forEach((e=>{const t=s.mediaList.audio.find((t=>e.initSegment&&e.initSegment===t.initSegment||e.id===t.id));var i,n;t?(null!==(i=t.mediaSegments)&&void 0!==i&&i.length&&null!==(n=e.mediaSegments)&&void 0!==n&&n.length&&e.mediaSegments.forEach((e=>{e.start+=t.mediaSegments[t.mediaSegments.length-1].end,e.end+=t.mediaSegments[t.mediaSegments.length-1].end})),t.mediaSegments=(t.mediaSegments||[]).concat(e.mediaSegments||[])):s.mediaList.audio.push(e)})),e[t].mediaList.subtitle.forEach((e=>{const t=s.mediaList.subtitle.find((t=>e.initSegment&&e.initSegment===t.initSegment||e.id===t.id));var i,n;t?(null!==(i=t.mediaSegments)&&void 0!==i&&i.length&&null!==(n=e.mediaSegments)&&void 0!==n&&n.length&&e.mediaSegments.forEach((e=>{e.start+=t.mediaSegments[t.mediaSegments.length-1].end,e.end+=t.mediaSegments[t.mediaSegments.length-1].end})),t.mediaSegments=(t.mediaSegments||[]).concat(e.mediaSegments||[])):s.mediaList.subtitle.push(e)}));return i.mediaPresentationDuration&&(s.duration=r(i.mediaPresentationDuration)),s}}},79880:(e,t,i)=>{i.d(t,{A:()=>o});var s=i(17630);const n={aloneValueName:"_@attribute"},a=[" ","/",'"',"'","<",">"];function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;e=(e=(e=(e=e.replace(/<!--[\s\S]*?-->/g,"")).replace(/[\n\t\r]/g,"")).replace(/>[ \t]+</g,"><")).replace(/<\?[^>]*\?>/g,"");const i=[];let o=0;function d(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:Array.isArray(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 r(t){for(;o<e.length;){if(e[o]===t)return!0;o++}return!1}function l(){u();let t="";for(;o<e.length&&!s.zy(a,e[o]);)t+=e[o],o++;return t}function u(){for(;o<e.length&&/\s|\r|\n/.test(e[o]);)o++}const m=/\s/,h=/'/,c=/"/;function g(){if(o>=e.length)return!0;u();let t=m;'"'!==e[o]&&"'"!=e[o]||(t='"'===e[o]?c:h,o++);let i="";for(;o<e.length;){if(t.test(e[o])){o++;break}i+=e[o],o++}return i}function p(){u();let t="";for(;o<e.length&&"<"!==e[o];)t+=e[o],o++;return t}function f(){for(;"<"===e[o];){const t=o;if(o++,u(),"/"!==e[o]){o=t;break}if(o++,l()===i[i.length-1].tag){if(i.length>1){const e=i.pop();d(e.tag,e.obj)}r(">"),o++,u()}else i.pop(),r(">"),o++,u()}}return function s(){if(o>=e.length)return;let n=o;if(u(),"<"!==e[o])return o=n,d(t.aloneValueName,p()),f(),s();let a=r("<");if(!a)return;n=o,o++;const m=l();if(i.push({obj:{},tag:m,start:n}),function(){for(;u(),">"!==e[o]&&"/"!==e[o];){let e=l();if(!e)break;"="===e[e.length-1]?e=e.substring(0,e.length-1):(r("="),o++),d(e,g())}}(),u(),"/"===e[o]){if(o++,i.length>1){const e=i.pop();d(e.tag,e.obj)}return r(">"),o++,f(),s()}a=r(">"),a&&(o++,u(),"<"!==e[o]&&(d(t.aloneValueName,p()),u()),f(),s())}(),{[i[0].tag]:i[0].obj}}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[452],{59829:(t,e,i)=>{i.d(e,{A:()=>o});var a=i(19371),r=i(42524),s=i(31184),n=i(62787);class o{constructor(){(0,a.A)(this,"inCodecpar",void 0),(0,a.A)(this,"inTimeBase",void 0),(0,a.A)(this,"outCodecpar",void 0)}init(t,e){return this.inCodecpar=(0,s.Gy)(168),(0,n.Yi)(this.inCodecpar,t),this.inTimeBase={den:r.f[15](e+4),num:r.f[15](e)},0}destroy(){this.inCodecpar&&((0,n.dn)(this.inCodecpar),this.inCodecpar=0)}}},53174:(t,e,i)=>{i.d(e,{A:()=>m});var a=i(19371),r=i(42524),s=i(77389),n=i(59829),o=i(41863),c=i(87339),d=i(1818),u=i(31184),f=i(47378),l=i(61556),p=i(73872),h=i(17635);class m extends n.A{constructor(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),(0,a.A)(this,"cache",void 0),(0,a.A)(this,"cached",void 0),(0,a.A)(this,"reverseSps",void 0),this.reverseSps=t}init(t,e){return super.init(t,e),this.cache=(0,d._5)(),this.cached=!1,0}destroy(){super.destroy(),(0,d.Qe)(this.cache),this.cache=0}sendAVPacket(t){if(64&r.f[15](t+36)){let e;(0,d.zu)(this.cache,t);const i=(0,o.JW)(r.f[20](t+24),r.f[15](t+28));if(27===r.f[15](this.inCodecpar+4)?e=l.oT(i,this.reverseSps):173===r.f[15](this.inCodecpar+4)?e=p.oT(i,this.reverseSps):196===r.f[15](this.inCodecpar+4)?e=h.oT(i,this.reverseSps):c.h2(`not support for codecId: ${r.f[15](this.inCodecpar+4)}`,"packages/avformat/src/bsf/h2645/Annexb2AvccFilter.ts",114),s.M[15](this.cache+36,-65&r.f[15](this.cache+36)),(0,d.NX)(this.cache,e.bufferPointer,e.length),e.key&&s.M[15](this.cache+36,1|r.f[15](this.cache+36)),e.extradata){const t=(0,u.sY)(e.extradata.length);(0,o.lW)(t,e.extradata.length,e.extradata),(0,d.Ow)(this.cache,1,t,e.extradata.length)}}else(0,d.rN)(this.cache,t);return this.cached=!0,0}receiveAVPacket(t){return this.cached?((0,d.Up)(t),(0,d.rN)(t,this.cache),this.cached=!1,0):f.LR}reset(){return 0}}},55242:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(19371);class r{constructor(){(0,a.A)(this,"type",-1)}async destroy(t){}}(0,a.A)(r,"Capabilities",[])},98686:(t,e,i)=>{i.d(e,{A:()=>M});var a=i(19371),r=i(75354),s=i(42524),n=i(55242),o=i(6285),c=i(50012),d=i(31752),u=i(13101),f=i(78663),l=i(9233),p=i(39188),h=i(62204),m=i(53174),g=i(76070),k=i(41863),w=i(1818),b=i(30027),v=i(91278),U=i(95704),I=i(79939),P=i(25092),y=i(17630),S=i(33134),B=i(81819),A=i(87339),x=i(29592),T=i(21279);const C="packages/avformat/src/formats/OIsobmffFormat.ts",D={fragmentMode:0,mp4Mode:0,fragment:!1,fastOpen:!1,defaultBaseIsMoof:!1,reverseSpsInAvcc:!1,ignoreEncryption:!1,minFragmentLength:5e3,minFragmentIndexLength:5e3,hasTfra:!0,useMetadataTags:!1};class M extends n.A{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),(0,a.A)(this,"type",1),(0,a.A)(this,"context",void 0),(0,a.A)(this,"options",void 0),(0,a.A)(this,"annexb2AvccFilter",void 0),(0,a.A)(this,"avpacket",void 0),this.options=P.X$({},D,t),this.context=(0,o.A)()}init(t){return t.ioWriter.setEndian(!0),t.streams.forEach((t=>{this.annexb2AvccFilter||27!==t.codecpar.codecId&&173!==t.codecpar.codecId&&196!==t.codecpar.codecId||(this.annexb2AvccFilter=new m.A(this.options.reverseSpsInAvcc),this.annexb2AvccFilter.init(t.codecpar[r.o9],t.timeBase[r.o9]))})),this.avpacket=(0,w._5)(),this.context.metadata=t.metadata,this.context.chapters=t.chapters,0}async destroy(t){this.annexb2AvccFilter&&(this.annexb2AvccFilter.destroy(),this.annexb2AvccFilter=null),this.avpacket&&((0,w.Qe)(this.avpacket),this.avpacket=0)}enableStreams(t){const e=[],i=[];for(let t=0;t<5;t++)e[t]=0,i[t]=-1;y.__(t.streams,((t,a)=>{if(-1===t.codecpar.codecType||t.codecpar.codecType>=5||1024&t.disposition)return!0;i[t.codecpar.codecType]<0&&(i[t.codecpar.codecType]=a),1&t.disposition&&(e[t.codecpar.codecType]++,t.privData.flags|=1)}));for(let a=0;a<5;a++)switch(a){case 0:case 1:case 3:e[a]>1&&(t.streams[e[a]].privData.perStreamGrouping=!0),!e[a]&&i[a]>=0&&(t.streams[i[a]].privData.flags|=1)}}writeHeader(t){this.context.majorBrand=(0,c.A)("isom"),this.context.minorVersion=512,this.context.compatibleBrand=[(0,c.A)("isom")],this.context.timescale=1e3,this.context.ignoreEncryption=this.options.ignoreEncryption,this.context.useMetadataTags=this.options.useMetadataTags;const e=t.streams.find((t=>1024&t.disposition&&(7===t.codecpar.codecId||61===t.codecpar.codecId||78===t.codecpar.codecId)));if(e&&e.attachedPic&&(this.context.covr={type:27,data:(0,w.iI)(e.attachedPic)},61===e.codecpar.codecId?this.context.covr.type=14:7===e.codecpar.codecId&&(this.context.covr.type=13)),this.options.fragment&&(this.context.compatibleBrand.push((0,c.A)("iso6")),this.context.fragment=!0),1===this.options.mp4Mode&&(this.context.isom=!0,this.context.majorBrand=(0,c.A)("qt "),this.context.compatibleBrand=[this.context.majorBrand]),1!==this.options.mp4Mode){this.context.compatibleBrand.push((0,c.A)("iso2"));const e=t.getStreamByMediaType(0);e&&27===e.codecpar.codecId&&this.context.compatibleBrand.push((0,c.A)("avc1")),this.context.compatibleBrand.push((0,c.A)("mp41"))}if(d.l7(t.ioWriter,this.context),this.context.holdMoovPos=t.ioWriter.getPos(),this.options.fragment)this.context.currentFragment={pos:BigInt(0),currentTrack:null,sequence:1,tracks:[],size:0,firstWrote:!1},y.__(t.streams,((t,e)=>{const i=(0,u.A)();if(t.privData=i,i.chunkOffsets=[],i.cttsSampleCounts=[],i.cttsSampleOffsets=[],i.stscFirstChunk=[],i.stscSamplesPerChunk=[],i.stscSampleDescriptionIndex=[],i.stssSampleNumbers=[],i.sampleSizes=[],i.sttsSampleCounts=[],i.sttsSampleDeltas=[],i.alternateGroup=e,!(1024&t.disposition)){const e=(0,f.A)();e.baseIsMoof=this.options.defaultBaseIsMoof,e.streamIndex=t.index,e.trackId=this.context.nextTrackId++,i.trackId=e.trackId;const a=this.options.encryption||t.metadata.encryption;if(a){const t=this.context.cencs||{};t[e.trackId]={schemeType:a.schemeType,schemeVersion:a.schemeVersion,cryptByteBlock:a.cryptByteBlock,skipByteBlock:a.skipByteBlock,defaultConstantIV:a.constantIV,isProtected:1,defaultPerSampleIVSize:a.perSampleIVSize,defaultKeyId:a.kid,pattern:!!a.pattern},this.context.cencs=t}e.ioWriter=new T.A,e.ioWriter.onFlush=t=>(e.buffers.push(t.slice()),0),this.context.currentFragment.tracks.push(e)}})),this.enableStreams(t),d.dI(t.ioWriter,t,this.context),t.ioWriter.flush();else{y.__(t.streams,((t,e)=>{const i=(0,u.A)();t.privData=i,i.trackId=this.context.nextTrackId++,i.chunkOffsets=[],i.cttsSampleCounts=[],i.cttsSampleOffsets=[],i.stscFirstChunk=[],i.stscSamplesPerChunk=[],i.stscSampleDescriptionIndex=[],i.stssSampleNumbers=[],i.sampleSizes=[],i.sttsSampleCounts=[],i.sttsSampleDeltas=[],i.alternateGroup=e})),this.enableStreams(t);const e=t.ioWriter.getPos();t.ioWriter.writeUint32(0),t.ioWriter.writeUint32((0,c.A)("mdat")),this.context.boxsPositionInfo.push({pos:e,type:"mdat",size:0})}return t.getStreamByMediaType(0)||(this.context.audioOnly=!0),0}updateCurrentChunk(t){let e=this.context.currentChunk;if(!e||!e.sampleCount)return;const i=t.streams.find((t=>t.index===e.streamIndex)).privData;i.chunkCount++,i.chunkOffsets.push(e.pos),i.stscFirstChunk.length?i.lastStscCount!==e.sampleCount&&(i.stscFirstChunk.push(i.chunkCount),i.stscSamplesPerChunk.push(e.sampleCount),i.stscSampleDescriptionIndex.push(1),i.lastStscCount=e.sampleCount):(i.stscFirstChunk.push(i.chunkCount),i.stscSamplesPerChunk.push(e.sampleCount),i.stscSampleDescriptionIndex.push(1),i.lastStscCount=e.sampleCount)}updateCurrentFragment(t,e){if(this.context.currentFragment.firstWrote){y.__(this.context.currentFragment.tracks,(i=>{const a=t.streams.find((t=>t.index===i.streamIndex));if(!i.sampleCount||!a)return!0;const r=a.privData;var s,n;i.baseDataOffset=t.ioWriter.getPos(),this.context.currentFragment.pos=t.ioWriter.getPos(),i.sampleDurations.length?e&&i.sampleDurations.length===i.sampleSizes.length-1&&i.sampleDurations.push(Number(e-r.lastDts)):1===a.codecpar.codecType?e?i.sampleDurations.push(Number(e-r.lastDts)):a.codecpar.frameSize>0?i.sampleDurations.push(Number((0,b.k)(BigInt(Math.floor(a.codecpar.frameSize/a.codecpar.sampleRate*v.SF)),v.KR,a.timeBase))):(a.codecpar.codecId,i.sampleDurations.push(Number((0,b.k)(BigInt(Math.floor(1024/a.codecpar.sampleRate*v.SF)),v.KR,a.timeBase)))):0===a.codecpar.codecType?e?i.sampleDurations.push(Number(e-r.lastDts)):(0,b.lb)(a.codecpar.framerate)>0?i.sampleDurations.push(Number((0,b.k)(BigInt(Math.floor(1/(0,b.lb)(a.codecpar.framerate)*v.SF)),v.KR,a.timeBase))):i.sampleDurations.push(a.timeBase.den/(30*a.timeBase.num)>>>0):i.sampleDurations.push(0),r.lastDuration=i.sampleDurations[i.sampleSizes.length-1],(1===i.sampleFlags.length||(0,h.A)(i.sampleFlags,1))&&(i.firstSampleFlags=i.sampleFlags[0],i.defaultSampleFlags=null!==(s=i.sampleFlags[1])&&void 0!==s?s:i.firstSampleFlags,i.sampleFlags=[]),(1===i.sampleSizes.length||(0,h.A)(i.sampleSizes))&&(i.defaultSampleSize=i.sampleSizes[0],i.sampleSizes=[]),(1===i.sampleDurations.length||(0,h.A)(i.sampleDurations))&&(i.defaultSampleDuration=i.sampleDurations[0],i.sampleDurations=[]),i.cenc&&(1===i.cenc.sampleSizes.length||(0,h.A)(i.cenc.sampleSizes))&&(i.cenc.defaultSampleInfoSize=i.cenc.sampleSizes[0],i.cenc.sampleSizes=[]),1===a.codecpar.codecType?i.defaultSampleFlags=33554432:i.sampleFlags.length&&(i.defaultSampleFlags=i.sampleFlags[0]),i.sampleSizes.length&&(i.defaultSampleSize=i.sampleSizes[0]),i.sampleDurations.length&&(i.defaultSampleDuration=i.sampleDurations[0]),this.options.hasTfra&&(!r.fragIndexes.length||0===this.options.fragmentMode||(0,b.k)(i.baseDataOffset-i.lastFragIndexDts,a.timeBase,v.i0)>=this.options.minFragmentIndexLength)&&(r.fragIndexes.push({pos:i.baseDataOffset,time:i.baseMediaDecodeTime+BigInt(Math.floor(null!==(n=i.sampleCompositionTimeOffset[0])&&void 0!==n?n:0))}),i.lastFragIndexDts=r.lastDts)})),t.ioWriter.flush(),this.options.onFragmentStart&&this.options.onFragmentStart(),d.Ro(t.ioWriter,t,this.context);let i=this.context.currentFragment.size+8;const a=[];let r=8;y.__(this.context.currentFragment.tracks,(e=>{if(!e.sampleCount)return!0;e.ioWriter.flush();const s=(0,S.A)(Uint8Array,e.buffers);e.dataOffset=i,i+=s.length,r+=s.length,a.push(s),(0,p.A)(t.ioWriter,e.dataOffsetPos,e.dataOffset,"int32"),e.cenc&&e.cenc.offsetPos&&(0,p.A)(t.ioWriter,e.cenc.offsetPos,e.cenc.offset,"int32"),e.buffers=[],e.sampleFlags=[],e.sampleSizes=[],e.sampleDurations=[],e.sampleCompositionTimeOffset=[],e.sampleCount=0,e.firstSampleFlags=0,e.cenc=null})),t.ioWriter.writeUint32(r),t.ioWriter.writeUint32((0,c.A)("mdat")),y.__(a,(e=>{t.ioWriter.writeBuffer(e)})),(0,l.A)(t.ioWriter,this.context),t.ioWriter.flush(),this.context.currentFragment.firstWrote=!1,this.context.currentFragment.sequence++}}handleEAC3(t,e){this.context.ac3Info||(this.context.ac3Info={done:!1,numBlocks:0,dataRate:0,ac3BitrateCode:-1,numIndSub:0,substream:[]});const i=this.context.ac3Info,a=I.R((0,k.s3)(s.f[20](t+24),s.f[15](t+28)));if(B.ai(a))i.done=!0;else if(i.dataRate=Math.max(i.dataRate,a.bitrate/1e3),i.ac3BitrateCode=Math.max(i.ac3BitrateCode,a.ac3BitrateCode),!i.done){if(a.bitstreamId<=10&&0!=a.substreamId)return;if(0===a.frameType||2==a.frameType){var r;if(a.substreamId>i.numIndSub+1)return;if(a.substreamId==i.numIndSub+1)return;if(a.substreamId<i.numIndSub||0==a.substreamId&&null!==(r=i.substream[0])&&void 0!==r&&r.bsid)return void(i.done=!0)}else if(0!=a.substreamId)return;if(i.substream[a.substreamId]||(i.substream[a.substreamId]={fscod:0,bsid:0,bsmod:0,acmod:0,lfeon:0,numDepSub:0,chanLoc:0}),i.substream[a.substreamId].fscod=a.srCode,i.substream[a.substreamId].bsid=a.bitstreamId,i.substream[a.substreamId].bsmod=a.bitstreamMode,i.substream[a.substreamId].acmod=a.channelMode,i.substream[a.substreamId].lfeon=a.lfeOn,86019===e.codecpar.codecId)return void(i.done=!0)}}writeTrackData(t,e,i,a){if(94226===a.codecpar.codecId){const r=a.privData;if(r.lastDuration>0){const n=r.lastDts+BigInt(Math.floor(r.lastDuration));if(n<i&&(0,b.k)(i-n,a.timeBase,v.i0)>200){t.writeUint32(8),t.writeString("vtte");const a=Number(i-n);if(this.context.fragment){const t=this.context.currentFragment.tracks.find((t=>t.streamIndex===s.f[15](e+32)));t.sampleCount++,t.sampleSizes.length||(t.baseMediaDecodeTime=n),t.sampleDurations.push(a),t.sampleSizes.push(8)}else{const t=Number(n-r.lastDts);this.context.currentChunk.sampleCount++,r.sampleSizes.push(8),r.sttsSampleDeltas[r.sttsSampleDeltas.length-1]===t?r.sttsSampleCounts[r.sttsSampleCounts.length-1]++:(r.sttsSampleCounts.push(1),r.sttsSampleDeltas.push(t))}r.lastPts=n,r.lastDts=n,r.lastDuration=a}}const n=(0,w.rU)(e,16),o=(0,w.rU)(e,17);let c=s.f[15](e+28)+8;return n&&(c+=8+(0|s.f[25](n+4))),o&&(c+=8+(0|s.f[25](o+4))),t.writeUint32(8+c),t.writeString("vttc"),n&&(t.writeUint32(8+s.f[25](n+4)),t.writeString("iden"),t.writeBuffer((0,k.s3)(s.f[20](n),s.f[25](n+4)))),o&&(t.writeUint32(8+s.f[25](o+4)),t.writeString("sttg"),t.writeBuffer((0,k.s3)(s.f[20](o),s.f[25](o+4)))),t.writeUint32(8+s.f[15](e+28)),t.writeString("payl"),t.writeBuffer((0,w.iI)(e)),8+c}return t.writeBuffer((0,w.iI)(e)),s.f[15](e+28)}writeAVPacket(t,e){if(!s.f[15](e+28))return A.R8(`packet's size is 0: ${s.f[15](e+32)}, ignore it`,C,781),0;const i=t.getStreamByIndex(s.f[15](e+32));if(!i||1024&i.disposition)return void A.R8(`can not found the stream width the avpacket's streamIndex: ${s.f[15](e+32)}, ignore it`,C,788);const a=i.privData;let r=(0,b.Mr)(s.f[17](e+16),e+72,i.timeBase),n=(0,b.Mr)(s.f[17](e+8)!==v.Dh?s.f[17](e+8):s.f[17](e+16),e+72,i.timeBase);const o=s.f[17](e+48)!==v.Dh?(0,b.Mr)(s.f[17](e+48),e+72,i.timeBase):v.Dh;if((27===i.codecpar.codecId||173===i.codecpar.codecId||196===i.codecpar.codecId)&&64&s.f[15](e+36)?(this.annexb2AvccFilter.sendAVPacket(e),this.annexb2AvccFilter.receiveAVPacket(this.avpacket),e=this.avpacket):86019!==i.codecpar.codecId&&86056!==i.codecpar.codecId||this.context.ac3Info&&this.context.ac3Info.done||this.handleEAC3(e,i),this.context.fragment){const c=this.context.currentFragment.tracks.find((t=>t.streamIndex===s.f[15](e+32)));if(c){c.tfdtDelay===v.Dh&&(c.tfdtDelay=r<0?-r:BigInt(0),n<0&&(c.trunPtsDelay=c.tfdtDelay)),r+=c.tfdtDelay,n+=c.trunPtsDelay,(0===this.options.fragmentMode&&(0===i.codecpar.codecType&&1&s.f[15](e+36)||this.context.audioOnly&&(0,b.k)(r-c.baseMediaDecodeTime,i.timeBase,v.i0)>=this.options.minFragmentLength)||1===this.options.fragmentMode)&&(1===this.context.currentFragment.tracks.length?this.updateCurrentFragment(t,r):this.updateCurrentFragment(t));const d=this.writeTrackData(c.ioWriter,e,r,i);if(c.sampleSizes.length||(c.baseMediaDecodeTime=r),c.sampleSizes.length&&(!c.sampleDurations[c.sampleSizes.length-1]||c.sampleDurations[c.sampleSizes.length-1]<=0)&&(c.sampleDurations[c.sampleSizes.length-1]=Number(r-a.lastDts)),o>0&&c.sampleDurations.push(Number(o)),c.sampleSizes.push(d),0===i.codecpar.codecType){let t=0;1&s.f[15](e+36)?t|=33554432:t|=16842752,c.sampleCompositionTimeOffset.push(Number((n!==v.Dh?n:r)-r)),c.sampleFlags.push(t)}const u=(0,w.Un)(e+40,e+44,25),f=this.context.cencs&&this.context.cencs[a.trackId];if(u&&f){const t=(0,U.p$)((0,k.s3)(s.f[20](u),s.f[25](u+4)));c.cenc||(c.cenc={sampleCount:0,defaultSampleInfoSize:0,sampleSizes:[],offset:0,useSubsamples:!1,sampleInfoOffset:[],sampleEncryption:[]}),t.subsamples.length&&(!c.cenc.useSubsamples&&c.cenc.sampleSizes.length&&(c.cenc.sampleSizes=c.cenc.sampleSizes.map((t=>t+2))),c.cenc.useSubsamples=!0),c.cenc.sampleCount++,c.cenc.sampleSizes.push(f.defaultPerSampleIVSize+(c.cenc.useSubsamples?2+6*t.subsamples.length:0)),c.cenc.sampleEncryption.push({iv:t.iv,subsamples:t.subsamples})}c.sampleCount++,a.lastPts=x.T9(a.lastPts,n+(o!==v.Dh?o:BigInt(0))),a.lastDts=r,o>0&&(a.lastDuration=Number(o)),this.context.currentFragment.firstWrote=!0}else A.R8(`can not found track width streamIndex ${s.f[15](e+32)}, ignore it`,C,926)}else{const c=t.ioWriter.getPos();let d=this.context.currentChunk;if(d?d.streamIndex!==s.f[15](e+32)?(this.updateCurrentChunk(t),d.streamIndex=s.f[15](e+32),d.sampleCount=1,d.pos=c):d.sampleCount++:d=this.context.currentChunk={pos:c,streamIndex:s.f[15](e+32),sampleCount:1},a.sampleSizes.push(this.writeTrackData(t.ioWriter,e,r,i)),0===i.codecpar.codecType&&1&s.f[15](e+36)&&a.stssSampleNumbers.push(a.sampleSizes.length),a.firstWrote){const t=Number(r-a.lastDts);a.sttsSampleDeltas[a.sttsSampleDeltas.length-1]===t?a.sttsSampleCounts[a.sttsSampleCounts.length-1]++:(a.sttsSampleCounts.push(1),a.sttsSampleDeltas.push(t))}else a.startDts=r,a.startCT=Number((n!==v.Dh?n:r)-r),a.firstWrote=!0;if(n>=0&&(a.startPts===v.Dh?a.startPts=n:a.startPts=x.jk(a.startPts,n)),0===i.codecpar.codecType){const t=Number((n!==v.Dh?n:r)-r);a.cttsSampleCounts.length&&a.cttsSampleOffsets[a.cttsSampleOffsets.length-1]===t?a.cttsSampleCounts[a.cttsSampleCounts.length-1]++:(a.cttsSampleCounts.push(1),a.cttsSampleOffsets.push(t))}a.lastPts=x.T9(a.lastPts,n+(o!==v.Dh?o:BigInt(0))),a.lastDts=r,a.lastDuration=Number(o)}return 0}writeTrailer(t){if(this.context.fragment)y.__(this.context.currentFragment.tracks,(e=>{const i=t.streams.find((t=>t.index===e.streamIndex)).privData;e.sampleCount&&(e.sampleDurations.length?e.sampleDurations.push(e.sampleDurations[e.sampleDurations.length-1]):e.sampleDurations=[i.lastDuration])})),this.updateCurrentFragment(t),this.options.hasTfra?d.yT(t.ioWriter,t,this.context):(t.ioWriter.writeUint32(8),t.ioWriter.writeString("mfra")),t.ioWriter.flush();else{this.updateCurrentChunk(t);let e=BigInt(0);y.__(t.streams,(t=>{if(1024&t.disposition)return!0;const i=t.privData;i.sampleSizes.length&&(i.sttsSampleDeltas.length?i.lastDuration>0&&i.lastDuration!==i.sttsSampleDeltas[i.sttsSampleDeltas.length-1]?(i.sttsSampleCounts.push(1),i.sttsSampleDeltas.push(i.lastDuration)):i.sttsSampleCounts[i.sttsSampleCounts.length-1]++:(i.sttsSampleCounts=[1],i.sttsSampleDeltas=[0]));const a=(0,b.k)((0,g.A)(i),t.timeBase,{den:1e3,num:1});a>e&&(e=a)})),this.context.duration=e;const i=this.context.boxsPositionInfo[this.context.boxsPositionInfo.length-1];if("mdat"!==i.type&&A.z3("last box is not mdat",C,1053),i.size=Number(t.ioWriter.getPos()-i.pos),i.size>v.f7){const e=t.ioWriter.getPos();t.ioWriter.seek(i.pos-BigInt(8)),t.ioWriter.writeUint32(1),t.ioWriter.writeUint32((0,c.A)("mdat")),t.ioWriter.writeUint64(BigInt(i.size)+BigInt(8)),t.ioWriter.seek(e),this.context.boxsPositionInfo.pop(),this.context.use64Mdat=!0}if((0,l.A)(t.ioWriter,this.context),this.options.fastOpen){t.ioWriter.flush();let e=[];const i=t.ioWriter.onFlush;t.ioWriter.onFlush=t=>(e.push(t.slice()),0),d.dI(t.ioWriter,t,this.context),t.ioWriter.flush();let a=(0,S.A)(Uint8Array,e);y.__(t.streams,(t=>{const e=t.privData;if(e.chunkOffsets.length)for(let t=0;t<e.chunkOffsets.length;t++)e.chunkOffsets[t]+=BigInt(Math.floor(a.length))})),e=[],d.dI(t.ioWriter,t,this.context),t.ioWriter.flush(),a=(0,S.A)(Uint8Array,e),i&&i(a,this.context.holdMoovPos),t.ioWriter.onFlush=i}else d.dI(t.ioWriter,t,this.context),t.ioWriter.flush()}return 0}flush(t){return this.options.fragment&&(y.__(this.context.currentFragment.tracks,(e=>{const i=t.streams.find((t=>t.index===e.streamIndex)).privData;e.sampleCount&&(e.sampleDurations.length?e.sampleDurations.push(e.sampleDurations[e.sampleDurations.length-1]):e.sampleDurations=[i.lastDuration])})),this.updateCurrentFragment(t)),t.ioWriter.flush(),0}getCapabilities(){return M.Capabilities}}(0,a.A)(M,"Capabilities",[86021,86076,86018,86017,86028,86051,86019,86056,167,225,27,173,196,12,94226,94213])},76070:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(91278);function r(t){return t.startPts!==a.Dh?t.lastPts-t.startPts:t.startDts===a.Dh?t.lastPts:t.lastPts-(t.startDts+BigInt(0|t.startCT))}},9233:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(17630);function r(t,e){const i=t.getPos(),r=t.getPointer(),s=i-BigInt(Math.floor(r)),n=[];a.__(e.boxsPositionInfo,(e=>{e.pos<i&&e.pos>=s?(t.seekInline(r+Number(e.pos-i)),t.writeUint32(e.size)):n.push(e)})),t.seekInline(r),n.length&&(a.__(n,(e=>{t.seek(e.pos),t.writeUint32(e.size)})),t.seek(i)),e.boxsPositionInfo=[]}},26201:(t,e,i)=>{i.d(e,{BB:()=>r,Ip:()=>s,Jl:()=>a});const a={1:function(t,e){return[{type:"tkhd"},{type:"mdia",children:[{type:"mdhd"},{type:"hdlr"},{type:"minf",children:[{type:"smhd"},t.isom?{type:"minf_hdlr"}:null,{type:"dinf",children:[{type:"dref",children:[{type:"url "}]}]},{type:"stbl",children:[{type:"stsd"},{type:"stts"},{type:"stsc"},{type:"stsz"},{type:"stco"}]}]}]}]},0:function(t,e){return[{type:"tkhd"},{type:"mdia",children:[{type:"mdhd"},{type:"hdlr"},{type:"minf",children:[{type:"vmhd"},t.isom?{type:"minf_hdlr"}:null,{type:"dinf",children:[{type:"dref",children:[{type:"url "}]}]},{type:"stbl",children:[{type:"stsd"},{type:"stts"},{type:"stsc"},{type:"stsz"},{type:"stco"}]}]}]}]},3:function(t,e){return[{type:"tkhd"},{type:"mdia",children:[{type:"mdhd"},{type:"hdlr"},{type:"minf",children:[{type:94232===e.codecpar.codecId?"sthd":"nmhd"},t.isom?{type:"minf_hdlr"}:null,{type:"dinf",children:[{type:"dref",children:[{type:"url "}]}]},{type:"stbl",children:[{type:"stsd"},{type:"stts"},{type:"stsc"},{type:"stsz"},{type:"stco"}]}]}]}]}},r={1:function(t,e){return[{type:"tkhd"},{type:"edts"},{type:"mdia",children:[{type:"mdhd"},{type:"hdlr"},{type:"minf",children:[{type:"smhd"},t.isom?{type:"minf_hdlr"}:null,{type:"dinf",children:[{type:"dref",children:[{type:"url "}]}]},{type:"stbl",children:[{type:"stsd"},{type:"stts"},{type:"stsc"},{type:"stsz"},{type:t.use64Mdat?"co64":"stco"}]}]}]}]},0:function(t,e){let i=!0;if(27===e.codecpar.codecId||173===e.codecpar.codecId||196===e.codecpar.codecId){const t=e.privData;2&e.codecpar.flags&&(!t.cttsSampleCounts||!t.cttsSampleCounts.length||1===t.cttsSampleCounts.length&&0===t.cttsSampleOffsets[0])&&(i=!1)}return[{type:"tkhd"},{type:"edts"},{type:"mdia",children:[{type:"mdhd"},{type:"hdlr"},{type:"minf",children:[{type:"vmhd"},t.isom?{type:"minf_hdlr"}:null,{type:"dinf",children:[{type:"dref",children:[{type:"url "}]}]},{type:"stbl",children:[{type:"stsd"},{type:"stts"},{type:"stss"},i?{type:"ctts"}:null,{type:"stsc"},{type:"stsz"},{type:t.use64Mdat?"co64":"stco"}]}]}]}]},3:function(t,e){return[{type:"tkhd"},{type:"edts"},{type:"mdia",children:[{type:"mdhd"},{type:"hdlr"},{type:"minf",children:[{type:94232===e.codecpar.codecId?"sthd":"nmhd"},t.isom?{type:"minf_hdlr"}:null,{type:"dinf",children:[{type:"dref",children:[{type:"url "}]}]},{type:"stbl",children:[{type:"stsd"},{type:"stts"},{type:"stsc"},{type:"stsz"},{type:t.use64Mdat?"co64":"stco"}]}]}]}]}},s=function(t){return[{type:"tfhd"},{type:"tfdt"},{type:"trun"},t.cenc&&(t.cenc.defaultSampleInfoSize||t.cenc.sampleSizes.length)?{type:"saiz"}:null,t.cenc&&(t.cenc.defaultSampleInfoSize||t.cenc.sampleSizes.length)?{type:"saio"}:null,t.cenc?{type:"senc"}:null]}},31752:(t,e,i)=>{i.d(e,{Ro:()=>w,dI:()=>k,l7:()=>m,yT:()=>b});var a=i(75354),r=i(42524),s=i(50012),n=i(76202),o=i(64080),c=i(26201),d=i(9233),u=i(17630),f=i(4068),l=i(41863),p=i(1818),h=i(95704);function m(t,e){t.flush();const i=t.getPointer(),a=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("ftyp")),t.writeUint32(e.majorBrand||(0,s.A)("isom")),t.writeUint32(e.minorVersion||512),u.__(e.compatibleBrand,(e=>{t.writeUint32(e)})),function(t,e,i){const a=t.getPointer();t.seekInline(e),t.writeUint32(i),t.seekInline(a)}(t,i,Number(t.getPos()-a)),e.isom?(t.writeUint32(8),t.writeUint32((0,s.A)("wide"))):e.fragment||(t.writeUint32(8),t.writeUint32((0,s.A)("free")))}function g(t,e,i,a){u.__(e,(e=>{if(!e)return!0;if(o.A[e.type])o.A[e.type](t,i,a);else if(e.children){const r=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)(e.type)),g(t,e.children,i,a),a.boxsPositionInfo.push({pos:r,type:e.type,size:Number(t.getPos()-r)})}else!function(t,e){const i=u.zy(n._l,e);t.writeUint32(i?12:8),t.writeUint32((0,s.A)(e)),i&&t.writeUint32(0)}(t,e.type)}))}function k(t,e,i){var n;const m=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("moov")),o.A.mvhd(t,null,i),u.__(e.streams,(e=>{if(1024&e.disposition||1!==e.codecpar.codecType&&0!==e.codecpar.codecType&&3!==e.codecpar.codecType)return!0;const a=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("trak")),g(t,i.fragment?c.Jl[e.codecpar.codecType](i,e):c.BB[e.codecpar.codecType](i,e),e,i);const r=e.metadata.title;if(r){const e=f.encode(r);t.writeUint32(16+e.length),t.writeUint32((0,s.A)("udta")),t.writeUint32(8+e.length),t.writeUint32((0,s.A)("name")),t.writeBuffer(e)}i.boxsPositionInfo.push({pos:a,type:"trak",size:Number(t.getPos()-a)})}));let k=t.getPos();if(t.writeUint32(0),t.writeUint32((0,s.A)("udta")),o.A.meta(t,null,i),null!==(n=i.chapters)&&void 0!==n&&n.length&&o.A.chpl(t,null,i),i.boxsPositionInfo.push({pos:k,type:"udta",size:Number(t.getPos()-k)}),i.fragment){const n=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("mvex")),u.__(e.streams,(e=>{if(1024&e.disposition||1!==e.codecpar.codecType&&0!==e.codecpar.codecType&&3!==e.codecpar.codecType)return!0;o.A.trex(t,e,i)})),i.boxsPositionInfo.push({pos:n,type:"mvex",size:Number(t.getPos()-n)}),i.ignoreEncryption||function(t,e,i){const n=[];u.__(e.streams,(t=>{const e=(0,p.Un)(t.codecpar[a.o9]+20,t.codecpar[a.o9]+24,24);e&&(0,h.ZK)((0,l.s3)(r.f[20](e),r.f[25](e+4))).forEach((t=>{(function(t){if(!n.length)return!1;for(let e=0;e<n.length;e++){const i=n[e];if(!u.FB(i.systemId,t.systemId))return!1;if(!i.keyIds||!t.keyIds)return!1;if(i.keyIds.length!==t.keyIds.length)return!1;for(let e=0;e<i.keyIds.length;e++)if(!u.FB(i.keyIds[e],t.keyIds[e]))return!1;if(!u.FB(i.data,t.data))return!1}return!0})(t)||n.push(t)}))})),n.length&&n.forEach((e=>{const a=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("pssh")),t.writeUint8(1),t.writeUint24(0),t.writeBuffer(e.systemId),t.writeUint32(e.keyIds.length),e.keyIds.forEach((e=>{t.writeBuffer(e)})),t.writeUint32(e.data.length),t.writeBuffer(e.data),i.boxsPositionInfo.push({pos:a,type:"pssh",size:Number(t.getPos()-a)})}))}(t,e,i)}i.boxsPositionInfo.push({pos:m,type:"moov",size:Number(t.getPos()-m)}),(0,d.A)(t,i)}function w(t,e,i){const a=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("moof")),o.A.mfhd(t,null,i),u.__(i.currentFragment.tracks,(a=>{if(!a.sampleCount)return!0;const r=t.getPos();t.writeUint32(0),t.writeUint32((0,s.A)("traf"));const n=e.streams.find((t=>t.privData.trackId===a.trackId));g(t,(0,c.Ip)(a),n,i),i.boxsPositionInfo.push({pos:r,type:"traf",size:Number(t.getPos()-r)})}));const r=Number(t.getPos()-a);i.boxsPositionInfo.push({pos:a,type:"moof",size:r}),i.currentFragment.size=r}function b(t,e,i){let a=24;u.__(i.currentFragment.tracks,(t=>{const i=e.streams.find((e=>e.index===t.streamIndex)).privData;i.fragIndexes.length&&(a+=24+19*i.fragIndexes.length)})),t.writeUint32(a),t.writeString("mfra"),u.__(i.currentFragment.tracks,(i=>{const a=e.streams.find((t=>t.index===i.streamIndex)).privData;a.fragIndexes.length&&(t.writeUint32(24+19*a.fragIndexes.length),t.writeString("tfra"),t.writeUint8(1),t.writeUint24(0),t.writeUint32(i.trackId),t.writeUint32(0),t.writeUint32(a.fragIndexes.length),a.fragIndexes.forEach((e=>{t.writeUint64(e.time),t.writeUint64(e.pos),t.writeUint8(1),t.writeUint8(1),t.writeUint8(1)})))})),t.writeUint32(16),t.writeString("mfro"),t.writeUint32(0),t.writeUint32(a)}},34085:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(41863);function r(t,e,i){var r;t.writeUint32(8+(null!==(r=e.codecpar.extradataSize)&&void 0!==r?r:0)),t.writeString("av1C"),i.fragment&&e.sideData[1]?(t.writeBuffer(e.sideData[1]),delete e.sideData[1]):e.codecpar.extradata&&t.writeBuffer((0,a.s3)(e.codecpar.extradata,e.codecpar.extradataSize))}},87451:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(41863),r=i(61556),s=i(5639);function n(t,e,i){let n;i.fragment&&e.sideData[1]?(n=e.sideData[1],delete e.sideData[1]):e.codecpar.extradata&&(n=(0,a.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),n&&s.Bs(n)&&(n=r.S1(n)),t.writeUint32(8+(n?n.length:0)),t.writeString("avcC"),n&&t.writeBuffer(n)}},97878:(t,e,i)=>{function a(t,e,i){t.writeUint32(20),t.writeString("btrt"),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0)}i.d(e,{A:()=>a})},49569:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(81819),r=i(4068),s=i(30027);function n(t,e,i){const n=t.getPos();t.writeUint32(0),t.writeString("chpl"),t.writeUint32(16777216),t.writeUint32(0);const o=i.chapters;t.writeUint8(o.length),o.forEach((e=>{t.writeUint64((0,s.k)(e.start,e.timeBase,{num:1,den:1e7}));let i=e.metadata.title;if(i&&a.Yj(i)){let e=r.encode(i);e.length>255&&(e=e.slice(0,255)),t.writeUint8(e.length),t.writeBuffer(e)}else t.writeUint8(0)})),i.boxsPositionInfo.push({pos:n,type:"chpl",size:Number(t.getPos()-n)})}},71354:(t,e,i)=>{function a(t,e,i){const a=e.privData.chunkOffsets||[];t.writeUint32(16+8*a.length),t.writeString("co64"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(a.length);for(let e=0;e<a.length;e++)t.writeUint64(a[e])}i.d(e,{A:()=>a})},82886:(t,e,i)=>{function a(t,e,i){const a=e.sideData[28];if(a)t.writeUint32(12+a.length),t.writeString("colr"),t.writeString("prof"),t.writeBuffer(a);else{const i=2===e.codecpar.colorRange;t.writeUint32(19),t.writeString("colr"),t.writeString("nclx"),t.writeUint16(e.codecpar.colorPrimaries),t.writeUint16(e.codecpar.colorTrc),t.writeUint16(e.codecpar.colorSpace),t.writeUint8(i?128:0)}}i.d(e,{A:()=>a})},16868:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(87339);const r="packages/avformat/src/formats/isobmff/writing/ctts.ts";function s(t,e,i){const s=e.privData,n=s.cttsSampleCounts||[],o=s.cttsSampleOffsets||[];n.length!==o.length&&a.R8("ctts sampleCounts's length is not match sampleOffsets's length",r,39);const c=Math.min(n.length,o.length);t.writeUint32(16+8*c),t.writeString("ctts"),t.writeUint8(1),t.writeUint24(0),t.writeUint32(c);for(let e=0;e<c;e++)t.writeUint32(n[e]),t.writeInt32(o[e])}},64551:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(56772);function r(t,e,i){t.writeUint32(11),t.writeString("dac3");const r=new a.A(3),s=i.ac3Info;r.writeU(2,s.substream[0].fscod),r.writeU(5,s.substream[0].bsid),r.writeU(3,s.substream[0].bsmod),r.writeU(3,s.substream[0].acmod),r.writeU(1,s.substream[0].lfeon),r.writeU(5,s.ac3BitrateCode),r.writeU(5,0),t.writeBuffer(r.getBuffer())}},43171:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(56772);function r(t,e,i){const r=i.ac3Info,s=new a.A(2+(34*(r.numIndSub+1)+7>>3));s.writeU(13,r.dataRate),s.writeU(3,r.numIndSub);for(let t=0;t<r.numIndSub;t++)s.writeU(2,r.substream[t].fscod),s.writeU(5,r.substream[t].bsid),s.writeU(1,0),s.writeU(1,0),s.writeU(3,r.substream[t].bsmod),s.writeU(3,r.substream[t].acmod),s.writeU(1,r.substream[t].lfeon),s.writeU(5,0),s.writeU(4,r.substream[t].numDepSub),r.substream[t].numDepSub?s.writeU(9,r.substream[t].chanLoc):s.writeU(1,0);s.padding();const n=s.getPointer();t.writeUint32(8+n),t.writeString("dec3"),t.writeBuffer(s.getBuffer().subarray(0,n))}},23911:(t,e,i)=>{i.d(e,{A:()=>o});var a=i(87339),r=i(41863),s=i(59586);const n="packages/avformat/src/formats/isobmff/writing/dfla.ts";function o(t,e,i){let o;i.fragment&&e.sideData[1]?(o=e.sideData[1],delete e.sideData[1]):e.codecpar.extradata&&(o=(0,r.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),o&&o.length===s.ob?(t.writeUint32(o.length+16),t.writeString("dfLa"),t.writeUint8(0),t.writeUint24(0),t.writeUint8(128),t.writeUint24(o.length),t.writeBuffer(o)):a.z3("invalid extradata",n,55)}},8670:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(54570),r=i(41863);function s(t,e,i){let s;if(i.fragment&&e.sideData[1]?(s=e.sideData[1],delete e.sideData[1]):e.codecpar.extradata&&(s=(0,r.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),!s||s.length<19)t.writeUint32(19),t.writeString("dOps"),t.writeUint8(0),t.writeUint8(e.codecpar.chLayout.nbChannels),t.writeUint16(e.codecpar.initialPadding),t.writeUint32(e.codecpar.sampleRate),t.writeUint16(0),t.writeUint8(0);else{const e=new a.A(s,!1);t.writeUint32(s.length),t.writeString("dOps"),t.writeUint8(0),e.seek(9),t.writeUint8(e.readUint8()),t.writeUint16(e.readUint16()),t.writeUint32(e.readUint32()),t.writeUint16(e.readUint16()),t.writeBuffer(s.subarray(18))}}},80127:(t,e,i)=>{function a(t,e,i){t.writeUint32(28),t.writeString("dref"),t.writeUint32(0),t.writeUint32(1),t.writeUint32(12),t.writeString("url "),t.writeUint32(1)}i.d(e,{A:()=>a})},91022:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(76070),r=i(91278),s=i(30027);function n(t,e,i){const n=e.privData;let o=(0,s.k)((0,a.A)(n),e.timeBase,{den:i.timescale,num:1}),c=n.startCT;const d=(0,s.k)(n.startDts+BigInt(Math.floor(c)),e.timeBase,{den:i.timescale,num:1});let u=o<r.go?0:1;u|=d<r.go?0:1;const f=1+(d>0?1:0),l=24+f*(1===u?20:12);t.writeUint32(l),t.writeString("edts"),t.writeUint32(l-8),t.writeString("elst"),t.writeUint8(u),t.writeUint24(0),t.writeUint32(f),d>0?(1===u?(t.writeUint64(d),t.writeInt64(r.Dh)):(t.writeUint32(Number(d)),t.writeInt32(-1)),t.writeUint32(65536)):(c=-Math.min(Number(n.startDts),0),o+=d),i.fragment&&(o=BigInt(0)),1===u?(t.writeUint64(o),t.writeInt64(BigInt(Math.floor(c)))):(t.writeUint32(Number(o)),t.writeInt32(c)),t.writeUint32(65536)}},94919:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(39947),r=i(41863);function s(t,e,i){t.writeUint8(e);for(let e=3;e>0;e--)t.writeUint8(i>>7*e|128);t.writeUint8(127&i)}function n(t,e,i){const n=e.privData,o=e.codecpar.extradata?5+e.codecpar.extradataSize:0,c=t.getPos();t.writeUint32(0),t.writeString("esds"),t.writeUint32(0),s(t,3,21+o+5+1),t.writeUint16(n.trackId),t.writeUint8(0),s(t,4,13+o),(86016===e.codecpar.codecId||86017===e.codecpar.codecId)&&e.codecpar.sampleRate>24e3?t.writeUint8(107):t.writeUint8(a.zs[e.codecpar.codecId]),94208===e.codecpar.codecId?t.writeUint8(225):1===e.codecpar.codecType?t.writeUint8(21):t.writeUint8(17),t.writeUint24(0),t.writeUint32(0),t.writeUint32(0),e.codecpar.extradata&&(s(t,5,e.codecpar.extradataSize),t.writeBuffer((0,r.s3)(e.codecpar.extradata,e.codecpar.extradataSize))),s(t,6,1),t.writeUint8(2),i.boxsPositionInfo.push({pos:c,type:"esds",size:Number(t.getPos()-c)})}},18763:(t,e,i)=>{function a(t,e,i,a,r,s,n){t.writeInt32(Math.floor(65536*e)),t.writeInt32(Math.floor(65536*i)),t.writeInt32(0),t.writeInt32(Math.floor(65536*a)),t.writeInt32(Math.floor(65536*r)),t.writeInt32(0),t.writeInt32(Math.floor(65536*s)),t.writeInt32(Math.floor(65536*n)),t.writeInt32(1073741824)}i.d(e,{A:()=>a})},77252:(t,e,i)=>{function a(t,e,i){const a=t.getPos();t.writeUint32(0),t.writeString("hdlr"),t.writeUint8(0),t.writeUint24(0);let r="dhlr",s="url ",n="DataHandler";e&&(r="mhlr",1===e.codecpar.codecType?(s="soun",n="SoundHandler"):0===e.codecpar.codecType?(s="vide",n="VideoHandler"):3===e.codecpar.codecType?(s="text",n="SubtitleHandler"):(e.metadata.handlerName&&(n=e.metadata.handlerName),e.metadata.hdlrType&&(s=e.metadata.hdlrType))),t.writeString(r),t.writeString(s),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),e&&!i.isom||t.writeUint8(n.length),t.writeString(n),e&&!i.isom&&t.writeUint8(0),i.boxsPositionInfo.push({pos:a,type:"hdlr",size:Number(t.getPos()-a)})}i.d(e,{A:()=>a})},7374:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(41863),r=i(73872),s=i(5639);function n(t,e,i){let n;i.fragment&&e.sideData[1]?(n=e.sideData[1],delete e.sideData[1]):e.codecpar.extradata&&(n=(0,a.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),n&&s.Bs(n)&&(n=r.S1(n)),t.writeUint32(8+(n?n.length:0)),t.writeString("hvcC"),n&&t.writeBuffer(n)}},67027:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(76070),r=i(81819),s=i(91278);function n(t,e,i){const n=e.privData,o=(0,a.A)(n),c=e.metadata.creationTime||0,d=e.metadata.modificationTime||0;let u=21956,f=e.metadata.language;f&&r.Yj(f)&&f.length>=3&&(u=(f.charCodeAt(0)-96&31)<<10|(f.charCodeAt(1)-96&31)<<5|f.charCodeAt(2)-96&31);let l=o<BigInt(s.f7)?0:1;l=c<s.f7?0:1,l=d<s.f7?0:1,t.writeUint32(1===l?44:32),t.writeString("mdhd"),t.writeUint8(l),t.writeUint24(0),1===l?(t.writeUint64(c),t.writeUint64(d)):(t.writeUint32(Number(c)),t.writeUint32(Number(d))),t.writeUint32(e.timeBase.den),1===l?t.writeUint64(o):t.writeUint32(Number(o)),t.writeUint16(u),t.writeUint16(0)}},85947:(t,e,i)=>{i.d(e,{A:()=>c});var a=i(7761),r=i(50012),s=i(25092),n=i(81819),o=i(4068);function c(t,e,i){const c=t.getPos();t.writeUint32(0),t.writeString("meta"),t.writeUint32(0),t.writeUint32(33),t.writeString("hdlr"),t.writeUint32(0),t.writeString("dhlr"),t.writeString(i.useMetadataTags?"mdta":"mdir"),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint8(0);let d=[],u=[];const f=s.BE(a.c);function l(t){return i.useMetadataTags?(d.push(t),d.length):f[t]||4===t.length?(0,r.A)(f[t]||t):void 0}if(u.push({key:l("encoder"),value:"libmedia-v1.2.0-8-g3b900f94"}),i.covr&&u.push({key:l("covr"),value:i.covr.data,type:i.covr.type}),i.metadata&&s.__(i.metadata,((t,e)=>{if((n.Yj(t)||n.ai(t)||t instanceof Uint8Array)&&"encoder"!==e.toLocaleLowerCase()){let i=l(e);i&&u.push({key:i,value:t})}})),d.length&&(t.writeUint32(16+d.reduce(((t,e)=>t+(8+e.length)),0)),t.writeString("keys"),t.writeUint32(0),t.writeUint32(d.length),d.forEach((e=>{t.writeUint32(e.length+8),t.writeString("mdta"),t.writeString(e)}))),u.length){const e=t.getPos();t.writeUint32(0),t.writeString("ilst"),u.forEach((e=>{let i,a=0,r=0;if(n.ai(e.value))a=Math.trunc(e.value)===e.value?e.value<0?21:22:23,r=4;else if(e.value instanceof Uint8Array){var s;a=null!==(s=e.type)&&void 0!==s?s:0,r=e.value.length}else{if(!n.Yj(e.value))return;a=1,i=o.encode(e.value),r=i.length}t.writeUint32(24+r),t.writeUint32(e.key),t.writeUint32(16+r),t.writeString("data"),t.writeUint32(a),t.writeUint32(0),0===a||e.value instanceof Uint8Array?t.writeBuffer(e.value):1===a?t.writeBuffer(i):21===a?t.writeInt32(e.value):22===a?t.writeUint32(e.value):23===a&&t.writeFloat(e.value)})),i.boxsPositionInfo.push({pos:e,type:"ilst",size:Number(t.getPos()-e)})}i.boxsPositionInfo.push({pos:c,type:"meta",size:Number(t.getPos()-c)})}},51685:(t,e,i)=>{function a(t,e,i){t.writeUint32(16),t.writeString("mfhd"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(i.currentFragment.sequence)}i.d(e,{A:()=>a})},75494:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(77252);function r(t,e,i){(0,a.A)(t,null,i)}},60341:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(18763),r=i(91278);function s(t,e,i){const s=i.duration,n=i.creationTime||0,o=i.modificationTime||0,c=i.timescale||0;let d=i.nextTrackId||1;i.fragment&&(d=2);let u=s<BigInt(r.f7)?0:1;u=n<r.f7?0:1,u=o<r.f7?0:1,t.writeUint32(1===u?120:108),t.writeString("mvhd"),t.writeUint8(u),t.writeUint24(0),1===u?(t.writeUint64(n),t.writeUint64(o)):(t.writeUint32(Number(n)),t.writeUint32(Number(o))),t.writeUint32(c),1===u?t.writeUint64(s):t.writeUint32(Number(s)),t.writeUint32(65536),t.writeUint16(256),t.writeUint16(0),t.writeUint32(0),t.writeUint32(0),(0,a.A)(t,1,0,0,1,0,0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(0),t.writeUint32(d)}},3935:(t,e,i)=>{function a(t,e,i){t.writeUint32(12),t.writeString("nmhd"),t.writeUint32(0)}i.d(e,{A:()=>a})},7830:(t,e,i)=>{function a(t,e,i){t.writeUint32(16),t.writeString("pasp"),t.writeUint32(1),t.writeUint32(1)}i.d(e,{A:()=>a})},48750:(t,e,i)=>{function a(t,e,i){const a=i.currentFragment.tracks.find((t=>t.trackId===e.privData.trackId));t.writeUint32(20),t.writeString("saio"),t.writeUint32(0),t.writeUint32(1),a.cenc.offsetPos=t.getPos(),t.writeUint32(0)}i.d(e,{A:()=>a})},39897:(t,e,i)=>{function a(t,e,i){const a=i.currentFragment.tracks.find((t=>t.trackId===e.privData.trackId)),r=t.getPos();t.writeUint32(0),t.writeString("saiz"),t.writeUint32(0),t.writeUint8(a.cenc.sampleSizes.length?0:a.cenc.defaultSampleInfoSize),t.writeUint32(a.cenc.sampleCount),a.cenc.sampleSizes.length&&a.cenc.sampleSizes.forEach((e=>{t.writeUint8(e)})),i.boxsPositionInfo.push({pos:r,type:"saiz",size:Number(t.getPos()-r)})}i.d(e,{A:()=>a})},92701:(t,e,i)=>{function a(t,e,i){const a=i.currentFragment.tracks.find((t=>t.trackId===e.privData.trackId)),r=i.cencs?i.cencs[a.trackId]:null,s=t.getPos();t.writeUint32(0),t.writeString("senc"),t.writeUint32(a.cenc.useSubsamples?2:0),t.writeUint32(a.cenc.sampleEncryption.length),a.cenc.offset=Number(t.getPos()-i.currentFragment.pos),a.cenc.sampleEncryption.forEach((e=>{r.defaultPerSampleIVSize&&t.writeBuffer(e.iv),a.cenc.useSubsamples&&(t.writeUint16(e.subsamples.length),e.subsamples.forEach((e=>{t.writeUint16(e.bytesOfClearData),t.writeUint32(e.bytesOfProtectedData)})))})),i.boxsPositionInfo.push({pos:s,type:"senc",size:Number(t.getPos()-s)})}i.d(e,{A:()=>a})},92638:(t,e,i)=>{function a(t,e,i){t.writeUint32(16),t.writeString("smhd"),t.writeUint32(0),t.writeUint16(0),t.writeUint16(0)}i.d(e,{A:()=>a})},76763:(t,e,i)=>{function a(t,e,i){const a=e.privData.chunkOffsets||[];t.writeUint32(16+4*a.length),t.writeString("stco"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(a.length);for(let e=0;e<a.length;e++)t.writeUint32(Number(a[e]))}i.d(e,{A:()=>a})},42053:(t,e,i)=>{function a(t,e,i){t.writeUint32(12),t.writeString("sthd"),t.writeUint32(0)}i.d(e,{A:()=>a})},21495:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(87339);const r="packages/avformat/src/formats/isobmff/writing/stsc.ts";function s(t,e,i){const s=e.privData,n=s.stscFirstChunk,o=s.stscSamplesPerChunk,c=s.stscSampleDescriptionIndex;n.length===o.length&&n.length===c.length||a.R8("ctts firstChunk's length is not match samplesPerChunk's length or sampleDescriptionIndex's length",r,42);const d=Math.min(n.length,o.length,c.length);t.writeUint32(16+12*d),t.writeString("stsc"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(d);for(let e=0;e<d;e++)t.writeUint32(n[e]),t.writeUint32(o[e]),t.writeUint32(c[e])}},82974:(t,e,i)=>{i.d(e,{A:()=>A});var a=i(41863),r=i(87451),s=i(7374),n=i(74852),o=i(91718),c=i(34085),d=i(23911),u=i(8670),f=i(94919),l=i(82886),p=i(7830),h=i(97878),m=i(36623),g=i(64551),k=i(43171),w=i(30018),b=i(50012);const v={27:"avc1",173:"hvc1",196:"vvc1",225:"av01",167:"vp09",86019:"ac-3",86056:"ec-3",94226:"wvtt",94232:"stpp",94213:"tx3g"};function U(t){if(t.codecTag)return(0,w.A)(t.codecTag);let e=v[t.codecId];return e||(e=0===t.codecType?"mp4v":1===t.codecType?86076===t.codecId?"Opus":86028===t.codecId?"fLaC":"mp4a":3===t.codecType?"text":"none"),e}function I(t,e,i){const a=e.privData,r=i.cencs[a.trackId],s=t.getPos();t.writeUint32(0),t.writeString("sinf"),t.writeUint32(12),t.writeString("frma"),t.writeString(U(e.codecpar)),t.writeUint32(20),t.writeString("schm"),t.writeUint32(0),t.writeUint32(r.schemeType||(0,b.A)("cenc")),t.writeUint32(r.schemeVersion||65536),t.writeUint32(16+r.defaultKeyId.length+8+(r.defaultConstantIV?1+r.defaultConstantIV.length:0)),t.writeString("schi"),t.writeUint32(16+r.defaultKeyId.length+(r.defaultConstantIV?1+r.defaultConstantIV.length:0)),t.writeString("tenc"),r.cryptByteBlock||r.skipByteBlock||r.pattern?t.writeUint8(1):t.writeUint8(0),t.writeUint24(0),t.writeUint8(0),t.writeUint8((15&(r.cryptByteBlock||0))<<4|15&(r.skipByteBlock||0)),t.writeUint8(1),t.writeUint8(r.defaultPerSampleIVSize),t.writeBuffer(r.defaultKeyId),r.defaultConstantIV&&(t.writeUint8(r.defaultConstantIV.length),t.writeBuffer(r.defaultConstantIV)),i.boxsPositionInfo.push({pos:s,type:"sinf",size:Number(t.getPos()-s)})}function P(t,e,i){const a=i.isom?1:0;t.writeUint32(0),t.writeUint16(0),t.writeUint16(1),t.writeUint16(a),t.writeUint16(0),t.writeUint32(0),i.isom?(t.writeUint16(e.codecpar.chLayout.nbChannels),65541===e.codecpar.codecId||65540===e.codecpar.codecId?t.writeUint16(8):69643===e.codecpar.codecId?t.writeUint16(e.codecpar.bitsPerCodedSample):t.writeUint16(16),t.writeUint16(-2)):(t.writeUint16(e.codecpar.chLayout.nbChannels),86028===e.codecpar.codecId||86032===e.codecpar.codecId?t.writeUint16(e.codecpar.bitsPerRawSample):t.writeUint16(16),t.writeUint16(0)),t.writeUint16(0),86076===e.codecpar.codecId?t.writeUint16(48e3):86060===e.codecpar.codecId?t.writeUint32(e.codecpar.sampleRate):t.writeUint16(e.codecpar.sampleRate),86060!==e.codecpar.codecId&&t.writeUint16(0),1===a&&(t.writeUint32(e.codecpar.frameSize),t.writeUint32(0),t.writeUint32(0),t.writeUint32(2))}function y(t,e,i){const a=U(e.codecpar);!i.isom||86018!==e.codecpar.codecId&&86019!==e.codecpar.codecId&&86056!==e.codecpar.codecId&&73728!==e.codecpar.codecId&&86032!==e.codecpar.codecId&&69638!==e.codecpar.codecId&&69633!==e.codecpar.codecId&&86035!==e.codecpar.codecId?86028===e.codecpar.codecId?(0,d.A)(t,e,i):86076===e.codecpar.codecId?(0,u.A)(t,e,i):86019===e.codecpar.codecId?(0,g.A)(t,e,i):86056===e.codecpar.codecId?(0,k.A)(t,e,i):"mp4a"==a&&(0,f.A)(t,e,i):(0,m.A)(t,e,i)}function S(t,e,i){const a=13==e.codecpar.codecId&&15==e.codecpar.format||13==e.codecpar.codecId&&1==e.codecpar.format||202==e.codecpar.codecId||203==e.codecpar.codecId||156==e.codecpar.codecId||127==e.codecpar.codecId;t.writeUint32(0),t.writeUint16(0),t.writeUint16(1),t.writeUint16(a?2:0),t.writeUint16(0),i.isom?(t.writeString("FFMP"),13===e.codecpar.codecId||a?(t.writeUint32(0),t.writeUint32(1024)):(t.writeUint32(512),t.writeUint32(512))):(t.writeUint32(0),t.writeUint32(0),t.writeUint32(0)),t.writeUint16(e.codecpar.width),t.writeUint16(e.codecpar.height),t.writeUint32(4718592),t.writeUint32(4718592),t.writeUint32(0),t.writeUint16(1);let r=e.metadata.compressorName||"";if(r=r.slice(0,31),t.writeUint8(r.length),t.writeString(r),r.length<31){let e=31-r.length;for(;e>0;)t.writeUint8(0),e--}i.isom&&e.codecpar.bitsPerCodedSample?t.writeUint16(e.codecpar.bitsPerCodedSample):t.writeUint16(24),t.writeUint16(65535)}function B(t,e,i){"mp4v"===U(e.codecpar)?(0,f.A)(t,e,i):27===e.codecpar.codecId?(0,r.A)(t,e,i):173===e.codecpar.codecId?(0,s.A)(t,e,i):196===e.codecpar.codecId?(0,n.A)(t,e,i):167===e.codecpar.codecId?(0,o.A)(t,e,i):225===e.codecpar.codecId&&(0,c.A)(t,e,i)}function A(t,e,i){const r=t.getPos();t.writeUint32(0),t.writeString("stsd");const s=e.privData,n=i.cencs&&i.cencs[s.trackId]&&(1===e.codecpar.codecType||0===e.codecpar.codecType)&&!i.ignoreEncryption;t.writeUint8(0),t.writeUint24(0),t.writeUint32(n?2:1),1===e.codecpar.codecType?(n&&function(t,e,i){const a=t.getPos();t.writeUint32(0),t.writeString("enca"),P(t,e,i),I(t,e,i),y(t,e,i),i.boxsPositionInfo.push({pos:a,type:"enca",size:Number(t.getPos()-a)})}(t,e,i),function(t,e,i){const a=t.getPos(),r=U(e.codecpar);t.writeUint32(0),t.writeString(r),P(t,e,i),y(t,e,i),i.isom||(0,h.A)(t,e,i),i.boxsPositionInfo.push({pos:a,type:r,size:Number(t.getPos()-a)})}(t,e,i)):0===e.codecpar.codecType?(n&&function(t,e,i){const a=t.getPos();t.writeUint32(0),t.writeString("encv"),S(t,e,i),I(t,e,i),B(t,e,i),i.boxsPositionInfo.push({pos:a,type:"encv",size:Number(t.getPos()-a)})}(t,e,i),function(t,e,i){const a=t.getPos(),r=U(e.codecpar);t.writeUint32(0),t.writeString(r),S(t,e,i),B(t,e,i),(0,l.A)(t,e,i),(0,p.A)(t,e,i),i.isom||(0,h.A)(t,e,i),i.boxsPositionInfo.push({pos:a,type:r,size:Number(t.getPos()-a)})}(t,e,i)):3===e.codecpar.codecType&&function(t,e,i){const r=t.getPos(),s=U(e.codecpar);t.writeUint32(0),t.writeString(s),t.writeUint32(0),t.writeUint16(0),t.writeUint16(1),94208===e.codecpar.codecId?(0,f.A)(t,e,i):e.codecpar.extradata&&t.writeBuffer((0,a.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),i.isom||(0,h.A)(t,e,i),i.boxsPositionInfo.push({pos:r,type:s,size:Number(t.getPos()-r)})}(t,e,i),i.boxsPositionInfo.push({pos:r,type:"esds",size:Number(t.getPos()-r)})}},69255:(t,e,i)=>{function a(t,e,i){const a=e.privData.stssSampleNumbers;t.writeUint32(16+4*a.length),t.writeString("stss"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(a.length);for(let e=0;e<a.length;e++)t.writeUint32(a[e])}i.d(e,{A:()=>a})},25104:(t,e,i)=>{function a(t,e,i){const a=e.privData.sampleSizes;t.writeUint32(20+4*a.length),t.writeString("stsz"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(0),t.writeUint32(a.length);for(let e=0;e<a.length;e++)t.writeUint32(a[e])}i.d(e,{A:()=>a})},26708:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(87339);const r="packages/avformat/src/formats/isobmff/writing/stts.ts";function s(t,e,i){const s=e.privData,n=s.sttsSampleCounts||[],o=s.sttsSampleDeltas||[];n.length!==o.length&&a.R8("stts sampleCounts's length is not match sampleDeltas's length",r,39);const c=Math.min(n.length,o.length);t.writeUint32(16+8*c),t.writeString("stts"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(c);for(let e=0;e<c;e++)t.writeUint32(n[e]),t.writeInt32(o[e])}},81132:(t,e,i)=>{function a(t,e,i){const a=i.currentFragment.tracks.find((t=>t.trackId===e.privData.trackId)),r=a?a.baseMediaDecodeTime:BigInt(0);t.writeUint32(20),t.writeString("tfdt"),t.writeUint8(1),t.writeUint24(0),t.writeUint64(r)}i.d(e,{A:()=>a})},2960:(t,e,i)=>{function a(t,e,i){const a=i.currentFragment.tracks.find((t=>t.trackId===e.privData.trackId));let r=57;a.baseIsMoof&&(r&=-2,r|=131072);const s=t.getPos();t.writeUint32(0),t.writeString("tfhd"),t.writeUint8(0),t.writeUint24(r),t.writeUint32(a.trackId),1&r&&t.writeUint64(a.baseDataOffset),8&r&&t.writeUint32(a.defaultSampleDuration),16&r&&t.writeUint32(a.defaultSampleSize),32&r&&t.writeUint32(a.defaultSampleFlags),i.boxsPositionInfo.push({pos:s,type:"tfhd",size:Number(t.getPos()-s)})}i.d(e,{A:()=>a})},81816:(t,e,i)=>{i.d(e,{A:()=>o});var a=i(18763),r=i(76070),s=i(91278),n=i(30027);function o(t,e,i){const o=e.privData,c=(0,n.k)((0,r.A)(o),e.timeBase,{den:i.timescale,num:1}),d=e.metadata.creationTime||0,u=e.metadata.modificationTime||0,f=o.layer||0,l=o.alternateGroup||0;let p=e.codecpar.width>0?e.codecpar.width:0,h=e.codecpar.height>0?e.codecpar.height:0;const m=(0,n.lb)(e.codecpar.sampleAspectRatio);0!==m&&m!==1/0&&(p=Math.floor(p*m)),p<s.zg&&(p<<=16),h<s.zg&&(h<<=16);let g=c<BigInt(s.f7)?0:1;g=d<s.f7?0:1,g=u<s.f7?0:1;let k=2;1&o.flags&&(k|=1),t.writeUint32(1===g?100:92),t.writeString("tkhd"),t.writeUint8(g),t.writeUint24(k),1===g?(t.writeUint64(d),t.writeUint64(u)):(t.writeUint32(Number(d)),t.writeUint32(Number(u))),t.writeUint32(o.trackId),t.writeUint32(0),1===g?t.writeUint64(c):t.writeUint32(Number(c)),t.writeUint32(0),t.writeUint32(0),t.writeInt16(f),t.writeInt16(o.perStreamGrouping?l:e.codecpar.codecType),1===e.codecpar.codecType?t.writeInt16(256):t.writeInt16(0),t.writeInt16(0);const w=e.metadata.matrix;w?(0,a.A)(t,w[0],w[1],w[3],w[4],w[6],w[7]):(0,a.A)(t,1,0,0,1,0,0),t.writeUint32(p),t.writeUint32(h)}},98981:(t,e,i)=>{function a(t,e,i){var a,r,s;const n=i.currentFragment.tracks.find((t=>t.trackId===e.privData.trackId)),o=i.trexs.find((t=>{t.trackId,e.privData.trackId})),c=null!==(a=null==o?void 0:o.duration)&&void 0!==a?a:0,d=null!==(r=null==o?void 0:o.size)&&void 0!==r?r:0,u=null!==(s=null==o?void 0:o.flags)&&void 0!==s?s:0;t.writeUint32(32),t.writeString("trex"),t.writeUint8(0),t.writeUint24(0),t.writeUint32(n.trackId),t.writeUint32(1),t.writeUint32(c),t.writeUint32(d),t.writeUint32(u)}i.d(e,{A:()=>a})},38151:(t,e,i)=>{function a(t,e,i){const a=e.privData,r=i.currentFragment.tracks.find((t=>t.trackId===a.trackId)),s=r.firstSampleFlags||0,n=r.dataOffset||0,o=r.sampleDurations,c=r.sampleSizes,d=r.sampleFlags,u=r.sampleCompositionTimeOffset,f=r.sampleCount,l=o.length>0,p=c.length>0,h=d.length>0,m=u.length>0,g=0!==s;let k=1;g&&(k|=4),l&&(k|=256),p&&(k|=512),h&&(k|=1024),m&&(k|=2048);const w=t.getPos();t.writeUint32(0),t.writeString("trun"),t.writeUint8(1),t.writeUint24(k),t.writeUint32(f),r.dataOffsetPos=t.getPos(),t.writeInt32(n),g&&t.writeUint32(s);for(let e=0;e<f;e++)l&&t.writeUint32(o[e]||0),p&&t.writeUint32(c[e]||0),h&&t.writeUint32(d[e]||0),m&&t.writeInt32(u[e]||0);i.boxsPositionInfo.push({pos:w,type:"trun",size:Number(t.getPos()-w)})}i.d(e,{A:()=>a})},30759:(t,e,i)=>{function a(t,e,i){t.writeUint32(20),t.writeString("vmhd"),t.writeUint8(0),t.writeUint24(1),t.writeUint64(BigInt(0))}i.d(e,{A:()=>a})},91718:(t,e,i)=>{i.d(e,{A:()=>r});var a=i(41863);function r(t,e,i){var r;t.writeUint32(12+(null!==(r=e.codecpar.extradataSize)&&void 0!==r?r:0)),t.writeString("vpcC"),t.writeUint8(1),t.writeUint24(0),i.fragment&&e.sideData[1]?(t.writeBuffer(e.sideData[1]),delete e.sideData[1]):e.codecpar.extradata&&t.writeBuffer((0,a.s3)(e.codecpar.extradata,e.codecpar.extradataSize))}},74852:(t,e,i)=>{i.d(e,{A:()=>n});var a=i(41863),r=i(17635),s=i(5639);function n(t,e,i){let n;i.fragment&&e.sideData[1]?(n=e.sideData[1],delete e.sideData[1]):e.codecpar.extradata&&(n=(0,a.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),n&&s.Bs(n)&&(n=r.S1(n)),t.writeUint32(12+(n?n.length:0)),t.writeString("vvcC"),t.writeUint8(0),t.writeUint24(0),n&&t.writeBuffer(n)}},36623:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(94919),r=i(41863);function s(t,e,i){const s=t.getPos();t.writeUint32(0),t.writeString("wave"),86035!==e.codecpar.codecId&&(t.writeUint32(12),t.writeString("frma"),t.writeUint32(e.codecpar.codecTag)),86018===e.codecpar.codecId?(t.writeUint32(12),t.writeString("mp4a"),t.writeUint32(0),(0,a.A)(t,e,i)):i.fragment&&e.sideData[1]?(t.writeBuffer(e.sideData[1]),delete e.sideData[1]):e.codecpar.extradata&&t.writeBuffer((0,r.s3)(e.codecpar.extradata,e.codecpar.extradataSize)),t.writeUint32(8),t.writeUint32(0),i.boxsPositionInfo.push({pos:s,type:"wave",size:Number(t.getPos()-s)})}},64080:(t,e,i)=>{i.d(e,{A:()=>M});var a=i(26708),r=i(16868),s=i(69255),n=i(25104),o=i(21495),c=i(76763),d=i(71354),u=i(67027),f=i(60341),l=i(81816),p=i(77252),h=i(82974),m=i(30759),g=i(91022),k=i(92638),w=i(3935),b=i(42053),v=i(80127),U=i(98981),I=i(51685),P=i(2960),y=i(81132),S=i(38151),B=i(75494),A=i(39897),x=i(48750),T=i(92701),C=i(85947),D=i(49569);const M={stts:a.A,ctts:r.A,stss:s.A,stsz:n.A,stsc:o.A,stco:c.A,co64:d.A,mdhd:u.A,mvhd:f.A,tkhd:l.A,hdlr:p.A,stsd:h.A,vmhd:m.A,edts:g.A,smhd:k.A,nmhd:w.A,sthd:b.A,dref:v.A,trex:U.A,mfhd:I.A,tfhd:P.A,tfdt:y.A,trun:S.A,minf_hdlr:B.A,saio:x.A,saiz:A.A,senc:T.A,meta:C.A,chpl:D.A}},62204:(t,e,i)=>{function a(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!t)return!1;if(t.length<2)return!0;let i=t[e],a=e+1;for(;a<t.length&&i===t[a];a++);return a===t.length}i.d(e,{A:()=>a})},39188:(t,e,i)=>{function a(t,e,i,a){const r=t.getPos(),s=t.getPointer(),n=r-BigInt(Math.floor(s));let o=!1;switch(e<r&&e>=n?(t.seekInline(s+Number(e-r)),o=!0):t.seek(e),a){case"uint8":t.writeUint8(255&i);break;case"int8":t.writeInt8(i);break;case"uint16":t.writeUint16(65535&i);break;case"int16":t.writeInt16(i);break;case"uint32":t.writeUint32(i>>>0);break;case"int32":t.writeInt32(i);break;case"uint64":t.writeUint64(BigInt.asUintN(64,i));break;case"int64":t.writeInt64(i);break;case"float":t.writeFloat(i);break;case"double":t.writeDouble(i)}o?t.seekInline(s):t.seek(r)}i.d(e,{A:()=>a})},42853:(t,e,i)=>{i.d(e,{XA:()=>g,bX:()=>w,bx:()=>m,dJ:()=>k,ho:()=>h});var a=i(42524),r=i(77389),s=i(62765),n=i(47378),o=i(91278),c=i(25092),d=i(87339),u=i(17630),f=i(29592);const l="packages/avformat/src/mux.ts",p={zeroStart:!1,nonnegative:!1};function h(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=c.X$({},p,e);t.ioWriter||d.h2("need ioWriter",l,65),t.oformat||d.h2("need oformat",l,68),t.options=i,t.privateData2={firstPts:new Map,firstDts:new Map,dtsPtsDelta:new Map};let a=t.oformat.getCapabilities();if(a)for(let e=0;e<t.streams.length;e++){if(1024&t.streams[e].disposition)continue;const i=t.streams[e].codecpar.codecId,r=t.streams[e].codecpar.codecType;if(16===t.oformat.type){if(i<65536||i>69683)return d.z3(`format ${(0,s.L_)(t.oformat.type)} not support codecId ${(0,s.eG)(t.streams[e].codecpar.codecType,i)}`,l,90),n.r8}else if(2!==r&&4!==r&&!u.zy(a,i))return d.z3(`format ${(0,s.L_)(t.oformat.type)} not support codecId ${(0,s.eG)(t.streams[e].codecpar.codecType,i)}`,l,98),n.r8}return t.oformat.init(t)}function m(t){return t.oformat.writeHeader(t),0}function g(t,e){const i=t.privateData2;return i.firstDts.has(a.f[15](e+32))||i.firstDts.set(a.f[15](e+32),a.f[17](e+16)===o.Dh?BigInt(0):a.f[17](e+16)),i.firstPts.has(a.f[15](e+32))||(i.firstPts.set(a.f[15](e+32),a.f[17](e+8)===o.Dh?BigInt(0):a.f[17](e+8)),i.dtsPtsDelta.set(a.f[15](e+32),f.jk(i.firstDts.get(a.f[15](e+32)),i.firstPts.get(a.f[15](e+32))))),(t.options.zeroStart||t.options.nonnegative&&(i.firstDts.get(a.f[15](e+32))<0||i.firstPts.get(a.f[15](e+32))<0))&&(r.M[17](e+16,a.f[17](e+16)-i.dtsPtsDelta.get(a.f[15](e+32))),r.M[17](e+8,a.f[17](e+8)-i.dtsPtsDelta.get(a.f[15](e+32)))),t.oformat.writeAVPacket(t,e)}function k(t){return t.oformat.writeTrailer(t),0}function w(t){t.oformat.flush(t)}},75452:(t,e,i)=>{i.r(e),i.d(e,{default:()=>$});var a=i(41863),r=i(75354),s=i(42524),n=i(75589),o=i(3912),c=i(77389),d=i(54911),u=i(30027),f=i(1818),l=i(43776),p=i(31184),h=i(28579),m=i(81498),g=i(10567),k=i(91278),w=i(62787),b=i(47378),v=i(7615),U=i(61556),I=i(73872),P=i(77368),y=i(2198),S=i(29592),B=i(16563),A=i(71195),x=i(77969),T=i(87339),C=i(81819),D=i(21279),M=i(61738),E=i(88583),z=i(39753),F=i(48135),N=i(85266),Q=i(42853),O=i(20352),R=i(98686),W=i(50012),_=i(86223),V=i(57470),q=i(65833);const L="packages/avplayer/src/mse/MSEPipeline.ts";class $ extends V.A{constructor(){super()}async syncToKeyframe(t){let e=!0;if(t.video){let i;for(;;){if(t.video.backPacket=await this.pullAVPacket(t.video,t),t.video.backPacket<0){t.video.packetEnded=!0,t.video.backPacket=0;break}if(t.audio&&!t.audio.packetEnded&&(!t.audio.backPacket||(0,u.Mr)(s.f[17](t.audio.backPacket+8),t.audio.backPacket+72,k.i0)<(0,u.Mr)(s.f[17](t.video.backPacket+8),t.video.backPacket+72,k.i0)))for(;;){if(t.audio.backPacket>0){const e=(0,f.rU)(t.audio.backPacket,1);e&&(i=(0,a.s3)(s.f[20](e),s.f[25](e+4)).slice()),t.avpacketPool.release(t.audio.backPacket)}if(t.audio.backPacket=await this.pullAVPacket(t.audio,t),t.audio.backPacket<0){t.audio.packetEnded=!0,t.audio.backPacket=0;break}if((0,u.Mr)(s.f[17](t.audio.backPacket+8),t.audio.backPacket+72,k.i0)>(0,u.Mr)(s.f[17](t.video.backPacket+8),t.video.backPacket+72,k.i0))break}if(1&s.f[15](t.video.backPacket+36)||27===s.f[15](t.video.codecpar+4)&&U.mW(t.video.backPacket,s.f[20](t.video.codecpar+12)?1+(3&l.r8(s.f[20](t.video.codecpar+12)+4)):4)||173===s.f[15](t.video.codecpar+4)&&I.mW(t.video.backPacket,s.f[20](t.video.codecpar+12)?1+(3&l.r8(s.f[20](t.video.codecpar+12)+21)):4))break;e=!1,t.avpacketPool.release(t.video.backPacket)}if(t.audio&&t.audio.backPacket&&!(0,f.fQ)(t.audio.backPacket,1)&&i){const e=(0,p.sY)(i.length);(0,a.lW)(e,i.length,i),(0,f.Ow)(t.audio.backPacket,1,e,i.length)}}return e}getSourceOpenHandler(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:BigInt(0);return async()=>{var i,d;await this.syncToKeyframe(t);let l=e,h=e;if(!t.audio||t.audio.backPacket||t.audio.packetEnded||(t.audio.backPacket=await this.pullAVPacket(t.audio,t),t.audio.backPacket<0&&(t.audio.packetEnded=!0,t.audio.backPacket=0)),t.video&&!t.video.backPacket&&t.video.packetEnded&&(t.video.backPacket=await this.pullAVPacket(t.video,t),t.video.backPacket<0&&(t.video.packetEnded=!0,t.video.backPacket=0)),(null===(i=t.audio)||void 0===i?void 0:i.backPacket)>0&&(l=S.T9(l,(0,u.Mr)(s.f[17](t.audio.backPacket+16),t.audio.backPacket+72,k.i0))),(null===(d=t.video)||void 0===d?void 0:d.backPacket)>0&&(h=S.T9(h,(0,u.Mr)(s.f[17](t.video.backPacket+16),t.video.backPacket+72,k.i0))),t.audio&&t.video&&S.tn(l-h)>1e3)if(h>l){const e=(0,u.k)(l,k.i0,(0,n.A)(t.video.backPacket+72,o.Q));c.M[17](t.video.backPacket+48,s.f[17](t.video.backPacket+16)-e),c.M[17](t.video.backPacket+16,e),c.M[17](t.video.backPacket+8,e),h=l}else if(l>h&&86018===t.audio.oformatContext.streams[0].codecpar.codecId&&2===t.audio.oformatContext.streams[0].codecpar.profile&&t.audio.oformatContext.streams[0].codecpar.chLayout.nbChannels<3){const e=t.avpacketPool.alloc();(0,f.rN)(e,t.audio.backPacket);const i=1===t.audio.oformatContext.streams[0].codecpar.chLayout.nbChannels?new Uint8Array([0,200,0,128,35,128]):new Uint8Array([33,0,73,144,2,25,0,35,128]),r=(0,p.sY)(i.length);(0,a.lW)(r,i.length,i),(0,f.NX)(e,r,i.length),c.M[17](e+16,(0,u.k)(h,k.i0,(0,n.A)(e+72,o.Q))),c.M[17](e+8,(0,u.k)(h,k.i0,(0,n.A)(e+72,o.Q)));const d=BigInt(1024e3)/BigInt(0|t.audio.oformatContext.streams[0].codecpar.sampleRate),m=Number(BigInt.asIntN(32,(l-h)/d));let g=s.f[17](e+16)+(0,u.k)(d,k.i0,(0,n.A)(t.audio.backPacket+72,o.Q));for(let i=0;i<m-1;i++){const i=t.avpacketPool.alloc();(0,f.rN)(i,e),c.M[17](i+16,g),c.M[17](i+8,g),t.audio.pullQueue.queue.push(i),g+=(0,u.k)(d,k.i0,(0,n.A)(t.audio.backPacket+72,o.Q))}t.audio.pullQueue.queue.push(t.audio.backPacket),t.audio.backPacket=e,l=h}const m=[];t.audio&&(t.audio.track.setSourceBuffer(this.createSourceBuffer(t.mediaSource,t.audio.oformatContext.streams[0].codecpar[r.o9])),t.audio.enableRawMpeg||(Q.ho(t.audio.oformatContext),Q.bx(t.audio.oformatContext)),m.push(this.startMux(t.audio,t,S.T9(l,h)))),t.video&&(t.video.track.setSourceBuffer(this.createSourceBuffer(t.mediaSource,t.video.oformatContext.streams[0].codecpar[r.o9])),t.video.enableRawMpeg||(Q.ho(t.video.oformatContext),Q.bx(t.video.oformatContext)),m.push(this.startMux(t.video,t,S.T9(l,h)))),await Promise.all(m);let g=!1,w=!1;t.audio&&(t.audio.backPacket=await this.pullAVPacket(t.audio,t),t.audio.backPacket>0?(g=!0,t.audio.frontPacket=await this.pullAVPacket(t.audio,t),t.audio.frontPacket>0?t.audio.frontBuffered=!0:(t.audio.frontPacket=0,t.audio.packetEnded=!0)):t.audio.packetEnded=!0,t.audio.enableRawMpeg||t.audio.oformatContext.ioWriter.flush(),t.audio.track.addBuffer(t.audio.bufferQueue.flush())),t.video&&(t.video.backPacket=await this.pullAVPacket(t.video,t),t.video.backPacket>0?(w=!0,t.video.frontPacket=await this.pullAVPacket(t.video,t),t.video.frontPacket>0?t.video.frontBuffered=!0:(t.video.frontPacket=0,t.video.packetEnded=!0)):t.video.packetEnded=!0,t.video.enableRawMpeg||t.video.oformatContext.ioWriter.flush(),t.video.track.addBuffer(t.video.bufferQueue.flush())),t.audio&&(g?(this.createLoop(t.audio,t),t.audio.loop.start()):t.audio.track.end()),t.video&&(w?(this.createLoop(t.video,t),t.video.loop.start()):t.video.track.end()),await new E.A(.1);let b=0;t.audio?b=t.video?Math.max(t.audio.track.getBufferedStart(),t.video.track.getBufferedStart()):t.audio.track.getBufferedStart():t.video&&(b=t.video.track.getBufferedStart()),t.currentTimeNTP=(0,B.A)(),e>BigInt(0)?(t.currentTime=P.yw(e),t.controlIPCPort.notify("seek",{time:t.currentTime})):(A.A.safari||x.A.ios||b>.1||t.playRate>BigInt(100))&&(t.currentTime=b,t.currentTimeNTP=(0,B.A)(),t.controlIPCPort.notify("seek",{time:b}))}}getMimeType(t){let e="";return 1===s.f[15](t)?e=(0,h.A)(t):0===s.f[15](t)&&(e=(0,m.A)(t)),e||T.h2("invalid stream",L,515),e}createSourceBuffer(t,e){return t.addSourceBuffer(this.getMimeType(e))}mixExtradata(t,e,i){const s=t.oformatContext.streams[0].codecpar;s.extradata&&(0,p.Eb)(s.extradata),s.extradata=(0,p.sY)(i),(0,a.Mr)(s.extradata,e,i),s.extradataSize=i,27===s.codecId?U.XC(t.oformatContext.streams[0],(0,a.s3)(e,i)):173===s.codecId&&I.XC(t.oformatContext.streams[0],(0,a.s3)(e,i)),t.track.changeMimeType(this.getMimeType(s[r.o9]),t.enableRawMpeg?"sequence":"segments");const n=new R.A({fragmentMode:1,fragment:!0,fastOpen:!0,mp4Mode:0,defaultBaseIsMoof:!0,reverseSpsInAvcc:!0,hasTfra:!1});t.oformatContext.oformat=n,t.timestampOffsetUpdated=!1,t.enableRawMpeg||(Q.ho(t.oformatContext),Q.bx(t.oformatContext))}checkEnableEncryption(t,e){if(t.oformatContext.streams[0].metadata.encryption){const i=(0,f.fQ)(e,25);if(!i&&!t.ignoreEncryption||i&&t.ignoreEncryption){t.track.changeMimeType(this.getMimeType(t.oformatContext.streams[0].codecpar[r.o9]),t.enableRawMpeg?"sequence":"segments");const e=new R.A({fragmentMode:1,fragment:!0,fastOpen:!0,mp4Mode:0,defaultBaseIsMoof:!0,reverseSpsInAvcc:!0,ignoreEncryption:!i,hasTfra:!1});t.ignoreEncryption=!i,t.oformatContext.oformat=e,t.timestampOffsetUpdated=!1,t.enableRawMpeg||(Q.ho(t.oformatContext),Q.bx(t.oformatContext))}}}async pullAVPacketInternal(t,e){const i=await e.request("pull");if(C.ai(i)||(0,y.A)(i))return i;{const e=t.avpacketPool.alloc();return(0,g.r0)(i,e),e}}async pullAVPacket(t,e){const i=t.pullQueue;if(i.ended&&!i.queue.length)return-1048576;const n=i.queue.length?i.queue.shift():await this.pullAVPacketInternal(e,t.pullIPC);if(n<0)return i.ended=!0,-1048576;if(s.f[17](n+16)<BigInt(0))return n;if(s.f[17](n+16)<i.lastDTS&&T.R8(`got packet with dts ${s.f[17](n+16)}, which is earlier then the last packet(${i.lastDTS})`,L,627),c.M[17](n+48,k.Dh),"audio"===t.type&&s.f[17](n+16)>0)c.M[17](n+8,s.f[17](n+16));else if("video"===t.type&&!e.isLive)if(1&s.f[15](n+36)&&(27===s.f[15](e.video.codecpar+4)&&U.mW(n,s.f[20](e.video.codecpar+12)?1+(3&l.r8(s.f[20](e.video.codecpar+12)+4)):4)||173===s.f[15](e.video.codecpar+4)&&I.mW(n,s.f[20](e.video.codecpar+12)?1+(3&l.r8(s.f[20](e.video.codecpar+12)+21)):4)))if(s.f[17](n+8)<i.lastPTS){T.R8(`got video packet with pts ${s.f[17](n+8)}, which is earlier then the last packet(${i.lastPTS}), try to fix it!`,L,664),c.M[17](n+8,i.lastPTS+(s.f[17](n+16)-i.lastDTS));const a=await this.pullAVPacketInternal(e,t.pullIPC);if(a<0)i.ended=!0;else{i.queue.push(a);let r=s.f[17](a+8);const o=s.f[17](a+8);for(;;){const a=await this.pullAVPacketInternal(e,t.pullIPC);if(a<0){i.ended=!0;break}if(i.queue.push(a),s.f[17](a+8)>o)break;r=S.jk(r,s.f[17](a+8))}r<s.f[17](n+8)&&(i.diff=s.f[17](n+16)-i.lastDTS)}}else i.diff=BigInt(0);else c.M[17](n+8,s.f[17](n+8)+i.diff);return s.f[17](n+8)>i.lastPTS&&(i.lastPTS=s.f[17](n+8)),i.lastDTS=s.f[17](n+16),"audio"===t.type&&i.useSampleRateTimeBase&&(i.frameCount===k.Dh?(i.frameCount=(0,u.Mr)(s.f[17](n+16),n+72,t.oformatContext.streams[0].timeBase),c.M[17](n+16,i.frameCount),c.M[17](n+8,i.frameCount)):(i.frameCount=i.frameCount+BigInt(0|s.f[15](t.codecpar+144)),c.M[17](n+16,i.frameCount),c.M[17](n+8,i.frameCount)),(0,a.Mr)(n+72,t.oformatContext.streams[0].timeBase[r.o9],8)),n}writeAVPacket(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e.enableRawMpeg){if(!e.timestampOffsetUpdated){const i=(0,u.Mr)(s.f[17](t+8),t+72,k.i0);e.track.updateTimestampOffset(Number(BigInt.asIntN(32,i))/1e3),e.timestampOffsetUpdated=!0}e.bufferQueue.write((0,a.s3)(s.f[20](t+24),s.f[15](t+28)).slice())}else{if("video"===e.type&&1&s.f[15](t+36)||"audio"===e.type){const i=(0,f.rU)(t,1);i&&function(t,e,i,a){if(e!==a)return!0;let r=!1;for(let a=0;a<e;a++)if(s.f[2](t+a)!==s.f[2](i+a)){r=!0;break}return r}(e.oformatContext.streams[0].codecpar.extradata,e.oformatContext.streams[0].codecpar.extradataSize,s.f[20](i),0|s.f[25](i+4))&&this.mixExtradata(e,s.f[20](i),0|s.f[25](i+4))}this.checkEnableEncryption(e,t),Q.XA(e.oformatContext,t),i&&e.oformatContext.ioWriter.flush()}}swap(t,e){if(t.backPacket&&e.avpacketPool.release(t.backPacket),t.backPacket=0,!t.frontBuffered)return!1;t.backPacket=t.frontPacket,t.frontPacket=0,t.frontBuffered=!1;const i=(0,B.A)();return this.pullAVPacket(t,e).then((a=>{if(a<0)return t.packetEnded=!0,void(t.frontPacket=0);const r=(0,B.A)()-i;r>5&&(t.startTimestamp+=BigInt(Math.floor(r))),t.frontPacket=a,t.frontBuffered=!0,t.seekSync&&(t.seekSync(),t.seekSync=null),t.backPacket||this.swap(t,e)})),!0}createLoop(t,e){t.loop=new z.A((()=>{const i=t.track.getBufferedDuration(e.currentTime+((0,B.A)()-e.currentTimeNTP)/1e3);if(i>e.maxBuffer*(e.playRate>BigInt(100)?Number(e.playRate)/100:1))return t.loop.emptyTask(),void this.checkWaiting(e);if(!t.backPacket)return void(t.packetEnded&&!t.frontPacket?(t.ended=!0,t.loop.stop(),t.enableRawMpeg||(Q.dJ(t.oformatContext),Q.bX(t.oformatContext)),t.bufferQueue.size&&t.track.addBuffer(t.bufferQueue.flush()),t.track.end()):t.loop.emptyTask());let a=t.backPacket;const r=(0,u.Mr)(s.f[17](a+16),a+72,k.i0);if(t.lastDTS!==k.Dh&&r-t.lastDTS>1e3&&(Q.bX(t.oformatContext),t.startTimestamp-=r-t.lastDTS),t.lastDTS=r,e.enableJitterBuffer&&(s.f[15](e.stats+244)?s.f[15](e.stats+32)/s.f[15](e.stats+244)*1e3:s.f[15](e.stats+232)?s.f[15](e.stats+120)/s.f[15](e.stats+232)*1e3:0)<=s.f[15](e.stats+280)&&this.setPlayRate(e.taskId,1),r*BigInt(100)/e.playRate+t.startTimestamp-BigInt(Math.floor((0,B.A)()))<=0||i<e.minBuffer*(e.playRate>BigInt(100)?Number(e.playRate)/100:1)){t.track.isPaused()&&t.track.enqueue(),c.M[15](a+32,t.oformatContext.streams[0].index),this.writeAVPacket(a,t,!0),t.track.addBuffer(t.bufferQueue.flush());const i=t.oformatContext.streams[0].codecpar.codecType;if(0===i?(c.M[17](e.stats+144,s.f[17](e.stats+144)+BigInt(1)),c.M[17](e.stats+160,s.f[17](e.stats+160)+BigInt(1))):1===i&&(c.M[17](e.stats+56,s.f[17](e.stats+56)+BigInt(1)),c.M[17](e.stats+72,s.f[17](e.stats+72)+BigInt(1))),e.playRate!==e.targetRate&&(t.startTimestamp=BigInt(Math.floor((0,B.A)()))-r*BigInt(100)/e.targetRate,e.playRate=e.targetRate),t.packetEnded&&!t.frontPacket)return t.ended=!0,t.loop.stop(),t.enableRawMpeg||(Q.dJ(t.oformatContext),Q.bX(t.oformatContext)),t.bufferQueue.size&&t.track.addBuffer(t.bufferQueue.flush()),void t.track.end();this.swap(t,e)}else t.loop.emptyTask()}),0,0)}async startMux(t,e){let i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:BigInt(0),r=k.Dh,n=k.Dh,o=BigInt(0),d=e.cacheDuration;const f=t.oformatContext.streams[0].timeBase;for(t.backPacket>0&&(r=s.f[17](t.backPacket+16),n=s.f[17](t.backPacket+8),a>n&&(d+=a-(0,u.k)(r,f,k.i0)),c.M[15](t.backPacket+32,t.oformatContext.streams[0].index),this.writeAVPacket(t.backPacket,t),e.avpacketPool.release(t.backPacket),t.backPacket=0);r===k.Dh||(0,u.k)(o-r,f,k.i0)<d;){if(i=await this.pullAVPacket(t,e),i<0){t.packetEnded=!0;break}o=s.f[17](i+16),r===k.Dh&&(r=o,n=s.f[17](i+8)),s.f[17](i+8)<n&&(n=s.f[17](i+8)),c.M[15](i+32,t.oformatContext.streams[0].index),this.writeAVPacket(i,t),e.avpacketPool.release(i)}n!==k.Dh&&t.startPTS<=BigInt(0)&&(t.startPTS=n),t.pullQueue.diff=BigInt(0),e.currentTimeNTP=(0,B.A)(),e.currentTime=0,t.startTimestamp=BigInt(Math.floor((0,B.A)()))-(0,u.k)(o,f,k.i0)*BigInt(100)/e.playRate}resetResource(t,e){t.bufferQueue.flush(),t.oformatContext.oformat.destroy(t.oformatContext);const i=new R.A({fragmentMode:1,fragment:!0,fastOpen:!0,mp4Mode:0,defaultBaseIsMoof:!0,reverseSpsInAvcc:!0,hasTfra:!1});t.oformatContext.oformat=i;const a=new _.A;a.onQuotaExceededError=()=>{t.startTimestamp-=BigInt(100)},a.onEnded=()=>{e.audio&&!e.audio.ended||e.video&&!e.video.ended||(e.mediaSource.endOfStream(),T.pq(`muxer ended, taskId: ${e.taskId}`,L,994))},t.track=a,t.packetEnded=!1,t.ended=!1,t.startTimestamp=BigInt(0),t.frontBuffered=!1,t.seekSync=null,t.loop&&(t.loop.destroy(),t.loop=null),t.frontPacket&&(e.avpacketPool.release(t.frontPacket),t.frontPacket=0),t.backPacket&&(e.avpacketPool.release(t.backPacket),t.backPacket=0),t.pullQueue.ended=!1,t.pullQueue.index=0,t.pullQueue.frameCount=k.Dh,t.pullQueue.lastPTS=BigInt(0),t.pullQueue.lastDTS=BigInt(0),t.pullQueue.diff=BigInt(0),t.lastDTS=k.Dh}async addStream(t,e,i,a,n,o,d){const f=this.tasks.get(t);if(f){const l=(0,p.Gy)(168);(0,y.A)(i)?(0,w.Yi)(l,i):(0,g.T8)(i,l);const h=new D.A(1048576),m=(0,O.fG)(),v=new R.A({fragmentMode:1,fragment:!0,fastOpen:!0,mp4Mode:0,defaultBaseIsMoof:!0,reverseSpsInAvcc:!0,hasTfra:!1}),U=new M.A;h.onFlush=t=>(U.write(t.slice()),0),h.onSeek=t=>U.seek(t)?0:b.lh;const I=m.createStream();(0,w.Yi)(I.codecpar[r.o9],l),I.metadata=n,86017===s.f[15](l+4)&&(I.codecpar.codecTag=(0,W.A)(".mp3"));const P=1===s.f[15](l)&&s.f[15](l+144)&&!f.isLive&&(0,u.lb)(a)>(0,u.lb)({num:1,den:s.f[15](l+136)});P?(I.timeBase.den=s.f[15](l+136),I.timeBase.num=1):(I.timeBase.den=a.den,I.timeBase.num=a.num),m.oformat=v,m.ioWriter=h;const B=new _.A,C={type:"audio",codecpar:l,ioWriter:h,oformatContext:m,oformat:v,track:B,bufferQueue:U,streamIndex:e,pullIPC:new N.Ay(d),loop:null,frontPacket:0,backPacket:0,frontBuffered:!1,startTimestamp:BigInt(0),packetEnded:!1,ended:!1,seekSync:null,startPTS:o,lastDTS:k.Dh,pullQueue:{queue:[],index:0,frameCount:k.Dh,diff:BigInt(0),lastPTS:BigInt(0),lastDTS:BigInt(0),ended:!1,useSampleRateTimeBase:P},enableRawMpeg:86017===s.f[15](l+4)&&!A.A.firefox,timestampOffsetUpdated:!1,ignoreEncryption:!1};B.onQuotaExceededError=()=>{C.startTimestamp-=BigInt(100)},B.onEnded=()=>{f.audio&&!f.audio.ended||f.video&&!f.video.ended||(f.mediaSource.endOfStream(),T.pq(`muxer ended, taskId: ${f.taskId}`,L,1142))},1===s.f[15](l)?(f.audio=C,c.M[15](f.stats+4,s.f[15](l+136)),c.M[15](f.stats,s.f[15](l+116))):0===s.f[15](l)&&(C.type="video",f.video=C,c.M[15](f.stats+84,s.f[15](l+56)),c.M[15](f.stats+88,s.f[15](l+60)),s.f[15](f.stats+84)*s.f[15](f.stats+88)>8294400&&(A.A.safari||x.A.ios)&&(f.cacheDuration=S.T9(BigInt(3e3),f.cacheDuration))),T.Yz(`add stream ${e}, taskId: ${t}`,L,1162)}else T.h2("task not found",L,1165)}async reAddStream(t,e,i,a,n,o){const c=this.tasks.get(t);if(c){const d=(0,p.Gy)(168);(0,y.A)(i)?(0,w.Yi)(d,i):(0,g.T8)(i,d);const f=1===s.f[15](d)?c.audio:c.video;if(f){f.bufferQueue.flush(),await new Promise((t=>{f.track.removeAllBuffer((()=>{t()}))})),f.track.reset();const t=new R.A({fragmentMode:1,fragment:!0,fastOpen:!0,mp4Mode:0,defaultBaseIsMoof:!0,reverseSpsInAvcc:!0,hasTfra:!1});f.oformatContext.oformat=t,f.codecpar&&(0,w.dn)(f.codecpar),f.codecpar=d,f.streamIndex=e,f.startPTS=o;const i=f.oformatContext.streams[0];(0,w.Yi)(i.codecpar[r.o9],d),i.metadata=n,86017===s.f[15](d+4)&&(i.codecpar.codecTag=(0,W.A)(".mp3"));const l=1===s.f[15](d)&&s.f[15](d+144)&&!c.isLive&&(0,u.lb)(a)>(0,u.lb)({num:1,den:s.f[15](d+136)});l?(i.timeBase.den=s.f[15](d+136),i.timeBase.num=1):(i.timeBase.den=a.den,i.timeBase.num=a.num),f.enableRawMpeg=86017===s.f[15](d+4)&&!A.A.firefox,f.timestampOffsetUpdated=!1,f.pullQueue.useSampleRateTimeBase=l;try{f.track.changeMimeType(this.getMimeType(i.codecpar[r.o9]),f.enableRawMpeg?"sequence":"segments")}catch(t){if(!A.A.firefox||t.message.indexOf("An attempt was made to use an object that is not")<0)throw t}f.enableRawMpeg||(Q.ho(f.oformatContext),Q.bx(f.oformatContext))}else(0,w.dn)(d);T.Yz(`readd stream ${e}, taskId: ${t}`,L,1268)}else T.h2("task not found",L,1271)}async pause(t){const e=this.tasks.get(t);var i,a,r,s;e?(null!==(i=e.audio)&&void 0!==i&&i.loop||null!==(a=e.video)&&void 0!==a&&a.loop||T.h2("task has not played",L,1279),e.pausing=!0,e.pauseTimestamp=(0,B.A)(),null===(r=e.audio)||void 0===r||r.loop.stop(),null===(s=e.video)||void 0===s||s.loop.stop(),e.fakePlayTimer&&e.fakePlayTimer.stop(),T.Yz(`pause taskId: ${t}`,L,1289)):T.h2("task not found",L,1292)}async unpause(t){const e=this.tasks.get(t);var i,a;e?(null!==(i=e.audio)&&void 0!==i&&i.loop||null!==(a=e.video)&&void 0!==a&&a.loop||T.h2("task has not played",L,1300),e.pausing=!1,e.seeking||(e.audio&&(e.audio.startTimestamp+=BigInt(Math.floor((0,B.A)()-e.pauseTimestamp)),e.audio.loop.start()),e.video&&(e.video.startTimestamp+=BigInt(Math.floor((0,B.A)()-e.pauseTimestamp)),e.video.loop.start())),e.fakePlayTimer&&e.fakePlayTimer.start(),T.Yz(`unpause taskId: ${t}`,L,1318)):T.h2("task not found",L,1321)}async beforeSeek(t){const e=this.tasks.get(t);if(e){var i,a;const r=[];e.audio&&(e.audio.ended||e.audio.frontBuffered||r.push(new Promise((t=>{e.audio.seekSync=t})))),e.video&&(e.video.ended||e.video.frontBuffered||r.push(new Promise((t=>{e.video.seekSync=t})))),await Promise.all(r),e.seeking=!0,null===(i=e.audio)||void 0===i||i.loop.stop(),null===(a=e.video)||void 0===a||a.loop.stop(),e.audio&&(e.audio.enableRawMpeg||Q.bX(e.audio.oformatContext),e.audio.bufferQueue.flush(),(A.A.safari||x.A.ios)&&await new Promise((t=>{e.audio.track.removeAllBuffer((()=>{t()}))})),e.audio.track.reset(),e.audio.packetEnded=!1,e.audio.timestampOffsetUpdated=!1,e.audio.backPacket&&(e.avpacketPool.release(e.audio.backPacket),e.audio.backPacket=0),e.audio.frontPacket&&(e.avpacketPool.release(e.audio.frontPacket),e.audio.frontPacket=0),e.audio.pullQueue.queue.length&&e.audio.pullQueue.queue.forEach((t=>{e.avpacketPool.release(t)})),e.audio.pullQueue.queue.length=0,e.audio.pullQueue.ended=!1,e.audio.pullQueue.index=0,e.audio.pullQueue.lastPTS=BigInt(0),e.audio.pullQueue.lastDTS=BigInt(0),e.audio.pullQueue.diff=BigInt(0),e.audio.pullQueue.frameCount=k.Dh,e.audio.lastDTS=k.Dh),e.video&&(e.video.enableRawMpeg||Q.bX(e.video.oformatContext),e.video.bufferQueue.flush(),(A.A.safari||x.A.ios)&&await new Promise((t=>{e.video.track.removeAllBuffer((()=>{t()}))})),e.video.track.reset(),e.video.packetEnded=!1,e.video.timestampOffsetUpdated=!1,e.video.backPacket&&(e.avpacketPool.release(e.video.backPacket),e.video.backPacket=0),e.video.frontPacket&&(e.avpacketPool.release(e.video.frontPacket),e.video.frontPacket=0),e.video.pullQueue.queue.length&&e.video.pullQueue.queue.forEach((t=>{e.avpacketPool.release(t)})),e.video.pullQueue.queue.length=0,e.video.pullQueue.ended=!1,e.video.pullQueue.index=0,e.video.pullQueue.diff=BigInt(0),e.video.pullQueue.lastPTS=BigInt(0),e.video.pullQueue.lastDTS=BigInt(0),e.video.lastDTS=k.Dh),T.Yz(`before seek end taskId: ${t}`,L,1432)}}async afterSeek(t,e){const i=this.tasks.get(t);if(i){let a=e,r=e,n=await this.syncToKeyframe(i);i.audio&&i.audio.backPacket>0&&((!n||e<BigInt(0))&&(a=(0,u.Mr)(s.f[17](i.audio.backPacket+8),i.audio.backPacket+72,k.i0)),c.M[15](i.audio.backPacket+32,i.audio.oformatContext.streams[0].index),this.writeAVPacket(i.audio.backPacket,i.audio),i.avpacketPool.release(i.audio.backPacket),i.audio.backPacket=0),i.video&&i.video.backPacket>0&&((!n||e<BigInt(0))&&(r=(0,u.Mr)(s.f[17](i.video.backPacket+8),i.video.backPacket+72,k.i0)),c.M[15](i.video.backPacket+32,i.video.oformatContext.streams[0].index),this.writeAVPacket(i.video.backPacket,i.video),i.avpacketPool.release(i.video.backPacket),i.video.backPacket=0);const o=S.T9(a,r);for(;;){if(i.audio&&!i.audio.packetEnded){if(i.audio.backPacket=await this.pullAVPacket(i.audio,i),i.audio.backPacket<0&&(i.audio.packetEnded=!0,i.audio.backPacket=0,!i.video||i.video.packetEnded))break;if(a<BigInt(0)&&(a=(0,u.Mr)(s.f[17](i.audio.backPacket+8),i.audio.backPacket+72,k.i0)),!((0,u.Mr)(s.f[17](i.audio.backPacket+8),i.audio.backPacket+72,k.i0)<o+i.cacheDuration))break;c.M[15](i.audio.backPacket+32,i.audio.oformatContext.streams[0].index),this.writeAVPacket(i.audio.backPacket,i.audio),i.audio.enableRawMpeg||Q.bX(i.audio.oformatContext),i.audio.track.addBuffer(i.audio.bufferQueue.flush()),i.avpacketPool.release(i.audio.backPacket),i.audio.backPacket=0}if(i.video&&!i.video.packetEnded){if(i.video.backPacket=await this.pullAVPacket(i.video,i),i.video.backPacket<0&&(i.video.packetEnded=!0,i.video.backPacket=0,!i.audio||i.audio.packetEnded))break;if(!((0,u.Mr)(s.f[17](i.video.backPacket+8),i.video.backPacket+72,k.i0)<o+i.cacheDuration))break;c.M[15](i.video.backPacket+32,i.video.oformatContext.streams[0].index),this.writeAVPacket(i.video.backPacket,i.video),i.video.enableRawMpeg||Q.bX(i.video.oformatContext),i.video.track.addBuffer(i.video.bufferQueue.flush()),i.avpacketPool.release(i.video.backPacket),i.video.backPacket=0}}const d=[];i.audio&&(i.audio.enableRawMpeg||Q.bX(i.audio.oformatContext),d.push(new Promise((t=>{i.audio.track.addBuffer(i.audio.bufferQueue.flush(),(()=>{t()}))})))),i.video&&(i.video.enableRawMpeg||Q.bX(i.video.oformatContext),d.push(new Promise((t=>{i.video.track.addBuffer(i.video.bufferQueue.flush(),(()=>{t()}))})))),await Promise.all(d),i.audio&&!i.audio.packetEnded&&(i.audio.backPacket<=0&&(i.audio.backPacket=await this.pullAVPacket(i.audio,i),i.audio.backPacket<0&&(i.audio.packetEnded=!0,i.audio.backPacket=0)),i.audio.packetEnded||(i.audio.frontPacket=await this.pullAVPacket(i.audio,i),i.audio.frontPacket<0?(i.audio.frontPacket=0,i.audio.packetEnded=!0,i.audio.frontBuffered=!1):(i.audio.packetEnded=!1,i.audio.frontBuffered=!0),i.audio.startTimestamp=BigInt(Math.floor((0,B.A)()))-(a+i.cacheDuration+(0,u.k)(i.audio.startPTS,i.audio.oformatContext.streams[0].timeBase,k.i0))*BigInt(100)/i.playRate,i.pausing?i.pauseTimestamp=(0,B.A)():i.audio.loop.start())),i.video&&!i.video.packetEnded&&(i.video.backPacket<=0&&(i.video.backPacket=await this.pullAVPacket(i.video,i),i.video.backPacket<0&&(i.video.packetEnded=!0,i.video.backPacket=0)),i.video.packetEnded||(i.video.frontPacket=await this.pullAVPacket(i.video,i),i.video.frontPacket<0?(i.video.packetEnded=!0,i.video.frontBuffered=!1,i.video.frontPacket=0):(i.video.packetEnded=!1,i.video.frontBuffered=!0),i.video.startTimestamp=BigInt(Math.floor((0,B.A)()))-(r+i.cacheDuration+(0,u.k)(i.video.startPTS,i.video.oformatContext.streams[0].timeBase,k.i0))*BigInt(100)/i.playRate,i.pausing?i.pauseTimestamp=(0,B.A)():i.video.loop.start())),await Promise.all([new Promise((t=>{i.audio?i.audio.track.insertEnqueueCallback(t):t()})),new Promise((t=>{i.video?i.video.track.insertEnqueueCallback(t):t()}))]);let f=0,l=0;i.audio?i.video?(f=Math.max(i.audio.track.getBufferedStart(),i.video.track.getBufferedStart()),l=Math.min(i.audio.track.getBufferedEnd(),i.video.track.getBufferedEnd())):(f=i.audio.track.getBufferedStart(),l=i.audio.track.getBufferedEnd()):i.video&&(f=i.video.track.getBufferedStart(),l=i.video.track.getBufferedEnd());let p=P.yw(o);return p>=f&&p<=l||(p=Math.abs(p-f)>Math.abs(p-l)?l:f),i.currentTimeNTP=(0,B.A)(),i.currentTime=p,i.seeking=!1,T.Yz(`after seek end, seekTime: ${p} taskId: ${t}`,L,1670),p}return 0}async setPlayRate(t,e){const i=this.tasks.get(t);if(i){if(i.enableJitterBuffer){let t=s.f[15](i.stats+244)?s.f[15](i.stats+32)/s.f[15](i.stats+244)*1e3:s.f[15](i.stats+232)?s.f[15](i.stats+120)/s.f[15](i.stats+232)*1e3:0;t&&t<=s.f[15](i.stats+280)&&(e=1)}i.targetRate=BigInt(Math.floor(Math.floor(100*e))),i.enableJitterBuffer||(i.audio&&i.audio.loop&&i.audio.loop.resetInterval(),i.video&&i.video.loop&&i.video.loop.resetInterval())}}async restart(t){const e=this.tasks.get(t);if(e){e.audio&&this.resetResource(e.audio,e),e.video&&this.resetResource(e.video,e);const t=new((0,q.A)());t.onsourceopen=this.getSourceOpenHandler(e),e.mediaSource=t}}async setCurrentTime(t,e){const i=this.tasks.get(t);i?(i.audio&&i.audio.track.removeBuffer(e),i.video&&s.f[15](i.stats+92)>0&&(i.video.track.setMediaBufferMax(Math.max(i.video.track.getMediaBufferMax(),Math.ceil(s.f[15](i.stats+92)/1e3*1.5),10)),i.video.track.removeBuffer(e)),i.currentTime=e,i.currentTimeNTP=(0,B.A)()):T.h2("task not found",L,1743)}async checkWaiting(t){let e=-1,i=-1;const a=t.currentTime+((0,B.A)()-t.currentTimeNTP)/1e3;if(t.audio){const i=t.audio.track.getSourceBuffer();i&&2===i.buffered.length&&i.buffered.end(1)-i.buffered.start(1)>=t.maxBuffer&&i.buffered.end(0)<a&&t.currentTime<i.buffered.start(1)&&(e=i.buffered.start(1))}if(t.video){const e=t.video.track.getSourceBuffer();e&&2===e.buffered.length&&e.buffered.end(1)-e.buffered.start(1)>=t.maxBuffer&&e.buffered.end(0)<a&&t.currentTime<e.buffered.start(1)&&(i=e.buffered.start(1))}if(t.audio&&t.video){if(e>0&&i>0){const a=Math.min(e,i);t.currentTime=a,t.controlIPCPort.notify("seek",{time:a})}}else e>0?(t.currentTime=e,t.controlIPCPort.notify("seek",{time:e})):i>0&&(t.currentTime=i,t.controlIPCPort.notify("seek",{time:i}))}async getMediaSource(t){const e=this.tasks.get(t);if(e)return e.mediaSource.handle?(this.getMediaSource.transfer.push(e.mediaSource.handle),e.mediaSource.handle):e.mediaSource;T.h2("task not found",L,1808)}async isManagedMediaSource(t){const e=this.tasks.get(t);if(e)return"function"==typeof ManagedMediaSource&&e.mediaSource instanceof ManagedMediaSource;T.h2("task not found",L,1819)}createTask(t,e){const i=new N.Ay(t.controlPort),a=new((0,q.A)()),r={...t,mediaSource:a,audio:null,video:null,playRate:BigInt(100),targetRate:BigInt(100),pauseTimestamp:0,seeking:!1,pausing:!1,controlIPCPort:i,currentTime:0,currentTimeNTP:0,cacheDuration:BigInt(Math.floor(500)),avpacketPool:new v.A((0,n.A)(t.avpacketList,d.A),t.avpacketListMutex),maxBuffer:t.isLive?1:4,minBuffer:t.isLive?.5:2,visibilityHidden:!1,fakePlayTimer:null};return this.tasks.set(t.taskId,r),a.onsourceopen=this.getSourceOpenHandler(r,e),i.on(N.Wo,(e=>{"visibilitychange"===e.method&&this.setVisibilityHidden(t.taskId,e.params.visibilityHidden)})),0}async setVisibilityHidden(t,e){const i=this.tasks.get(t);i&&(i.visibilityHidden=e,e?i.isLive&&i.video&&!i.audio&&(i.fakePlayTimer&&i.fakePlayTimer.destroy(),i.fakePlayTimer=new F.A((()=>{this.setCurrentTime(i.taskId,i.currentTime+((0,B.A)()-i.currentTimeNTP)/1e3)}),0,1e3),i.fakePlayTimer.start()):i.fakePlayTimer&&(i.fakePlayTimer.destroy(),i.fakePlayTimer=null,i.video.track.getBufferedTime()>(i.isLive?2:4)&&(this.setCurrentTime(i.taskId,Math.max(i.video.track.getBufferedEnd()-(i.isLive?1:4),i.video.track.getBufferedStart())),i.controlIPCPort.notify("seek",{time:i.currentTime}))))}async registerTask(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:BigInt(0);return this.tasks.has(t.taskId)?b.lh:this.createTask(t,e)}async unregisterTask(t){const e=this.tasks.get(t);e&&(e.audio&&(e.audio.loop&&(await e.audio.oformatContext.destroy(),e.audio.loop.destroy()),e.audio.pullIPC&&e.audio.pullIPC.destroy(),e.audio.pullQueue.queue.length&&(e.audio.pullQueue.queue.forEach((t=>{e.avpacketPool.release(t)})),e.audio.pullQueue.queue.length=0),e.audio.codecpar&&(0,w.dn)(e.audio.codecpar)),e.video&&(e.video.loop&&(await e.video.oformatContext.destroy(),e.video.loop.destroy()),e.video.pullIPC&&e.video.pullIPC.destroy(),e.video.pullQueue.queue.length&&(e.video.pullQueue.queue.forEach((t=>{e.avpacketPool.release(t)})),e.video.pullQueue.queue.length=0),e.video.codecpar&&(0,w.dn)(e.video.codecpar)),e.controlIPCPort&&e.controlIPCPort.destroy(),this.tasks.delete(t))}}},86223:(t,e,i)=>{i.d(e,{A:()=>c});var a,r=i(19371),s=i(25092),n=i(87339);!function(t){t[t.ADD=0]="ADD",t[t.REMOVE=1]="REMOVE",t[t.UPDATE_TIMESTAMP_OFFSET=2]="UPDATE_TIMESTAMP_OFFSET",t[t.CALLBACK=3]="CALLBACK",t[t.CHANGE_MIME_TYPE=4]="CHANGE_MIME_TYPE"}(a||(a={}));const o={mediaBufferMax:10};class c{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,r.A)(this,"sourceBuffer",void 0),(0,r.A)(this,"operatorQueue",void 0),(0,r.A)(this,"updating",void 0),(0,r.A)(this,"lastRemoveTime",void 0),(0,r.A)(this,"paddingCallback",void 0),(0,r.A)(this,"options",void 0),(0,r.A)(this,"ending",void 0),(0,r.A)(this,"onQuotaExceededError",void 0),(0,r.A)(this,"onEnded",void 0),this.options=s.X$({},o,t),this.operatorQueue=[],this.updating=!1,this.lastRemoveTime=0,this.ending=!1}setSourceBuffer(t){this.sourceBuffer&&(this.sourceBuffer.onupdateend=null,this.sourceBuffer.onerror=null),this.sourceBuffer=t,this.sourceBuffer.onupdateend=()=>{this.paddingCallback&&(this.paddingCallback(),this.paddingCallback=null),this.operatorQueue&&this.operatorQueue.length?this.enqueue():(this.updating=!1,this.ending&&this.onEnded&&this.onEnded())},this.sourceBuffer.onerror=t=>{n.z3(`track update buffer error: ${t}`,"packages/avrender/src/track/Track.ts",112)}}changeMimeType(t,e){this.sourceBuffer&&(this.operatorQueue.push({operator:a.CHANGE_MIME_TYPE,type:t,mode:e}),this.updating||this.enqueue())}enqueue(){if(this.operatorQueue.length){const t=this.operatorQueue.shift();if(t.operator===a.ADD)try{this.sourceBuffer.appendBuffer(t.buffer),this.updating=!0,t.callback&&(this.paddingCallback=t.callback)}catch(e){if(!(e instanceof DOMException&&"QuotaExceededError"===e.name))throw e;this.operatorQueue.unshift(t),this.onQuotaExceededError&&this.onQuotaExceededError(),this.updating=!1}else t.operator===a.REMOVE?(this.sourceBuffer.remove(t.start,t.end),this.updating=!0,t.callback&&(this.paddingCallback=t.callback)):t.operator===a.UPDATE_TIMESTAMP_OFFSET?(this.sourceBuffer.timestampOffset=t.timestampOffset,t.callback&&t.callback(),this.operatorQueue.length?this.enqueue():this.updating=!1):t.operator===a.CALLBACK?(t.callback&&t.callback(),this.operatorQueue.length?this.enqueue():this.updating=!1):t.operator===a.CHANGE_MIME_TYPE&&(this.sourceBuffer.changeType(t.type),this.sourceBuffer.mode=t.mode,this.sourceBuffer.timestampOffset=0)}}addBuffer(t,e){t?(this.operatorQueue.push({operator:a.ADD,buffer:t,callback:e}),this.updating||this.enqueue()):e&&e()}insertEnqueueCallback(t){this.operatorQueue.push({operator:a.CALLBACK,callback:t}),this.updating||this.enqueue()}updateTimestampOffset(t,e){this.operatorQueue.push({operator:a.UPDATE_TIMESTAMP_OFFSET,timestampOffset:t,callback:e}),this.updating||this.enqueue()}removeBuffer(t,e){this.ending||(t=Math.floor(t))-this.lastRemoveTime<this.options.mediaBufferMax<<1||(this.operatorQueue.push({operator:a.REMOVE,start:this.lastRemoveTime,end:t-this.options.mediaBufferMax,callback:e}),this.updating||this.enqueue(),this.lastRemoveTime=t-this.options.mediaBufferMax)}removeAllBuffer(t){this.sourceBuffer.buffered.length?(this.operatorQueue.push({operator:a.REMOVE,start:this.sourceBuffer.buffered.start(0),end:this.sourceBuffer.buffered.end(this.sourceBuffer.buffered.length-1),callback:t}),this.updating||this.enqueue()):t&&t()}end(){this.ending=!0,this.updating||this.operatorQueue.length||this.onEnded&&this.onEnded()}stop(){if(this.sourceBuffer){try{this.sourceBuffer.abort(),this.updating=!1}catch(t){}try{this.sourceBuffer.buffered.length&&(this.updating?this.operatorQueue.push({operator:a.REMOVE,start:this.sourceBuffer.buffered.start(0),end:this.sourceBuffer.buffered.end(this.sourceBuffer.buffered.length-1)}):(this.sourceBuffer.remove(this.sourceBuffer.buffered.start(0),this.sourceBuffer.buffered.end(this.sourceBuffer.buffered.length-1)),this.updating=!0)),this.paddingCallback&&(this.paddingCallback(),this.paddingCallback=null)}catch(t){}}}reset(){this.stop(),this.operatorQueue.length=0,this.ending=!1}isPaused(){return!this.updating&&this.operatorQueue.length}getQueueLength(){return this.operatorQueue.length}getBufferedTime(){return this.sourceBuffer&&this.sourceBuffer.buffered.length?this.sourceBuffer.buffered.end(this.sourceBuffer.buffered.length-1)-this.sourceBuffer.buffered.start(0):0}getBufferedStart(){return this.sourceBuffer&&this.sourceBuffer.buffered.length?this.sourceBuffer.buffered.start(0):0}getBufferedEnd(){return this.sourceBuffer&&this.sourceBuffer.buffered.length?this.sourceBuffer.buffered.end(this.sourceBuffer.buffered.length-1):0}getBufferedDuration(t){if(this.sourceBuffer&&this.sourceBuffer.buffered.length){let e=0;try{for(let i=0;i<this.sourceBuffer.buffered.length;i++){const a=Math.max(t,this.sourceBuffer.buffered.start(i));e+=Math.max(t,this.sourceBuffer.buffered.end(i))-a}}catch(t){}return e}return 0}getSourceBuffer(){return this.sourceBuffer}setMediaBufferMax(t){this.options.mediaBufferMax=t}getMediaBufferMax(){return this.options.mediaBufferMax}destroy(){this.stop(),this.operatorQueue=null,this.sourceBuffer&&(this.sourceBuffer.onupdateend=this.sourceBuffer.onerror=null,this.sourceBuffer=null)}}},21279:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(19371),r=i(4068);class s{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1048576,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;if((0,a.A)(this,"data",void 0),(0,a.A)(this,"buffer",void 0),(0,a.A)(this,"pointer",void 0),(0,a.A)(this,"pos",void 0),(0,a.A)(this,"size",void 0),(0,a.A)(this,"littleEndian",void 0),(0,a.A)(this,"error",void 0),(0,a.A)(this,"onFlush",void 0),(0,a.A)(this,"onSeek",void 0),this.pointer=0,this.pos=BigInt(0),this.size=t,this.littleEndian=!e,this.error=0,i&&i.view)this.size=i.length,this.buffer=i,this.data=i.view;else if(i&&!i.byteOffset)this.size=i.length,this.buffer=i,this.data=new DataView(this.buffer.buffer);else{if(i)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 e=(16711680&t)>>16,i=(65280&t)>>8,a=255&t;this.littleEndian?(this.writeUint8(a),this.writeUint8(i),this.writeUint8(e)):(this.writeUint8(e),this.writeUint8(i),this.writeUint8(a))}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 e=t.length;if(this.remainingLength()<e){let i=0;for(;e>0;){this.flush();const a=Math.min(this.size,e);this.buffer.set(t.subarray(i,i+a),this.pointer),this.pointer+=a,this.pos+=BigInt(a),i+=a,e-=a}}else this.buffer.set(t,this.pointer),this.pointer+=e,this.pos+=BigInt(e)}writeString(t){const e=r.encode(t);return this.writeBuffer(e),e.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 e=this.onFlush(this.buffer.subarray(0,this.pointer),t);if(0!==e)throw this.error=e,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 e=this.onSeek(t);if(0!==e)throw this.error=e,Error("IOWriter error, seek failed");this.pos=t}seekInline(t){const e=this.pointer;this.pointer=Math.max(0,Math.min(this.size,t)),this.pos+=BigInt(this.pointer-e)}skip(t){const e=this.pointer;this.pointer=Math.min(this.size,this.pointer+t),this.pos+=BigInt(this.pointer-e)}back(t){const e=this.pointer;this.pointer=Math.max(0,this.pointer-t),this.pos+=BigInt(this.pointer-e)}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}}},61738:(t,e,i)=>{i.d(e,{A:()=>s});var a=i(19371),r=i(33134);class s{constructor(){(0,a.A)(this,"queue",void 0),(0,a.A)(this,"pos",void 0),(0,a.A)(this,"startPos",void 0),(0,a.A)(this,"endPos",void 0),(0,a.A)(this,"index",void 0),(0,a.A)(this,"offset",void 0),this.queue=[],this.startPos=BigInt(0),this.endPos=BigInt(0),this.pos=BigInt(0)}write(t){if(this.pos===this.endPos)this.queue.push(t),this.endPos+=BigInt(t.length),this.pos+=BigInt(t.length);else if(t.length<this.queue[this.index].length-this.offset)this.queue[this.index].set(t,this.offset),this.offset+=t.length,this.pos+=BigInt(t.length),this.offset===this.queue[this.index].length&&(this.index++,this.offset=0),this.index===this.queue.length&&(this.index=-1,this.offset=-1,this.pos=this.endPos);else{let e=0;for(;e<t.length;){const i=Math.min(this.queue[this.index].length-this.offset,t.length-e);if(this.queue[this.index].set(t.subarray(e,e+i),this.offset),e+=i,this.offset+=i,this.pos+=BigInt(i),this.offset===this.queue[this.index].length){if(this.index+1===this.queue.length){if(e<t.length){const i=t.subarray(t.length-e);this.queue.push(i),this.endPos+=BigInt(i.length)}this.pos=this.endPos,this.index=-1,this.offset=-1;break}this.index++,this.offset=0}}}}seek(t){if(t<this.startPos||t>this.endPos)return!1;this.pos=t,this.index=-1,this.offset=-1;let e=this.startPos;for(let i=0;i<this.queue.length;i++){if(t<=e+BigInt(this.queue[i].length)){this.index=i,this.offset=Number(t-e);break}e+=BigInt(this.queue[i].length)}return this.index<0&&(this.pos=this.endPos),!0}flush(){this.startPos=this.endPos,this.pos=this.endPos,this.index=-1,this.offset=-1;const t=(0,r.A)(Uint8Array,this.queue);return this.queue.length=0,t}get size(){return this.queue.length}}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[473],{59829:(e,t,i)=>{i.d(t,{A:()=>o});var a=i(19371),r=i(42524),s=i(31184),n=i(62787);class o{constructor(){(0,a.A)(this,"inCodecpar",void 0),(0,a.A)(this,"inTimeBase",void 0),(0,a.A)(this,"outCodecpar",void 0)}init(e,t){return this.inCodecpar=(0,s.Gy)(168),(0,n.Yi)(this.inCodecpar,e),this.inTimeBase={den:r.f[15](t+4),num:r.f[15](t)},0}destroy(){this.inCodecpar&&((0,n.dn)(this.inCodecpar),this.inCodecpar=0)}}},70517:(e,t,i)=>{i.d(t,{A:()=>b});var a=i(19371),r=i(42524),s=i(77389),n=i(36271),o=i(75589),h=i(59829),d=i(41863),c=i(81819),f=i(87339),l=i(5043),p=i(91278),u=i(47378),g=i(30027),m=i(31184),w=i(1818),k=i(54829);class b extends h.A{constructor(){super(...arguments),(0,a.A)(this,"bitReader",void 0),(0,a.A)(this,"streamMuxConfig",void 0),(0,a.A)(this,"caches",void 0),(0,a.A)(this,"refSampleDuration",void 0)}init(e,t){return super.init(e,t),this.caches=[],this.refSampleDuration=BigInt(0),this.bitReader=new l.A,this.streamMuxConfig={profile:p.N_,sampleRate:p.N_,channels:p.N_},0}sendAVPacket(e){const t=(0,d.s3)(r.f[20](e+24),r.f[15](e+28));this.bitReader.appendBuffer(t);let i=r.f[17](e+16)!==p.Dh?r.f[17](e+16):r.f[17](e+8);for(;this.bitReader.remainingLength()>=20;){const t=this.bitReader.getPointer(),a=k.f7(null,this.bitReader);if(c.ai(a)){let e=!1;for(;this.bitReader.remainingLength()>=20;){if(695===this.bitReader.peekU(11)){e=!0;break}this.bitReader.readU1()}if(e)continue;return f.z3("AACLATMParser parse failed","packages/avformat/src/bsf/aac/LATM2RawFilter.ts",129),this.bitReader.reset(),u.LR}if(a.framePayloadLength>=this.bitReader.remainingLength()){this.bitReader.skipPadding(),this.bitReader.setPointer(t);break}a.useSameStreamMux||(this.streamMuxConfig.profile=a.profile,this.streamMuxConfig.sampleRate=a.sampleRate,this.streamMuxConfig.channels=a.channels);const h=a.framePayloadLength,l=new Uint8Array(h);for(let e=0;e<h;e++)l[e]=this.bitReader.readU(8);const w={dts:i,buffer:l,extradata:null,pos:r.f[17](e+56)};if(r.f[15](this.inCodecpar+48)!==this.streamMuxConfig.profile||r.f[15](this.inCodecpar+136)!==this.streamMuxConfig.sampleRate||r.f[15](this.inCodecpar+116)!==this.streamMuxConfig.channels){this.refSampleDuration=(0,g.k)(BigInt(Math.floor(1024/this.streamMuxConfig.sampleRate*p.SF)),p.KR,this.inTimeBase),s.M[15](this.inCodecpar+48,this.streamMuxConfig.profile),s.M[15](this.inCodecpar+136,this.streamMuxConfig.sampleRate),s.M[15](this.inCodecpar+116,this.streamMuxConfig.channels);const e=k.Ij((0,o.A)(this.inCodecpar,n.A));r.f[20](this.inCodecpar+12)&&(0,m.Eb)(r.f[20](this.inCodecpar+12)),s.M[20](this.inCodecpar+12,(0,m.sY)(e.length)),(0,d.lW)(r.f[20](this.inCodecpar+12),e.length,e),s.M[15](this.inCodecpar+16,e.length),w.extradata=e}this.caches.push(w),i+=this.refSampleDuration,this.bitReader.skipPadding()}return 0}receiveAVPacket(e){if(this.caches.length){(0,w.Up)(e);const t=this.caches.shift(),i=(0,m.sY)(t.buffer.length);if((0,d.lW)(i,t.buffer.length,t.buffer),(0,w.NX)(e,i,t.buffer.length),s.M[17](e+16,t.dts),s.M[17](e+8,t.dts),s.M[17](e+56,t.pos),s.M[15](e+36,1|r.f[15](e+36)),s.M[17](e+48,this.refSampleDuration),t.extradata){const i=(0,m.sY)(t.extradata.length);(0,d.lW)(i,t.extradata.length,t.extradata),(0,w.Ow)(e,1,i,t.extradata.length)}return 0}return u.LT}reset(){return this.bitReader.reset(),this.caches.length=0,0}}},37607:(e,t,i)=>{i.r(t),i.d(t,{default:()=>U});var a=i(19371),r=i(75354),s=i(42524),n=i(77389),o=i(6072),h=i(70517),d=i(76919),c=i(41863),f=i(91278),l=i(31184),p=i(47378),u=i(30027),g=i(1818),m=i(54829),w=i(81819),k=i(33134),b=i(87339),R=i(17630),B=i(5043);const I="packages/avformat/src/formats/IAacFormat.ts",P=1024;class U extends o.A{constructor(){super(),(0,a.A)(this,"type",15),(0,a.A)(this,"frameType",void 0),(0,a.A)(this,"fileSize",void 0),(0,a.A)(this,"currentPts",void 0),(0,a.A)(this,"latmFilter",void 0),(0,a.A)(this,"encodeSampleRate",void 0),(0,a.A)(this,"currentPos",void 0),(0,a.A)(this,"pendingData",void 0),(0,a.A)(this,"firstFramePos",void 0),(0,a.A)(this,"pendingPos",void 0),(0,a.A)(this,"streamMuxConfig",void 0)}init(e){this.currentPts=BigInt(0),this.currentPos=BigInt(0),this.firstFramePos=BigInt(0),this.streamMuxConfig={profile:f.N_,sampleRate:f.N_,channels:f.N_}}async destroy(e){this.latmFilter&&(this.latmFilter.destroy(),this.latmFilter=null)}async estimateTotalBlock(e){let t=0;const i=e.ioReader.getPos();for(;;)try{const i=await e.ioReader.peekBuffer(7),a=(3&i[3])<<11|i[4]<<3|(224&i[5])>>>5;t+=1+(3&i[6]),await e.ioReader.skip(a)}catch(e){break}return await e.ioReader.seek(i),t}async parseTransportStreamTimestamp(e){if("ID3"===await e.ioReader.peekString(3)){await e.ioReader.skip(3);const t={version:await e.ioReader.readUint8(),revision:await e.ioReader.readUint8(),flags:await e.ioReader.readUint8()},i={},a=(127&await e.ioReader.readUint8())<<21|(127&await e.ioReader.readUint8())<<14|(127&await e.ioReader.readUint8())<<7|127&await e.ioReader.readUint8();if(await d.qg(e.ioReader,a,t,i),w.o(i["com.apple.streaming.transportStreamTimestamp"]))return i["com.apple.streaming.transportStreamTimestamp"]}}async readHeader(e){let t;2&e.ioReader.flags&&(t=await this.parseTransportStreamTimestamp(e));const i=await e.ioReader.peekBuffer(4);if(this.fileSize=await e.ioReader.fileSize(),65===i[0]&&68===i[1]&&73===i[2]&&70===i[3]){const t=e.createStream();t.codecpar.codecId=86018,t.codecpar.codecType=1,this.frameType=0,t.duration=this.fileSize;const i=new B.A;i.appendBuffer(await e.ioReader.readBuffer(Math.min(20,Number(this.fileSize)))),i.skip(32),i.readU1()&&i.skip(72),i.skip(1),i.skip(1),i.skip(1);const a=i.readU(23);t.timeBase.den=16384,t.timeBase.num=1,a&&(t.timeBase.den=a);const r=i.readU(4);e.ioReader.getPos()<this.fileSize&&i.appendBuffer(await e.ioReader.readBuffer(Math.min(312*r,Number(this.fileSize-e.ioReader.getPos()))));for(let e=0;e<r;e++){i.readU(4);const a=i.readU(2),r=i.readU(4),s=i.readU(4),n=i.readU(4),o=i.readU(4),h=i.readU(2),d=i.readU(3),f=i.readU(4);i.readU1()&&i.skip(4),i.readU1()&&i.skip(4),i.readU1()&&i.skip(3);let p=h;for(e=0;e<s;e++)p+=i.readU1()?2:1,i.skip(4);for(e=0;e<n;e++)p+=i.readU1()?2:1,i.skip(4);for(e=0;e<o;e++)p+=i.readU1()?2:1,i.skip(4);for(e=0;e<h;e++)i.skip(4);for(e=0;e<d;e++)i.skip(4);for(e=0;e<f;e++)i.skip(5);i.skipPadding();const u=i.readU(8);if(u&&i.skip(8*u),!e){t.codecpar.profile=a,t.codecpar.chLayout.nbChannels=p,t.codecpar.sampleRate=m.hY[r];const e=m.Ij(t.codecpar);t.codecpar.extradata=(0,l.sY)(e.length),(0,c.lW)(t.codecpar.extradata,e.length,e),t.codecpar.extradataSize=e.length}}i.skipPadding(),this.firstFramePos=i.getPos(),i.remainingLength()&&(this.pendingData=i.getBuffer().slice(i.getPointer()),this.pendingPos=this.firstFramePos)}else if(255!==i[0]||240&~i[1]){if(86!==i[0]||224&~i[1])return p.LR;{this.frameType=2;const t=e.createStream();t.codecpar.codecId=86018,t.codecpar.codecType=1;const i=m.f7(await e.ioReader.peekBuffer(20));if(w.ai(i))return p.LR;t.codecpar.profile=i.profile,t.codecpar.sampleRate=i.sampleRate,t.codecpar.chLayout.nbChannels=i.channels;const a=m.Ij(t.codecpar);t.codecpar.extradata=(0,l.sY)(a.length),(0,c.lW)(t.codecpar.extradata,a.length,a),t.codecpar.extradataSize=a.length,t.duration=f.Dh,t.timeBase.den=i.sampleRate,t.timeBase.num=1,this.latmFilter=new h.A,this.latmFilter.init(t.codecpar[r.o9],t.timeBase[r.o9])}}else{this.frameType=1;const i=e.createStream();i.codecpar.codecId=86018,i.codecpar.codecType=1;const a=m.Bq(await e.ioReader.peekBuffer(20));if(w.ai(a))return p.LR;this.encodeSampleRate=a.sampleRate,i.codecpar.profile=a.profile,i.codecpar.sampleRate=a.sampleRate,i.codecpar.chLayout.nbChannels=a.channels;const r=m.Ij(i.codecpar);i.codecpar.extradata=(0,l.sY)(r.length),(0,c.lW)(i.codecpar.extradata,r.length,r),i.codecpar.extradataSize=r.length,i.timeBase.den=i.codecpar.sampleRate,i.timeBase.num=1,this.streamMuxConfig.profile=a.profile,this.streamMuxConfig.sampleRate=a.sampleRate,this.streamMuxConfig.channels=a.channels,2&e.ioReader.flags?w.o(t)&&(this.currentPts=(0,u.k)(t,{num:1,den:9e4},i.timeBase)):i.duration=(0,u.k)(BigInt(Math.floor(1024*await this.estimateTotalBlock(e)/this.encodeSampleRate*f.SF)),f.KR,i.timeBase)}return 0}async readAVPacket(e,t){const i=e.streams.find((e=>e.codecpar.codecType=1));try{if(2&e.ioReader.flags){let t=await this.parseTransportStreamTimestamp(e);w.o(t)&&(this.currentPts=(0,u.k)(t,{num:1,den:9e4},i.timeBase))}let a,r=e.ioReader.getPos();if(0===this.frameType){let i=P;if(this.pendingData&&(r=this.pendingPos,a=this.pendingData.subarray(0,i),i-=a.length,a.length<this.pendingData.length?(this.pendingData=this.pendingData.subarray(a.length),this.pendingPos+=BigInt(a.length)):this.pendingData=null),i){const t=Math.min(i,Number(BigInt.asIntN(32,this.fileSize-r))),s=t?await e.ioReader.readBuffer(t):void 0;a&&s?a=(0,k.A)(Uint8Array,[a,s]):s&&(a=s)}if(!a)return-1048576;const s=(0,l.sY)(a.length);(0,c.lW)(s,a.length,a),(0,g.NX)(t,s,a.length),n.M[17](t+48,BigInt(P)),n.M[17](t+56,r)}else if(1===this.frameType){const s=await e.ioReader.readBuffer(7),o=1&s[1],h=1+((192&s[2])>>>6),d=(60&s[2])>>>2,p=(1&s[2])<<2|(192&s[3])>>>6,w=m.hY[d],k=m.En[p];if(this.streamMuxConfig.profile!==h||this.streamMuxConfig.sampleRate!==w||this.streamMuxConfig.channels!==k){this.streamMuxConfig.profile=h,this.streamMuxConfig.sampleRate=w,this.streamMuxConfig.channels=k;const e=m.Ij({profile:h,sampleRate:w,chLayout:{nbChannels:k}}),i=(0,l.sY)(e.length);(0,c.lW)(i,e.length,e),(0,g.Ow)(t,1,i,e.length)}const b=(3&s[3])<<11|s[4]<<3|(224&s[5])>>>5,R=3&s[6];let B=1===o?7:9,I=b-B;9===B&&await e.ioReader.skip(2);const P=(0,u.k)(BigInt(Math.floor(1024*(R+1)/this.encodeSampleRate*f.SF)),f.KR,i.timeBase);n.M[17](t+48,P),a=await e.ioReader.readBuffer(I);const U=(0,l.sY)(a.length);(0,c.lW)(U,a.length,a),(0,g.NX)(t,U,a.length),n.M[17](t+56,r)}else if(2===this.frameType){if(r===this.fileSize)return-1048576;for(;;){let i=this.latmFilter.receiveAVPacket(t);if(i!==p.LT){if(i<0)return i;n.M[17](t+48,BigInt(1024)),n.M[17](t+56,this.currentPos),this.currentPos+=BigInt(0|s.f[15](t+28));break}{if(e.ioReader.getPos()===this.fileSize)return-1048576;n.M[17](t+56,e.ioReader.getPos()),a=await e.ioReader.readBuffer(Math.min(P,Number(BigInt.asIntN(32,this.fileSize-r))));const i=(0,l.sY)(a.length);(0,c.lW)(i,a.length,a),(0,g.NX)(t,i,a.length),this.latmFilter.sendAVPacket(t)}}}return n.M[15](t+32,i.index),n.M[15](t+76,i.timeBase.den),n.M[15](t+72,i.timeBase.num),n.M[17](t+16,this.currentPts),n.M[17](t+8,this.currentPts),n.M[15](t+36,1|s.f[15](t+36)),this.currentPts+=s.f[17](t+48),0}catch(t){return-1048576!==e.ioReader.error&&-1048572!==e.ioReader.error?(b.z3(`read packet error, ${t}`,I,527),p.LR):e.ioReader.error}}async syncFrame(e){if(0===this.frameType)return;let t=f.Dh;const i=1===this.frameType?4095:695,a=1===this.frameType?4:5;for(;;)try{let r=0;for(t=e.ioReader.getPos();3!==r&&await e.ioReader.peekUint16()>>>a===i;){const t=1===this.frameType?m.Bq(await e.ioReader.peekBuffer(9)):m.f7(await e.ioReader.peekBuffer(20));if(w.ai(t))break;r++,await e.ioReader.skip(t.headerLength+t.framePayloadLength)}if(3===r)break;await e.ioReader.skip(1)}catch(e){break}t!==f.Dh&&await e.ioReader.seek(t)}async seek(e,t,i,a){if(16&a&&2&e.ioReader.flags){const a=(0,u.k)(i,t.timeBase,f.i0);return await e.ioReader.seek(a,!0),this.currentPts=i,BigInt(0)}if(1===this.frameType||2===this.frameType){const r=e.ioReader.getPos();if(2&a){const s=await e.ioReader.fileSize();return s<=BigInt(0)?BigInt(p.E$):(i<BigInt(0)?i=BigInt(0):i>s&&(i=s),await e.ioReader.seek(i),4&a||(await this.syncFrame(e),t.duration&&this.fileSize&&(this.currentPts=i/this.fileSize*t.duration)),r)}if(t&&t.sampleIndexes.length){let a=R.El(t.sampleIndexes,(e=>e.pts>i?-1:1));if(a>0&&(0,u.k)(i-t.sampleIndexes[a-1].pts,t.timeBase,f.i0)<BigInt(5e3))return b.Yz(`seek in sampleIndexes, found index: ${a}, pts: ${t.sampleIndexes[a-1].pts}, pos: ${t.sampleIndexes[a-1].pos}`,I,635),await e.ioReader.seek(t.sampleIndexes[a-1].pos),this.currentPts=i,r}if(2===this.frameType)return BigInt(p.E$);if(b.Yz("not found any keyframe index, try to seek in bytes",I,646),!t.duration)return BigInt(p.E$);{await e.ioReader.seek(BigInt(0));let a=BigInt(0);for(;;)try{if(a>=i)return this.currentPts=a,r;const s=await e.ioReader.peekBuffer(7),n=(3&s[3])<<11|s[4]<<3|(224&s[5])>>>5,o=3&s[6];a+=(0,u.k)(BigInt(Math.floor(1024*(o+1)/this.encodeSampleRate*f.SF)),f.KR,t.timeBase),await e.ioReader.skip(n)}catch(e){return BigInt(p.E$)}}}else if(0===this.frameType){this.latmFilter&&this.latmFilter.reset();const t=e.ioReader.getPos();return i<=BigInt(0)?i=this.firstFramePos:i>this.fileSize&&(i=this.fileSize),await e.ioReader.seek(i),this.currentPts=i,t}return BigInt(p.E$)}getAnalyzeStreamsCount(){return 1}}},6072:(e,t,i)=>{i.d(t,{A:()=>r});var a=i(19371);class r{constructor(){(0,a.A)(this,"type",-1),(0,a.A)(this,"onStreamAdd",void 0)}async destroy(e){}}},76919:(e,t,i)=>{i.d(t,{In:()=>p,fz:()=>u,hm:()=>b,qg:()=>k});var a=i(42524),r=i(77389),s=i(41863),n=i(1818),o=i(31184),h=i(87339),d=i(4068),c=i(17630),f=i(54570);const l="packages/avformat/src/formats/mp3/id3v2.ts",p={JPG:7,PNG:61,"image/gif":97,"image/jpeg":7,"image/jpg":7,"image/png":61,"image/tiff":96,"image/bmp":78,"image/webp":171},u=["Other","32x32 pixels 'file icon'","Other file icon","Cover (front)","Cover (back)","Leaflet page","Media (e.g. label side of CD)","Lead artist/lead performer/soloist","Artist/performer","Conductor","Band/Orchestra","Composer","Lyricist/text writer","Recording Location","During recording","During performance","Movie/video screen capture","A bright coloured fish","Illustration","Band/artist logotype","Publisher/Studio logotype"];function g(e,t){let i="utf-8";return 0===e?i="iso-8859-1":1===e?i="utf-16":2===e&&(i="utf-16be"),new TextDecoder(i).decode(t)}function m(e){return(127&e)+((32512&e)>>1)+((8323072&e)>>2)+((2130706432&e)>>3)}async function w(e,t){await e.seek(t);const i=await e.readString(4);return/^[A-Z0-9]+$/.test(i)}async function k(e,t,i,a){const r=2!==i.version,s=r?10:6;let n=e.getPos()+BigInt(0|t);async function o(){await e.skip(Number(BigInt.asIntN(32,n-e.getPos())))}if(r&&64&i.flags){let a=await async function(e,t){let i=0;for(;t--;)i=(i<<7)+(127&await e.readUint8());return i}(e,4);if(4===i.version&&(a-=4),a<0)return h.z3("invalid extended header length",l,149),await o();if(await e.skip(a),(t-=a+4)<0)return h.z3("extended header too long",l,155),await o()}for(;t>s;){let n,o;if(r){if(n=await e.readString(4),o=await e.readUint32(),!o){h.z3("invalid frame size",l,168);break}if(4===i.version&&o>127)if(o<t){await e.flush();const t=e.getPos();if(!(1&e.flags||6+o<e.remainingLength()))break;if(await w(e,t+BigInt(2)+BigInt(m(o))))o=m(o);else if(!await w(e,t+BigInt(2)+BigInt(o)))break;await e.seek(t)}else o=m(o);await e.readUint16()}else n=await e.readString(3),o=await e.readUint24();if("APIC"===n)a.apic||(a.apic=[]),a.apic.push(await e.readBuffer(o));else if("USLT"===n){const t=await e.readUint8(),i=await e.readString(3),r=await e.readBuffer(o-4);a.lyrics=`${i} ${g(t,r)}`}else if("COMM"===n||"COM"===n){const t=await e.readUint8(),i=await e.readString(3),r=await e.readBuffer(o-4);a.comment=`${i} ${g(t,r)}`}else if("PRIV"===n){const t=e.getPos(),i=[];for(;;){const t=await e.readUint8();if(0===t)break;i.push(t)}const r=d.decode(new Uint8Array(i));let s;s="com.apple.streaming.transportStreamTimestamp"===r?await e.readUint64():await e.readBuffer(o-Number(e.getPos()-t)),a[r]=s}else{let t;switch(t="T"===n[0]?g(await e.readUint8(),await e.readBuffer(o-1)):await e.readBuffer(o),n){case"TIT2":case"TT2":a.title=t;break;case"TPE1":case"TP1":a.artist=t;break;case"TPE2":case"TP2":a.albumArtist=t;break;case"TPOS":a.disc=t;break;case"TCOP":a.copyright=t;break;case"TALB":case"TAL":a.album=t;break;case"TRCK":case"TRK":a.track=t;break;case"TYER":case"TDRL":case"TDRC":a.date=t;break;case"COMM":case"COM":a.comment=t;break;case"TCON":case"TCO":a.genre=t;break;case"TSSE":case"TEN":a.encoder=t;break;case"TCOM":a.composer=t;break;case"TENC":a.vendor=t;break;case"TLAN":a.language=t;break;case"TPE3":case"TP3":a.performer=t;break;case"TPUB":a.publisher=t;break;case"TCMP":case"TCP":a.compilation=t;break;case"TDEN":a.creationTime=t;break;case"TSOA":a.albumSort=t;break;case"TSOP":a.artistSort=t;break;case"TSOT":a.titleSort=t;break;case"TIT1":a.grouping=t;break;default:a[n]=t}}t-=o+s}4==i.version&&16&i.flags&&(n+=BigInt(10)),await e.skip(Number(BigInt.asIntN(32,n-e.getPos())))}function b(e,t,i){const h=2!==i.version;t.forEach((t=>{const i=new f.A(t),d=i.readUint8();let l;function m(){let e=Number(i.getPos());for(;e<t.length&&t[e];)e++;return e}if(h?(l=i.readString(m()-Number(i.getPos())),i.skip(1)):l=i.readString(3),!p[l])return;const w=i.readUint8();let k;const b=m()-Number(i.getPos());b&&(k=g(d,i.readBuffer(b))),i.skip(1);const R=e.createStream();R.codecpar.codecId=p[l],R.codecpar.codecType=0,R.disposition|=1024,R.attachedPic=(0,n._5)(),r.M[15](R.attachedPic+32,R.index);const B=i.remainingSize(),I=(0,o.sY)(B),P=i.readBuffer(B);(0,s.lW)(I,B,P),P.length>=8&&c.FB(P.subarray(0,8),new Uint8Array([137,80,78,71,13,10,26,10]))&&(R.codecpar.codecId=61),(0,n.NX)(R.attachedPic,I,B),r.M[15](R.attachedPic+36,1|a.f[15](R.attachedPic+36)),R.metadata.comment=u[w],k&&(R.metadata.title=k)}))}},54829:(e,t,i)=>{i.d(t,{Bq:()=>f,En:()=>h,Ij:()=>c,XC:()=>d,f7:()=>l,hY:()=>o,uF:()=>s});var a=i(91278),r=i(5043);const s={1:"Main",2:"LC",3:"SSR",4:"LTP",5:"HE",6:"SCALABLE",29:"HEv2",23:"LD",39:"ELD"},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,a.N_,a.N_,a.N_],h=[a.N_,1,2,3,4,5,6,7];function d(e,t){if(!t&&e.sideData[1]&&(t=e.sideData[1]),t){const{profile:i,sampleRate:r,channels:s}=function(e){let t=a.N_,i=a.N_,r=a.N_;return e.length>=2&&(t=e[0]>>3&31,i=o[(7&e[0])<<1|e[1]>>7],r=h[e[1]>>3&15]),{profile:t,sampleRate:i,channels:r}}(t);e.codecpar.profile=i,e.codecpar.sampleRate=r,e.codecpar.chLayout.nbChannels=s,e.codecpar.frameSize=5===i?2048:1024,e.codecpar.format=8}}function c(e){const t=n[e.sampleRate],i=e.chLayout.nbChannels,r=e.profile===a.N_?2:e.profile,s=new Uint8Array(2);return s[0]=(31&r)<<3|(14&t)>>1,s[1]=(1&t)<<7|(15&i)<<3,s}function f(e){if(e.length<7)return-1;const t=e[0]<<4|e[1]>>4;if(4095!==t)return-1;const i=1&e[1],a=(192&e[2])>>>6,r=(60&e[2])>>>2,s=(1&e[2])<<2|(192&e[3])>>>6,n=(3&e[3])<<11|e[4]<<3|(224&e[5])>>>5,d=3&e[6];let c=1===i?7:9,f=n-c;return{syncWord:t,profile:a+1,sampleRate:o[r],channels:h[s],aacFrameLength:n,numberOfRawDataBlocksInFrame:d,headerLength:c,framePayloadLength:f}}function l(e,t){function i(){const e=t.readU(2);let i=0;for(let a=0;a<=e;a++)i<<=8,i|=t.readU(8);return i}t||(t=new r.A).appendBuffer(e);const a=t.getPointer(),s={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;s.syncWord=n,s.muxLengthBytes=t.readU(13);const d=1===t.readU1();if(s.useSameStreamMux=d,!d){const e=1===t.readU1();if(e&&1===t.readU1())return-1;if(e&&i(),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 a=e?i():0;const r=t.readU(5);a-=5;const n=t.readU(4);a-=4;const d=t.readU(4);if(a-=4,t.readU(3),a-=3,a>0&&t.readU(a),0!==t.readU(3))return-1;if(t.readU(8),1===t.readU1())if(e)i();else{let e=0;for(;;){e<<=8;const i=1===t.readU1();if(e+=t.readU(8),!i)break}}1===t.readU1()&&t.readU(8),s.profile=r+1,s.sampleRate=o[n],s.channels=h[d]}let c=0;for(;;){const e=t.readU(8);if(c+=e,255!==e)break}return s.framePayloadLength=c,s.headerLength=t.getPointer()-a+(8===t.getBitLeft()?0:1),s}},21279:(e,t,i)=>{i.d(t,{A:()=>s});var a=i(19371),r=i(4068);class s{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1048576,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2?arguments[2]:void 0;if((0,a.A)(this,"data",void 0),(0,a.A)(this,"buffer",void 0),(0,a.A)(this,"pointer",void 0),(0,a.A)(this,"pos",void 0),(0,a.A)(this,"size",void 0),(0,a.A)(this,"littleEndian",void 0),(0,a.A)(this,"error",void 0),(0,a.A)(this,"onFlush",void 0),(0,a.A)(this,"onSeek",void 0),this.pointer=0,this.pos=BigInt(0),this.size=e,this.littleEndian=!t,this.error=0,i&&i.view)this.size=i.length,this.buffer=i,this.data=i.view;else if(i&&!i.byteOffset)this.size=i.length,this.buffer=i,this.data=new DataView(this.buffer.buffer);else{if(i)throw new Error("not support subarray of ArrayBuffer");this.buffer=new Uint8Array(this.size),this.data=new DataView(this.buffer.buffer)}}writeUint8(e){this.remainingLength()<1&&this.flush(),this.data.setUint8(this.pointer,e),this.pointer++,this.pos++}writeUint16(e){this.remainingLength()<2&&this.flush(),this.data.setUint16(this.pointer,e,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}writeUint24(e){this.remainingLength()<3&&this.flush();const t=(16711680&e)>>16,i=(65280&e)>>8,a=255&e;this.littleEndian?(this.writeUint8(a),this.writeUint8(i),this.writeUint8(t)):(this.writeUint8(t),this.writeUint8(i),this.writeUint8(a))}writeUint32(e){this.remainingLength()<4&&this.flush(),this.data.setUint32(this.pointer,e,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeUint64(e){this.remainingLength()<8&&this.flush(),this.data.setBigUint64(this.pointer,e,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}writeInt8(e){this.remainingLength()<1&&this.flush(),this.data.setInt8(this.pointer,e),this.pointer++,this.pos++}writeInt16(e){this.remainingLength()<2&&this.flush(),this.data.setInt16(this.pointer,e,this.littleEndian),this.pointer+=2,this.pos+=BigInt(2)}writeInt24(e){this.writeUint24(e<0?e+16777216:e)}writeInt32(e){this.remainingLength()<4&&this.flush(),this.data.setInt32(this.pointer,e,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeInt64(e){this.remainingLength()<8&&this.flush(),this.data.setBigInt64(this.pointer,e,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}writeFloat(e){this.remainingLength()<4&&this.flush(),this.data.setFloat32(this.pointer,e,this.littleEndian),this.pointer+=4,this.pos+=BigInt(4)}writeDouble(e){this.remainingLength()<8&&this.flush(),this.data.setFloat64(this.pointer,e,this.littleEndian),this.pointer+=8,this.pos+=BigInt(8)}getPointer(){return this.pointer}getPos(){return this.pos}remainingLength(){return this.size-this.pointer}writeBuffer(e){if(!e.length)return;let t=e.length;if(this.remainingLength()<t){let i=0;for(;t>0;){this.flush();const a=Math.min(this.size,t);this.buffer.set(e.subarray(i,i+a),this.pointer),this.pointer+=a,this.pos+=BigInt(a),i+=a,t-=a}}else this.buffer.set(e,this.pointer),this.pointer+=t,this.pos+=BigInt(t)}writeString(e){const t=r.encode(e);return this.writeBuffer(t),t.length}flush(){if(!this.onFlush)throw this.error=-1048574,Error("IOWriter error, flush failed because of no flush callback");if(this.pointer){const e=this.onFlush(this.buffer.subarray(0,this.pointer));if(0!==e)throw this.error=e,Error("IOWriter error, flush failed")}this.pointer=0}flushToPos(e){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),e);if(0!==t)throw this.error=t,Error("IOWriter error, flush failed")}this.pointer=0}seek(e){if(!this.onSeek)throw this.error=-1048574,Error("IOWriter error, seek failed because of no seek callback");this.flush();const t=this.onSeek(e);if(0!==t)throw this.error=t,Error("IOWriter error, seek failed");this.pos=e}seekInline(e){const t=this.pointer;this.pointer=Math.max(0,Math.min(this.size,e)),this.pos+=BigInt(this.pointer-t)}skip(e){const t=this.pointer;this.pointer=Math.min(this.size,this.pointer+e),this.pos+=BigInt(this.pointer-t)}back(e){const t=this.pointer;this.pointer=Math.max(0,this.pointer-e),this.pos+=BigInt(this.pointer-t)}getBuffer(){return this.buffer.subarray(0,this.pointer)}setEndian(e){this.littleEndian=!e}reset(){this.pointer=0,this.pos=BigInt(0),this.error=0}getBufferSize(){return this.size}}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[475],{28034:(t,i,e)=>{e.d(i,{A:()=>r});var s=e(19371);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)}}},35206:(t,i,e)=>{e.d(i,{A:()=>f});var s=e(19371),r=e(38568),n=e(44109),a=e(47378),h=e(87339),o=e(33134),l=e(21279);class f{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 n.$x(t,s),o=await n.$x(t,s);this[r]=o,s>t.getPos()&&await t.skip(Number(BigInt.asIntN(32,s-t.getPos())));const l=Number(t.getPos()-e),f=await t.readUint32();return l+11!==f?(h.R8(`script size not match, size: ${l+11}, previousTagSize: ${f}`,"packages/avformat/src/formats/flv/FlvScriptTag.ts",60),a.LR):0}computeSize(){const t=[],i=new l.A;return i.onFlush=i=>(t.push(i.slice()),0),n.bD(i,"onMetaData"),n.bD(i,this.onMetaData),i.flush(),(0,o.A)(Uint8Array,t).length}write(t){if(this.onMetaData){const i=[],e=new l.A;e.onFlush=t=>(i.push(t.slice()),0),n.bD(e,"onMetaData"),n.bD(e,this.onMetaData),e.flush();const s=(0,o.A)(Uint8Array,i);r.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)}}},38568:(t,i,e)=>{e.d(i,{M5:()=>n});var s=e(81819);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 l=t.getPos();n&&n(t),s.Pc(a)?(a(t),r(t,o,Number(t.getPos()-l))):a&&(r(t,o,a.length+Number(t.getPos()-l)),t.writeBuffer(a));const f=Number(t.getPos()-o)+1;h&&h(f),t.writeUint32(f)}},44109:(t,i,e)=>{e.d(i,{$x:()=>h,bD:()=>o});var s=e(81819),r=e(17630),n=e(25092);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)}},21279:(t,i,e)=>{e.d(i,{A:()=>n});var s=e(19371),r=e(4068);class n{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1048576,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=arguments.length>2?arguments[2]:void 0;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}}}}]);