@libmedia/avplayer 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/118.avplayer.js +1 -1
- package/dist/esm/217.avplayer.js +1 -1
- package/dist/esm/331.avplayer.js +1 -1
- package/dist/esm/453.avplayer.js +1 -1
- package/dist/esm/531.avplayer.js +1 -1
- package/dist/esm/543.avplayer.js +1 -1
- package/dist/esm/576.avplayer.js +1 -1
- package/dist/esm/839.avplayer.js +1 -1
- package/dist/esm/855.avplayer.js +1 -1
- package/dist/esm/94.avplayer.js +1 -1
- package/dist/esm/941.avplayer.js +1 -1
- package/dist/esm/969.avplayer.js +1 -1
- package/dist/esm/avplayer.js +1 -1
- package/dist/types/AVPlayer.d.ts +17 -5
- package/dist/umd/118.avplayer.js +1 -1
- package/dist/umd/217.avplayer.js +1 -1
- package/dist/umd/331.avplayer.js +1 -1
- package/dist/umd/453.avplayer.js +1 -1
- package/dist/umd/531.avplayer.js +1 -1
- package/dist/umd/543.avplayer.js +1 -1
- package/dist/umd/576.avplayer.js +1 -1
- package/dist/umd/839.avplayer.js +1 -1
- package/dist/umd/855.avplayer.js +1 -1
- package/dist/umd/94.avplayer.js +1 -1
- package/dist/umd/941.avplayer.js +1 -1
- package/dist/umd/969.avplayer.js +1 -1
- package/dist/umd/avplayer.js +1 -1
- package/package.json +15 -12
package/dist/esm/969.avplayer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[969],{28773:(e,t,i)=>{i.r(t),i.d(t,{default:()=>v});var a=i(134),r=i(63939),s=i(50932),n=i(58121),o=i(68243),d=i(4624),h=i(35028),c=i(62815),f=i(95832),l=i(67659),p=i(59166),u=i(21477),g=i(82014),w=i(9705),k=i(85947),U=i(14686),m=i(37837),I=i(71517),R=i(65977),b=i(44328),B=i(77231),A=i(72739),y=i(52071),M=i(34677);const D="src/avformat/formats/IFlvFormat.ts";class v extends k.A{constructor(e={}){super(),(0,a.A)(this,"type",0),(0,a.A)(this,"header",void 0),(0,a.A)(this,"script",void 0),(0,a.A)(this,"options",void 0),(0,a.A)(this,"firstTagPos",void 0),this.header=new n.A,this.script=new o.A,this.options=e}init(e){e.ioReader&&e.ioReader.setEndian(!0)}async readHeader(e){try{if("FLV"!==await e.ioReader.peekString(3))return d.z3("the file format is not flv",D,102),w.LR;await this.header.read(e.ioReader),0!==await e.ioReader.readUint32()&&d.R8("the previousTagSize0 is not 0",D,109);let t=0;if(18===await e.ioReader.peekUint8()){await e.ioReader.skip(1);const i=await e.ioReader.readUint24();await e.ioReader.skip(7),t=await this.script.read(e.ioReader,i)}return t>=0&&(this.firstTagPos=e.ioReader.getPos()),t}catch(t){return d.z3(t.message,D,127),e.ioReader.error}}async readCodecConfigurationRecord(e,t,i){const a=(0,m.sY)(i);t.codecpar.extradata=a,t.codecpar.extradataSize=i,await e.ioReader.readBuffer(i,(0,U.JW)(a,i)),t.sideData[1]=(0,U.s3)(a,i).slice(),27===t.codecpar.codecId?c.XC(t):173===t.codecpar.codecId?l.XC(t):196===t.codecpar.codecId?p.XC(t):225===t.codecpar.codecId?u.XC(t):167===t.codecpar.codecId&&g.XC(t)}async readAVPacketData(e,t,i,a){const r=(0,m.sY)(a);(0,I.NX)(i,r,a),await e.ioReader.readBuffer(a,(0,U.JW)(r,a)),27===t.codecpar.codecId?(c.Jk(i,t),s.M[15](i+80,1)):173===t.codecpar.codecId?(l.Jk(i,t),s.M[15](i+80,1)):196===t.codecpar.codecId&&(p.Jk(i,t),s.M[15](i+80,1))}async readAVPacket_(e,t){const i=e.ioReader.getPos();s.M[17](t+56,i);const a=31&await e.ioReader.readUint8(),n=await e.ioReader.readUint24();let o=await e.ioReader.readUint24();const c=await e.ioReader.readUint8();if(c&&(o|=c<<24),s.M[17](t+16,BigInt(Math.floor(o))),s.M[17](t+8,BigInt(Math.floor(o))),await e.ioReader.skip(3),8===a){let i=e.getStreamByMediaType(1);i&&s.M[15](t+32,i.index),s.M[15](t+36,1|r.f[15](t+36));const a=await e.ioReader.readUint8();if(i)if(86018===i.codecpar.codecId)if(0===await e.ioReader.readUint8()){const i=n-2,a=(0,m.sY)(i);(0,I.Ow)(t,1,a,i),await e.ioReader.readBuffer(i,(0,U.JW)(a,i))}else await this.readAVPacketData(e,i,t,n-2);else await this.readAVPacketData(e,i,t,n-1);else{i=e.createStream(),s.M[15](t+32,i.index),i.codecpar.codecType=1,i.timeBase.den=1e3,i.timeBase.num=1,i.startTime=r.f[17](t+8)||r.f[17](t+16),this.script.onMetaData.duration&&(i.duration=BigInt(Math.floor(1e3*this.script.onMetaData.duration))),i.codecpar.chLayout.nbChannels=1&~a?1:2,i.codecpar.sampleRate=44100<<((12&a)>>>2)>>3,i.codecpar.bitsPerCodedSample=2&a?16:8;const o=(240&a)>>4;if(i.codecpar.codecId=0===o||3===o?8===i.codecpar.bitsPerCodedSample?65541:65536:h.FJ[o],86018===i.codecpar.codecId)if(0===await e.ioReader.readUint8()){const t=n-2,a=(0,m.sY)(t);i.codecpar.extradata=a,i.codecpar.extradataSize=t,await e.ioReader.readBuffer(t,(0,U.JW)(a,t)),i.sideData[1]=(0,U.s3)(a,t).slice(),f.XC(i)}else await this.readAVPacketData(e,i,t,n-2);else 86051===i.codecpar.codecId?(i.codecpar.sampleRate=16e3,i.codecpar.chLayout.nbChannels=1):65543!==i.codecpar.codecId&&65542!==i.codecpar.codecId||(i.codecpar.sampleRate=8e3),await this.readAVPacketData(e,i,t,n-1);this.onStreamAdd&&this.onStreamAdd(i)}}else{if(9!==a){if(18===a){let i=await this.script.read(e.ioReader,n);return i<0?i:await this.readAVPacket_(e,t)}return d.R8(`invalid tag type: ${a}, try to sync to next tag`,D,467),await this.syncTag(e),this.readAVPacket_(e,t)}{let i=e.getStreamByMediaType(0);i&&s.M[15](t+32,i.index);const a=await e.ioReader.readUint8();if(i)if((112&a)>>4==1&&s.M[15](t+36,1|r.f[15](t+36)),128&a){await e.ioReader.skip(4);const o=15&a;if(173!==i.codecpar.codecId&&196!==i.codecpar.codecId||s.M[15](t+80,1),0===o){const i=n-5,a=(0,m.sY)(i);(0,I.Ow)(t,1,a,i),await e.ioReader.readBuffer(i,(0,U.JW)(a,i))}else if(2===o)s.M[15](t+36,32|r.f[15](t+36));else if(1===o||3===o)if(1!==o||173!==i.codecpar.codecId&&196!==i.codecpar.codecId)await this.readAVPacketData(e,i,t,n-5);else{const a=await e.ioReader.readInt24();s.M[17](t+8,r.f[17](t+16)+BigInt(0|a)),await this.readAVPacketData(e,i,t,n-8)}}else if(27===i.codecpar.codecId||173===i.codecpar.codecId||12===i.codecpar.codecId){s.M[15](t+80,1);const a=await e.ioReader.readUint8(),o=await e.ioReader.readInt24();if(s.M[17](t+8,r.f[17](t+16)+BigInt(0|o)),0===a){const i=n-5,a=(0,m.sY)(i);(0,I.Ow)(t,1,a,i),await e.ioReader.readBuffer(i,(0,U.JW)(a,i))}else 2===a?s.M[15](t+36,32|r.f[15](t+36)):await this.readAVPacketData(e,i,t,n-5)}else await this.readAVPacketData(e,i,t,n-1);else{if(i=e.createStream(),s.M[15](t+32,i.index),i.codecpar.codecType=0,i.timeBase.den=1e3,i.timeBase.num=1,i.startTime=r.f[17](t+8)||r.f[17](t+16),this.script.onMetaData.duration&&(i.duration=BigInt(Math.floor(1e3*this.script.onMetaData.duration))),this.script.onMetaData.width>0&&(i.codecpar.width=this.script.onMetaData.width),this.script.onMetaData.height>0&&(i.codecpar.height=this.script.onMetaData.height),(112&a)>>4==1&&s.M[15](t+36,1|r.f[15](t+36)),128&a){const o=await e.ioReader.readUint32();o===(0,R.A)("hvc1")?(i.codecpar.codecId=173,s.M[15](t+80,1)):o===(0,R.A)("vvc1")?(i.codecpar.codecId=196,s.M[15](t+80,1)):o===(0,R.A)("av01")?i.codecpar.codecId=225:o===(0,R.A)("vp09")&&(i.codecpar.codecId=167);const d=15&a;if(0===d)await this.readCodecConfigurationRecord(e,i,n-5);else if(2===d)s.M[15](t+36,32|r.f[15](t+36));else if(1===d||3===d)if(1!==d||173!==i.codecpar.codecId&&196!==i.codecpar.codecId)await this.readAVPacketData(e,i,t,n-5);else{const a=await e.ioReader.readInt24();s.M[17](t+8,r.f[17](t+16)+BigInt(0|a)),await this.readAVPacketData(e,i,t,n-8)}}else if(i.codecpar.codecId=h.U5[15&a],27===i.codecpar.codecId||173===i.codecpar.codecId||196===i.codecpar.codecId||12===i.codecpar.codecId){s.M[15](t+80,1);const a=await e.ioReader.readUint8(),o=await e.ioReader.readInt24();s.M[17](t+8,r.f[17](t+16)+BigInt(0|o)),0===a?await this.readCodecConfigurationRecord(e,i,n-5):2===a?s.M[15](t+36,32|r.f[15](t+36)):await this.readAVPacketData(e,i,t,n-5)}else await this.readAVPacketData(e,i,t,n-1);this.onStreamAdd&&this.onStreamAdd(i)}}}const l=e.ioReader.getPos()-i,p=BigInt(Math.floor(await e.ioReader.readUint32()));return l!==p?(d.R8(`tag ${a} size not match, size: ${l}, previousTagSize: ${p}`,D,476),w.LR):0}async readAVPacket(e,t){try{return s.M[15](t+76,1e3),s.M[15](t+72,1),await this.readAVPacket_(e,t)}catch(t){return-1048576!==e.ioReader.error?(d.z3(`read packet error, ${t}`,D,492),w.LR):e.ioReader.error}}async syncTag(e){let t=B.Dh;for(;;)try{if(8&e.ioReader.flags)break;const i=await e.ioReader.readUint8();if(8===i||9===i){t=e.ioReader.getPos()-BigInt(1);const i=await e.ioReader.readUint24();if(i>10485760){await e.ioReader.seek(t+BigInt(1));continue}await e.ioReader.skip(7+i);if(e.ioReader.getPos()-t!==BigInt(Math.floor(await e.ioReader.readUint32()))){await e.ioReader.seek(t+BigInt(1)),t=B.Dh;continue}{let i=0;for(;i<=3;){const t=e.ioReader.getPos(),a=await e.ioReader.readUint8();if(8!==a&&9!==a&&18!==a)break;{const a=await e.ioReader.readUint24();await e.ioReader.skip(7+a);if(e.ioReader.getPos()-t!==BigInt(Math.floor(await e.ioReader.readUint32())))break;i++}}if(!(i<3))break;await e.ioReader.seek(t+BigInt(1)),t=B.Dh}}}catch(e){break}t!==B.Dh&&await e.ioReader.seek(t)}async seek(e,t,i,a){const r=e.ioReader.getPos();if(2&a)return await e.ioReader.seek(i),4&a||await this.syncTag(e),r;if(t&&t.sampleIndexes.length){let a=A.El(t.sampleIndexes,(e=>e.pts>i?-1:1));if(a>0&&(0,b.k)(i-t.sampleIndexes[a-1].pts,t.timeBase,B.i0)<BigInt(1e4))return d.Yz(`seek in sampleIndexes, found index: ${a}, pts: ${t.sampleIndexes[a-1].pts}, pos: ${t.sampleIndexes[a-1].pos}`,D,594),await e.ioReader.seek(t.sampleIndexes[a-1].pos),r}if(this.script.canSeek()){const{pos:a,dts:s}=this.script.dts2Position(Number((0,b.k)(i,t.timeBase,B.i0)/BigInt(1e3)));if(a>0){d.Yz(`seek in filepositions, found pts: ${s}, pos: ${a}`,D,603),await e.ioReader.seek(BigInt(Math.floor(a)));const t=await e.ioReader.peekUint8();return 8!==t&&9!==t&&18!==t&&await this.syncTag(e),r}}return d.Yz("not found any keyframe index, try to seek in bytes",D,613),(0,y.A)(e,t,i,this.firstTagPos,this.readAVPacket.bind(this),this.syncTag.bind(this))}getAnalyzeStreamsCount(){let e=0;return(this.header.hasAudio||(0,M.A)(this.script.onMetaData.audiocodecid))&&e++,(this.header.hasVideo||(0,M.A)(this.script.onMetaData.videocodecid))&&e++,e}}},85947:(e,t,i)=>{i.d(t,{A:()=>r});var a=i(134);class r{constructor(){(0,a.A)(this,"type",-1),(0,a.A)(this,"onStreamAdd",void 0)}async destroy(e){}}},58121:(e,t,i)=>{i.d(t,{A:()=>r});var a=i(134);class r{constructor(){(0,a.A)(this,"signature",void 0),(0,a.A)(this,"version",void 0),(0,a.A)(this,"flags",void 0),(0,a.A)(this,"dataOffset",void 0),(0,a.A)(this,"hasVideo",void 0),(0,a.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(e){this.signature=await e.readString(3),this.version=await e.readUint8(),this.flags=await e.readUint8(),this.dataOffset=await e.readUint32(),this.hasAudio=!!(4&this.flags),this.hasVideo=!!(1&this.flags)}write(e){this.flags=0,this.hasAudio&&(this.flags|=4),this.hasVideo&&(this.flags|=1),e.writeString(this.signature),e.writeUint8(this.version),e.writeUint8(this.flags),e.writeUint32(this.dataOffset)}}},68243:(e,t,i)=>{i.d(t,{A:()=>c});var a=i(134),r=i(35336),s=i(92647),n=i(4624),o=i(94889),d=i(9705),h=i(73040);class c{constructor(){(0,a.A)(this,"onMetaData",void 0),this.onMetaData={canSeekToEnd:!1}}async read(e,t){const i=e.getPos(),a=i+BigInt(Math.floor(t)),r=await(0,h.$x)(e,a),s=await(0,h.$x)(e,a);this[r]=s,a>e.getPos()&&await e.skip(Number(BigInt.asIntN(32,a-e.getPos())));const o=Number(e.getPos()-i),c=await e.readUint32();return o+11!==c?(n.R8(`script size not match, size: ${o+11}, previousTagSize: ${c}`,"src/avformat/formats/flv/FlvScriptTag.ts",64),d.LR):0}computeSize(){const e=[],t=new r.A;return t.onFlush=t=>(e.push(t.slice()),0),(0,h.bD)(t,"onMetaData"),(0,h.bD)(t,this.onMetaData),t.flush(),(0,s.A)(Uint8Array,e).length}write(e){if(this.onMetaData){const t=[],i=new r.A;i.onFlush=e=>(t.push(e.slice()),0),(0,h.bD)(i,"onMetaData"),(0,h.bD)(i,this.onMetaData),i.flush();const a=(0,s.A)(Uint8Array,t),n=e.getPos();o.xk(e,18,a.length,BigInt(0)),e.writeBuffer(a),e.writeUint32(Number(e.getPos()-n))}}dts2Position(e){if(this.canSeek()){let t=-1;const i=this.onMetaData.keyframes.times,a=this.onMetaData.keyframes.filepositions;let r;for(r=0;r<i.length;r++){if(i[r]===e){t=r;break}if(i[r]>e){t=Math.max(r-1,0);break}}return r&&r===i.length&&(t=i.length-1),{pos:a[t],dts:i[t]}}return{pos:-1,dts:-1}}position2DTS(e){if(this.canSeek()){let i=-1;const a=this.onMetaData.keyframes.times,r=this.onMetaData.keyframes.filepositions;let s=0;for(s=0;s<r.length;s++)if(r[s]>e){i=s;break}var t;return s===r.length?null!==(t=this.onMetaData.duration)&&void 0!==t?t:a[a.length-1]:a[i]}return-1}canSeek(){return!!(this.onMetaData.keyframes&&this.onMetaData.keyframes.filepositions&&this.onMetaData.keyframes.filepositions.length)}}},35028:(e,t,i)=>{i.d(t,{FJ:()=>a,U5:()=>r});const a={10:86018,2:86017,11:86051,1:69645,4:86049,5:86049,6:86049,7:65543,8:65542},r={7:27,12:173,13:196,9:12,2:4,3:86,4:92,5:106,6:131}},94889:(e,t,i)=>{function a(e,t,i,a){e.writeUint8(t),e.writeUint24(i),e.writeUint24(Number(a&BigInt(16777215))),e.writeUint8(Number(a>>BigInt(24)&BigInt(255))),e.writeUint24(0)}i.d(t,{xk:()=>a}),i(35028)},2187:(e,t,i)=>{i.d(t,{d:()=>n});var a=i(72739),r=i(44328),s=i(77231);function n(e,t,i){let n=BigInt(0);return a.__(e,(e=>{n+=e.codecpar.bitrate*(0,r.k)(t,i,s.i0)/BigInt(8e3)})),n}},65977:(e,t,i)=>{i.d(t,{A:()=>s});var a=i(4624);const r="src/avformat/function/mktag.ts";function s(e){4!==e.length&&a.R8(`tag length is not 4, tag: ${e}`,r,30);let t=0;for(let i=0;i<4;i++)t=t<<8|e.charCodeAt(i);return t}},52071:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(63939),r=i(9599),s=i(29170),n=i(77231),o=i(44328),d=i(2187),h=i(71517),c=i(9705),f=i(4624);const l="src/avformat/function/seekInBytes.ts";async function p(e,t,i,p,u,g){const w=e.ioReader.getPos(),k=await e.ioReader.fileSize();let U=n.Dh,m=i;t.startTime!==n.Dh?m-=t.startTime:m-=t.firstDTS;const I=(0,o.k)(i,t.timeBase,n.i0);if(I<BigInt(1e4))return f.Yz(`seek pts is earlier then 10s, seek to first packet pos(${p}) directly`,l,64),await e.ioReader.seek(p),w;let R=(0,d.d)(e.streams,m,t.timeBase);const b=k-(0,d.d)(e.streams,BigInt(1e4),n.i0),B=(0,d.d)(e.streams,BigInt(1e4),n.i0);if(R>b&&(R=b),R<p)return await e.ioReader.seek(p),w;const A=(0,h._5)();let y=k,M=BigInt(0);for(;;){if(y-M<B){U=M;break}if(await e.ioReader.seek(R),await g(e),8&e.ioReader.flags)break;const t=e.ioReader.getPos();if(!(await u(e,A)>=0)){U=n.Dh;break}{const e=(0,o.k)(a.f[17](A+8),(0,s.A)(A+72,r.P),n.i0),i=e-I;if(f.Yz(`try to seek to pos: ${R}, got packet pts: ${a.f[17](A+8)}(${e}ms), diff: ${i}ms`,l,102),i<=BigInt(0)&&-i<BigInt(1e4)){U=t;break}i>BigInt(0)?(y=R,R=M+y>>BigInt(1)):(M=R,R=M+y>>BigInt(1))}if(8&e.ioReader.flags)break}return(0,h.Qe)(A),U!==n.Dh?(f.Yz(`finally seek to pos ${U}`,l,133),await e.ioReader.seek(U),await g(e),w):(await e.ioReader.seek(w),8&e.ioReader.flags?BigInt(c.LT):BigInt(c.E$))}},95832:(e,t,i)=>{i.d(t,{Bq:()=>f,Ij:()=>c,XC:()=>h,f7:()=>l,uF:()=>s});var a=i(77231),r=i(37246);const s={1:"Main",2:"LC",3:"LC",4:"LC",5:"HE",6:"HE"},n={96e3:0,88200:1,64e3:2,48e3:3,44100:4,32e3:5,24e3:6,22050:7,16e3:8,12e3:9,11025:10,8e3:11,7350:12},o=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,a.N_,a.N_,a.N_],d=[a.N_,1,2,3,4,5,6,7];function h(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_;var s,n;return e.length>=2&&(t=e[0]>>3&31,i=null!==(s=o[(7&e[0])<<1|e[1]>>7])&&void 0!==s?s:48e3,r=null!==(n=d[e[1]>>3&15])&&void 0!==n?n:2),{profile:t,sampleRate:i,channels:r}}(t);e.codecpar.profile=i,e.codecpar.sampleRate=r,e.codecpar.chLayout.nbChannels=s}}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,h=3&e[6];let c=1===i?7:9,f=n-c;return{syncWord:t,profile:a+1,sampleRate:o[r],channels:d[s],aacFrameLength:n,numberOfRawDataBlocksInFrame:h,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 h=1===t.readU1();if(s.useSameStreamMux=h,!h){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 h=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=d[h]}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}},21477:(e,t,i)=>{i.d(t,{Ui:()=>n,XC:()=>s,zk:()=>r});var a=i(37246);i(83314),i(97317);const r={0:"Main",1:"High",2:"Professional"};function s(e,t){if(!t&&e.sideData[1]&&(t=e.sideData[1]),t&&t.length>=4){const i=n(t);e.codecpar.profile=i.profile,e.codecpar.level=i.level}}function n(e){const t=new a.A(e.length);t.appendBuffer(e),t.readU1(),t.readU(7);const i=t.readU(3),r=t.readU(5),s=t.readU1();let n=t.readU1()?10:8;return t.readU1()&&(n=12),{profile:i,level:r,tier:s,bitDepth:n,monochrome:t.readU1(),chromaSubsamplingX:t.readU1(),chromaSubsamplingY:t.readU1(),chromaSamplePosition:t.readU(2)}}},82014:(e,t,i)=>{i.d(t,{Ui:()=>n,XC:()=>s,wN:()=>r}),i(9599);var a=i(37246);i(77231),i(97317),i(729);const r={0:"Profile0",1:"Profile1",2:"Profile2",3:"Profile3"};function s(e,t){if(!t&&e.sideData[1]&&(t=e.sideData[1]),t&&t.length>=6){const i=n(t);e.codecpar.profile=i.profile,e.codecpar.level=i.level}}function n(e){const t=new a.A(e.length);return t.appendBuffer(e),{profile:t.readU(8),level:t.readU(8),bitDepth:t.readU(4),chromaSubsampling:t.readU(3),fullRangeFlag:t.readU1(),colorPrimaries:t.readU(8),colorTrc:t.readU(8),colorSpace:t.readU(8)}}},73040:(e,t,i)=>{i.d(t,{$x:()=>o,bD:()=>d});var a=i(67672),r=i(72739),s=i(95335);async function n(e,t){return{key:await e.readString(await e.readUint16()),value:await o(e,t)}}async function o(e,t){let i;switch(await e.readUint8()){case 0:i=await e.readDouble();break;case 1:i=!!await e.readUint8();break;case 2:i=await e.readString(await e.readUint16());break;case 3:for(i={};e.getPos()<t;){const{key:a,value:r}=await n(e,t);if(i[a]=r,9==(16777215&await e.peekUint24())){await e.skip(3);break}}break;case 8:for(i={},await e.skip(4);e.getPos()<t;){const{key:a,value:r}=await n(e,t);if(i[a]=r,9==(16777215&await e.peekUint24())){await e.skip(3);break}}break;case 9:case 5:i=null;break;case 10:i=[];const a=await e.readUint32();for(let r=0;r<a;r++)i.push(await o(e,t));break;case 11:const r=await e.readDouble(),s=await e.readInt16();i=new Date(r+60*s*1e3);break;case 12:i=await e.readString(await e.readUint32())}return i}function d(e,t){a.ai(t)?(e.writeUint8(0),e.writeDouble(t)):a.o(t)?(e.writeUint8(0),e.writeDouble(Number(t))):a.zM(t)?(e.writeUint8(1),e.writeUint8(t?1:0)):a.Yj(t)?t.length>=65536?(e.writeUint8(12),e.writeUint32(t.length),e.writeString(t)):(e.writeUint8(2),e.writeUint16(t.length),e.writeString(t)):a.YO(t)?(e.writeUint8(10),e.writeUint32(t.length),r.__(t,(t=>{d(e,t)}))):a.Ik(t)?(e.writeUint8(3),s.__(t,((t,i)=>{e.writeUint16(i.length),e.writeString(i),d(e,t)})),e.writeUint24(9)):t instanceof Date?(e.writeUint8(11),e.writeDouble(t.getTime()),e.writeInt16(0)):null==t&&e.writeUint8(5)}},null:()=>{},35336:(e,t,i)=>{i.d(t,{A:()=>s});var a=i(134),r=i(50011);class s{constructor(e=1048576,t=!0,i){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}}}}]);
|
|
1
|
+
(self.webpackChunklibmedia=self.webpackChunklibmedia||[]).push([[969],{28773:(e,t,i)=>{i.r(t),i.d(t,{default:()=>v});var a=i(134),r=i(63939),s=i(50932),n=i(58121),o=i(68243),d=i(4624),h=i(35028),c=i(62815),f=i(95832),l=i(67659),p=i(59166),u=i(21477),g=i(82014),w=i(9705),k=i(85947),U=i(14686),m=i(37837),I=i(71517),R=i(65977),b=i(44328),B=i(77231),A=i(72739),y=i(52071),M=i(34677);const D="src/avformat/formats/IFlvFormat.ts";class v extends k.A{constructor(e={}){super(),(0,a.A)(this,"type",0),(0,a.A)(this,"header",void 0),(0,a.A)(this,"script",void 0),(0,a.A)(this,"options",void 0),(0,a.A)(this,"firstTagPos",void 0),this.header=new n.A,this.script=new o.A,this.options=e}init(e){e.ioReader&&e.ioReader.setEndian(!0)}async readHeader(e){try{if("FLV"!==await e.ioReader.peekString(3))return d.z3("the file format is not flv",D,102),w.LR;await this.header.read(e.ioReader),0!==await e.ioReader.readUint32()&&d.R8("the previousTagSize0 is not 0",D,109);let t=0;if(18===await e.ioReader.peekUint8()){await e.ioReader.skip(1);const i=await e.ioReader.readUint24();await e.ioReader.skip(7),t=await this.script.read(e.ioReader,i)}return t>=0&&(this.firstTagPos=e.ioReader.getPos()),t}catch(t){return d.z3(t.message,D,127),e.ioReader.error}}async readCodecConfigurationRecord(e,t,i){const a=(0,m.sY)(i);t.codecpar.extradata=a,t.codecpar.extradataSize=i,await e.ioReader.readBuffer(i,(0,U.JW)(a,i)),t.sideData[1]=(0,U.s3)(a,i).slice(),27===t.codecpar.codecId?c.XC(t):173===t.codecpar.codecId?l.XC(t):196===t.codecpar.codecId?p.XC(t):225===t.codecpar.codecId?u.XC(t):167===t.codecpar.codecId&&g.XC(t)}async readAVPacketData(e,t,i,a){const r=(0,m.sY)(a);(0,I.NX)(i,r,a),await e.ioReader.readBuffer(a,(0,U.JW)(r,a)),27===t.codecpar.codecId?(c.Jk(i,t),s.M[15](i+80,1)):173===t.codecpar.codecId?(l.Jk(i,t),s.M[15](i+80,1)):196===t.codecpar.codecId&&(p.Jk(i,t),s.M[15](i+80,1))}async readAVPacket_(e,t){const i=e.ioReader.getPos();s.M[17](t+56,i);const a=31&await e.ioReader.readUint8(),n=await e.ioReader.readUint24();let o=await e.ioReader.readUint24();const c=await e.ioReader.readUint8();if(c&&(o|=c<<24),s.M[17](t+16,BigInt(Math.floor(o))),s.M[17](t+8,BigInt(Math.floor(o))),await e.ioReader.skip(3),8===a){let i=e.getStreamByMediaType(1);s.M[15](t+36,1|r.f[15](t+36));const a=await e.ioReader.readUint8();if(i)if(s.M[15](t+32,i.index),86018===i.codecpar.codecId)if(0===await e.ioReader.readUint8()){const i=n-2,a=(0,m.sY)(i);(0,I.Ow)(t,1,a,i),await e.ioReader.readBuffer(i,(0,U.JW)(a,i))}else await this.readAVPacketData(e,i,t,n-2);else await this.readAVPacketData(e,i,t,n-1);else{i=e.createStream(),s.M[15](t+32,i.index),i.codecpar.codecType=1,i.timeBase.den=1e3,i.timeBase.num=1,i.startTime=r.f[17](t+8)||r.f[17](t+16),this.script.onMetaData.duration&&(i.duration=BigInt(Math.floor(1e3*this.script.onMetaData.duration))),i.codecpar.chLayout.nbChannels=1&~a?1:2,i.codecpar.sampleRate=44100<<((12&a)>>>2)>>3,i.codecpar.bitsPerCodedSample=2&a?16:8;const o=(240&a)>>4;if(i.codecpar.codecId=0===o||3===o?8===i.codecpar.bitsPerCodedSample?65541:65536:h.FJ[o],86018===i.codecpar.codecId)if(0===await e.ioReader.readUint8()){const t=n-2,a=(0,m.sY)(t);i.codecpar.extradata=a,i.codecpar.extradataSize=t,await e.ioReader.readBuffer(t,(0,U.JW)(a,t)),i.sideData[1]=(0,U.s3)(a,t).slice(),f.XC(i)}else await this.readAVPacketData(e,i,t,n-2);else 86051===i.codecpar.codecId?(i.codecpar.sampleRate=16e3,i.codecpar.chLayout.nbChannels=1):65543!==i.codecpar.codecId&&65542!==i.codecpar.codecId||(i.codecpar.sampleRate=8e3),await this.readAVPacketData(e,i,t,n-1);this.onStreamAdd&&this.onStreamAdd(i)}}else{if(9!==a){if(18===a){let i=await this.script.read(e.ioReader,n);return i<0?i:await this.readAVPacket_(e,t)}return d.R8(`invalid tag type: ${a}, try to sync to next tag`,D,459),await this.syncTag(e),this.readAVPacket_(e,t)}{let i=e.getStreamByMediaType(0);const a=await e.ioReader.readUint8();if(i)if(s.M[15](t+32,i.index),(112&a)>>4==1&&s.M[15](t+36,1|r.f[15](t+36)),128&a){await e.ioReader.skip(4);const o=15&a;if(173!==i.codecpar.codecId&&196!==i.codecpar.codecId||s.M[15](t+80,1),0===o){const i=n-5,a=(0,m.sY)(i);(0,I.Ow)(t,1,a,i),await e.ioReader.readBuffer(i,(0,U.JW)(a,i))}else if(2===o)s.M[15](t+36,32|r.f[15](t+36));else if(1===o||3===o)if(1!==o||173!==i.codecpar.codecId&&196!==i.codecpar.codecId)await this.readAVPacketData(e,i,t,n-5);else{const a=await e.ioReader.readInt24();s.M[17](t+8,r.f[17](t+16)+BigInt(0|a)),await this.readAVPacketData(e,i,t,n-8)}}else if(27===i.codecpar.codecId||173===i.codecpar.codecId||12===i.codecpar.codecId){s.M[15](t+80,1);const a=await e.ioReader.readUint8(),o=await e.ioReader.readInt24();if(s.M[17](t+8,r.f[17](t+16)+BigInt(0|o)),0===a){const i=n-5,a=(0,m.sY)(i);(0,I.Ow)(t,1,a,i),await e.ioReader.readBuffer(i,(0,U.JW)(a,i))}else 2===a?s.M[15](t+36,32|r.f[15](t+36)):await this.readAVPacketData(e,i,t,n-5)}else await this.readAVPacketData(e,i,t,n-1);else{if(i=e.createStream(),s.M[15](t+32,i.index),i.codecpar.codecType=0,i.timeBase.den=1e3,i.timeBase.num=1,i.startTime=r.f[17](t+8)||r.f[17](t+16),this.script.onMetaData.duration&&(i.duration=BigInt(Math.floor(1e3*this.script.onMetaData.duration))),this.script.onMetaData.width>0&&(i.codecpar.width=this.script.onMetaData.width),this.script.onMetaData.height>0&&(i.codecpar.height=this.script.onMetaData.height),(112&a)>>4==1&&s.M[15](t+36,1|r.f[15](t+36)),128&a){const o=await e.ioReader.readUint32();o===(0,R.A)("hvc1")?(i.codecpar.codecId=173,s.M[15](t+80,1)):o===(0,R.A)("vvc1")?(i.codecpar.codecId=196,s.M[15](t+80,1)):o===(0,R.A)("av01")?i.codecpar.codecId=225:o===(0,R.A)("vp09")&&(i.codecpar.codecId=167);const d=15&a;if(0===d)await this.readCodecConfigurationRecord(e,i,n-5);else if(2===d)s.M[15](t+36,32|r.f[15](t+36));else if(1===d||3===d)if(1!==d||173!==i.codecpar.codecId&&196!==i.codecpar.codecId)await this.readAVPacketData(e,i,t,n-5);else{const a=await e.ioReader.readInt24();s.M[17](t+8,r.f[17](t+16)+BigInt(0|a)),await this.readAVPacketData(e,i,t,n-8)}}else if(i.codecpar.codecId=h.U5[15&a],27===i.codecpar.codecId||173===i.codecpar.codecId||196===i.codecpar.codecId||12===i.codecpar.codecId){s.M[15](t+80,1);const a=await e.ioReader.readUint8(),o=await e.ioReader.readInt24();s.M[17](t+8,r.f[17](t+16)+BigInt(0|o)),0===a?await this.readCodecConfigurationRecord(e,i,n-5):2===a?s.M[15](t+36,32|r.f[15](t+36)):await this.readAVPacketData(e,i,t,n-5)}else await this.readAVPacketData(e,i,t,n-1);this.onStreamAdd&&this.onStreamAdd(i)}}}const l=e.ioReader.getPos()-i,p=BigInt(Math.floor(await e.ioReader.readUint32()));return l!==p?(d.R8(`tag ${a} size not match, size: ${l}, previousTagSize: ${p}`,D,468),w.LR):0}async readAVPacket(e,t){try{return s.M[15](t+76,1e3),s.M[15](t+72,1),await this.readAVPacket_(e,t)}catch(t){return-1048576!==e.ioReader.error?(d.z3(`read packet error, ${t}`,D,484),w.LR):e.ioReader.error}}async syncTag(e){let t=B.Dh;for(;;)try{if(8&e.ioReader.flags)break;const i=await e.ioReader.readUint8();if(8===i||9===i){t=e.ioReader.getPos()-BigInt(1);const i=await e.ioReader.readUint24();if(i>10485760){await e.ioReader.seek(t+BigInt(1));continue}await e.ioReader.skip(7+i);if(e.ioReader.getPos()-t!==BigInt(Math.floor(await e.ioReader.readUint32()))){await e.ioReader.seek(t+BigInt(1)),t=B.Dh;continue}{let i=0;for(;i<=3;){const t=e.ioReader.getPos(),a=await e.ioReader.readUint8();if(8!==a&&9!==a&&18!==a)break;{const a=await e.ioReader.readUint24();await e.ioReader.skip(7+a);if(e.ioReader.getPos()-t!==BigInt(Math.floor(await e.ioReader.readUint32())))break;i++}}if(!(i<3))break;await e.ioReader.seek(t+BigInt(1)),t=B.Dh}}}catch(e){break}t!==B.Dh&&await e.ioReader.seek(t)}async seek(e,t,i,a){const r=e.ioReader.getPos();if(2&a)return await e.ioReader.seek(i),4&a||await this.syncTag(e),r;if(t&&t.sampleIndexes.length){let a=A.El(t.sampleIndexes,(e=>e.pts>i?-1:1));if(a>0&&(0,b.k)(i-t.sampleIndexes[a-1].pts,t.timeBase,B.i0)<BigInt(1e4))return d.Yz(`seek in sampleIndexes, found index: ${a}, pts: ${t.sampleIndexes[a-1].pts}, pos: ${t.sampleIndexes[a-1].pos}`,D,585),await e.ioReader.seek(t.sampleIndexes[a-1].pos),r}if(this.script.canSeek()){const{pos:a,dts:s}=this.script.dts2Position(Number((0,b.k)(i,t.timeBase,B.i0)/BigInt(1e3)));if(a>0){d.Yz(`seek in filepositions, found pts: ${s}, pos: ${a}`,D,594),await e.ioReader.seek(BigInt(Math.floor(a)));const t=await e.ioReader.peekUint8();return 8!==t&&9!==t&&18!==t&&await this.syncTag(e),r}}return d.Yz("not found any keyframe index, try to seek in bytes",D,604),(0,y.A)(e,t,i,this.firstTagPos,this.readAVPacket.bind(this),this.syncTag.bind(this))}getAnalyzeStreamsCount(){let e=0;return(this.header.hasAudio||(0,M.A)(this.script.onMetaData.audiocodecid))&&e++,(this.header.hasVideo||(0,M.A)(this.script.onMetaData.videocodecid))&&e++,e}}},85947:(e,t,i)=>{i.d(t,{A:()=>r});var a=i(134);class r{constructor(){(0,a.A)(this,"type",-1),(0,a.A)(this,"onStreamAdd",void 0)}async destroy(e){}}},58121:(e,t,i)=>{i.d(t,{A:()=>r});var a=i(134);class r{constructor(){(0,a.A)(this,"signature",void 0),(0,a.A)(this,"version",void 0),(0,a.A)(this,"flags",void 0),(0,a.A)(this,"dataOffset",void 0),(0,a.A)(this,"hasVideo",void 0),(0,a.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(e){this.signature=await e.readString(3),this.version=await e.readUint8(),this.flags=await e.readUint8(),this.dataOffset=await e.readUint32(),this.hasAudio=!!(4&this.flags),this.hasVideo=!!(1&this.flags)}write(e){this.flags=0,this.hasAudio&&(this.flags|=4),this.hasVideo&&(this.flags|=1),e.writeString(this.signature),e.writeUint8(this.version),e.writeUint8(this.flags),e.writeUint32(this.dataOffset)}}},68243:(e,t,i)=>{i.d(t,{A:()=>c});var a=i(134),r=i(35336),s=i(92647),n=i(4624),o=i(94889),d=i(9705),h=i(73040);class c{constructor(){(0,a.A)(this,"onMetaData",void 0),this.onMetaData={canSeekToEnd:!1}}async read(e,t){const i=e.getPos(),a=i+BigInt(Math.floor(t)),r=await(0,h.$x)(e,a),s=await(0,h.$x)(e,a);this[r]=s,a>e.getPos()&&await e.skip(Number(BigInt.asIntN(32,a-e.getPos())));const o=Number(e.getPos()-i),c=await e.readUint32();return o+11!==c?(n.R8(`script size not match, size: ${o+11}, previousTagSize: ${c}`,"src/avformat/formats/flv/FlvScriptTag.ts",63),d.LR):0}computeSize(){const e=[],t=new r.A;return t.onFlush=t=>(e.push(t.slice()),0),(0,h.bD)(t,"onMetaData"),(0,h.bD)(t,this.onMetaData),t.flush(),(0,s.A)(Uint8Array,e).length}write(e){if(this.onMetaData){const t=[],i=new r.A;i.onFlush=e=>(t.push(e.slice()),0),(0,h.bD)(i,"onMetaData"),(0,h.bD)(i,this.onMetaData),i.flush();const a=(0,s.A)(Uint8Array,t),n=e.getPos();o.xk(e,18,a.length,BigInt(0)),e.writeBuffer(a),e.writeUint32(Number(e.getPos()-n))}}dts2Position(e){if(this.canSeek()){let t=-1;const i=this.onMetaData.keyframes.times,a=this.onMetaData.keyframes.filepositions;let r;for(r=0;r<i.length;r++){if(i[r]===e){t=r;break}if(i[r]>e){t=Math.max(r-1,0);break}}return r&&r===i.length&&(t=i.length-1),{pos:a[t],dts:i[t]}}return{pos:-1,dts:-1}}position2DTS(e){if(this.canSeek()){let i=-1;const a=this.onMetaData.keyframes.times,r=this.onMetaData.keyframes.filepositions;let s=0;for(s=0;s<r.length;s++)if(r[s]>e){i=s;break}var t;return s===r.length?null!==(t=this.onMetaData.duration)&&void 0!==t?t:a[a.length-1]:a[i]}return-1}canSeek(){return!!(this.onMetaData.keyframes&&this.onMetaData.keyframes.filepositions&&this.onMetaData.keyframes.filepositions.length)}}},35028:(e,t,i)=>{i.d(t,{FJ:()=>a,U5:()=>r});const a={10:86018,2:86017,11:86051,1:69645,4:86049,5:86049,6:86049,7:65543,8:65542},r={7:27,12:173,13:196,9:12,2:4,3:86,4:92,5:106,6:131}},94889:(e,t,i)=>{function a(e,t,i,a){e.writeUint8(t),e.writeUint24(i),e.writeUint24(Number(a&BigInt(16777215))),e.writeUint8(Number(a>>BigInt(24)&BigInt(255))),e.writeUint24(0)}i.d(t,{xk:()=>a}),i(35028)},2187:(e,t,i)=>{i.d(t,{d:()=>n});var a=i(72739),r=i(44328),s=i(77231);function n(e,t,i){let n=BigInt(0);return a.__(e,(e=>{n+=e.codecpar.bitrate*(0,r.k)(t,i,s.i0)/BigInt(8e3)})),n}},65977:(e,t,i)=>{i.d(t,{A:()=>s});var a=i(4624);const r="src/avformat/function/mktag.ts";function s(e){4!==e.length&&a.R8(`tag length is not 4, tag: ${e}`,r,30);let t=0;for(let i=0;i<4;i++)t=t<<8|e.charCodeAt(i);return t}},52071:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(63939),r=i(9599),s=i(29170),n=i(77231),o=i(44328),d=i(2187),h=i(71517),c=i(9705),f=i(4624);const l="src/avformat/function/seekInBytes.ts";async function p(e,t,i,p,u,g){const w=e.ioReader.getPos(),k=await e.ioReader.fileSize();let U=n.Dh,m=i;t.startTime!==n.Dh?m-=t.startTime:m-=t.firstDTS;const I=(0,o.k)(i,t.timeBase,n.i0);if(I<BigInt(1e4))return f.Yz(`seek pts is earlier then 10s, seek to first packet pos(${p}) directly`,l,62),await e.ioReader.seek(p),w;let R=(0,d.d)(e.streams,m,t.timeBase);const b=k-(0,d.d)(e.streams,BigInt(1e4),n.i0),B=(0,d.d)(e.streams,BigInt(1e4),n.i0);if(R>b&&(R=b),R<p)return await e.ioReader.seek(p),w;const A=(0,h._5)();let y=k,M=BigInt(0);for(;;){if(y-M<B){U=M;break}if(await e.ioReader.seek(R),await g(e),8&e.ioReader.flags)break;const t=e.ioReader.getPos();if(!(await u(e,A)>=0)){U=n.Dh;break}{const e=(0,o.k)(a.f[17](A+8),(0,s.A)(A+72,r.P),n.i0),i=e-I;if(f.Yz(`try to seek to pos: ${R}, got packet pts: ${a.f[17](A+8)}(${e}ms), diff: ${i}ms`,l,100),i<=BigInt(0)&&-i<BigInt(1e4)){U=t;break}i>BigInt(0)?(y=R,R=M+y>>BigInt(1)):(M=R,R=M+y>>BigInt(1))}if(8&e.ioReader.flags)break}return(0,h.Qe)(A),U!==n.Dh?(f.Yz(`finally seek to pos ${U}`,l,131),await e.ioReader.seek(U),await g(e),w):(await e.ioReader.seek(w),8&e.ioReader.flags?BigInt(c.LT):BigInt(c.E$))}},95832:(e,t,i)=>{i.d(t,{Bq:()=>f,Ij:()=>c,XC:()=>h,f7:()=>l,uF:()=>s});var a=i(77231),r=i(37246);const s={1:"Main",2:"LC",3:"LC",4:"LC",5:"HE",6:"HE"},n={96e3:0,88200:1,64e3:2,48e3:3,44100:4,32e3:5,24e3:6,22050:7,16e3:8,12e3:9,11025:10,8e3:11,7350:12},o=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,a.N_,a.N_,a.N_],d=[a.N_,1,2,3,4,5,6,7];function h(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_;var s,n;return e.length>=2&&(t=e[0]>>3&31,i=null!==(s=o[(7&e[0])<<1|e[1]>>7])&&void 0!==s?s:48e3,r=null!==(n=d[e[1]>>3&15])&&void 0!==n?n:2),{profile:t,sampleRate:i,channels:r}}(t);e.codecpar.profile=i,e.codecpar.sampleRate=r,e.codecpar.chLayout.nbChannels=s}}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,h=3&e[6];let c=1===i?7:9,f=n-c;return{syncWord:t,profile:a+1,sampleRate:o[r],channels:d[s],aacFrameLength:n,numberOfRawDataBlocksInFrame:h,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 h=1===t.readU1();if(s.useSameStreamMux=h,!h){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 h=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=d[h]}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}},21477:(e,t,i)=>{i.d(t,{Ui:()=>n,XC:()=>s,zk:()=>r});var a=i(37246);i(83314),i(97317);const r={0:"Main",1:"High",2:"Professional"};function s(e,t){if(!t&&e.sideData[1]&&(t=e.sideData[1]),t&&t.length>=4){const i=n(t);e.codecpar.profile=i.profile,e.codecpar.level=i.level}}function n(e){const t=new a.A(e.length);t.appendBuffer(e),t.readU1(),t.readU(7);const i=t.readU(3),r=t.readU(5),s=t.readU1();let n=t.readU1()?10:8;return t.readU1()&&(n=12),{profile:i,level:r,tier:s,bitDepth:n,monochrome:t.readU1(),chromaSubsamplingX:t.readU1(),chromaSubsamplingY:t.readU1(),chromaSamplePosition:t.readU(2)}}},82014:(e,t,i)=>{i.d(t,{Ui:()=>n,XC:()=>s,wN:()=>r}),i(9599);var a=i(37246);i(77231),i(97317),i(729);const r={0:"Profile0",1:"Profile1",2:"Profile2",3:"Profile3"};function s(e,t){if(!t&&e.sideData[1]&&(t=e.sideData[1]),t&&t.length>=6){const i=n(t);e.codecpar.profile=i.profile,e.codecpar.level=i.level}}function n(e){const t=new a.A(e.length);return t.appendBuffer(e),{profile:t.readU(8),level:t.readU(8),bitDepth:t.readU(4),chromaSubsampling:t.readU(3),fullRangeFlag:t.readU1(),colorPrimaries:t.readU(8),colorTrc:t.readU(8),colorSpace:t.readU(8)}}},73040:(e,t,i)=>{i.d(t,{$x:()=>o,bD:()=>d});var a=i(67672),r=i(72739),s=i(95335);async function n(e,t){return{key:await e.readString(await e.readUint16()),value:await o(e,t)}}async function o(e,t){let i;switch(await e.readUint8()){case 0:i=await e.readDouble();break;case 1:i=!!await e.readUint8();break;case 2:i=await e.readString(await e.readUint16());break;case 3:for(i={};e.getPos()<t;){const{key:a,value:r}=await n(e,t);if(i[a]=r,9==(16777215&await e.peekUint24())){await e.skip(3);break}}break;case 8:for(i={},await e.skip(4);e.getPos()<t;){const{key:a,value:r}=await n(e,t);if(i[a]=r,9==(16777215&await e.peekUint24())){await e.skip(3);break}}break;case 9:case 5:i=null;break;case 10:i=[];const a=await e.readUint32();for(let r=0;r<a;r++)i.push(await o(e,t));break;case 11:const r=await e.readDouble(),s=await e.readInt16();i=new Date(r+60*s*1e3);break;case 12:i=await e.readString(await e.readUint32())}return i}function d(e,t){a.ai(t)?(e.writeUint8(0),e.writeDouble(t)):a.o(t)?(e.writeUint8(0),e.writeDouble(Number(t))):a.zM(t)?(e.writeUint8(1),e.writeUint8(t?1:0)):a.Yj(t)?t.length>=65536?(e.writeUint8(12),e.writeUint32(t.length),e.writeString(t)):(e.writeUint8(2),e.writeUint16(t.length),e.writeString(t)):a.YO(t)?(e.writeUint8(10),e.writeUint32(t.length),r.__(t,(t=>{d(e,t)}))):a.Ik(t)?(e.writeUint8(3),s.__(t,((t,i)=>{e.writeUint16(i.length),e.writeString(i),d(e,t)})),e.writeUint24(9)):t instanceof Date?(e.writeUint8(11),e.writeDouble(t.getTime()),e.writeInt16(0)):null==t&&e.writeUint8(5)}},null:()=>{},35336:(e,t,i)=>{i.d(t,{A:()=>s});var a=i(134),r=i(50011);class s{constructor(e=1048576,t=!0,i){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}}}}]);
|