PageSourceSearch

https://play.listnr.com/_next/static/chunks/7767.e2d24282f344a00b.js

js listnr.com collected 2026-10-01 10:39:18 UTC 20,275 bytes, 1 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0acfb8ed-b13d-4ef7-962d-2570471f7285",e._sentryDebugIdIdentifier="sentry-dbid-0acfb8ed-b13d-4ef7-962d-2570471f7285")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7767],{67767:(e,t,a)=>{a.r(t),a.d(t,{MP4Parser:()=>G});var s=a(81488),r=a(6057),i=a(82580),n=a(98421),o=a(13261),l=a(72208),d=a(22931);let h=s("music-metadata:parser:MP4:atom");class m extends(0,l.fO)("MP4"){}let c={len:8,get:(e,t)=>{let a=r.UINT32_BE.get(e,t);if(a<0)throw new m("Invalid atom header length");return{length:BigInt(a),name:new r.StringType(4,"latin1").get(e,t+4)}},put:(e,t,a)=>(r.UINT32_BE.put(e,t,Number(a.length)),o.e.put(e,t+4,a.name))},g=r.UINT64_BE,u={len:4,get:(e,t)=>({type:new r.StringType(4,"ascii").get(e,t)})};class p{constructor(e,t,a){if(e<t)throw new m(`Atom ${a} expected to be ${t}, but specifies ${e} bytes long.`);e>t&&h(`Warning: atom ${a} expected to be ${t}, but was actually ${e} bytes long.`),this.len=e}}let f=(e,t)=>new Date(1e3*(r.UINT32_BE.get(e,t)-0x7c25b080)),T=(e,t)=>new Date(1e3*(Number(r.UINT64_BE.get(e,t))-0x7c25b080));class k extends p{constructor(e){super(e,24,"mdhd")}get(e,t){let a=r.UINT8.get(e,t+0),s=r.UINT24_BE.get(e,t+1);switch(a){case 0:return{version:a,flags:s,creationTime:f(e,t+4),modificationTime:f(e,t+8),timeScale:r.UINT32_BE.get(e,t+12),duration:r.UINT32_BE.get(e,t+16),language:r.UINT16_BE.get(e,t+20),quality:r.UINT16_BE.get(e,t+22)};case 1:return{version:a,flags:s,creationTime:T(e,t+4),modificationTime:T(e,t+12),timeScale:r.UINT32_BE.get(e,t+20),duration:Number(r.UINT64_BE.get(e,t+24)),language:r.UINT16_BE.get(e,t+32),quality:r.UINT16_BE.get(e,t+34)};default:throw new l.gP("Invalid mdhd version header")}}}class I extends p{constructor(e){super(e,100,"mvhd")}get(e,t){let a=r.UINT8.get(e,t),s=r.UINT24_BE.get(e,t+1);return 1===a?{version:a,flags:s,creationTime:T(e,t+4),modificationTime:T(e,t+12),timeScale:r.UINT32_BE.get(e,t+20),duration:Number(r.UINT64_BE.get(e,t+24)),preferredRate:r.UINT32_BE.get(e,t+32),preferredVolume:r.UINT16_BE.get(e,t+36),previewTime:r.UINT32_BE.get(e,t+84),previewDuration:r.UINT32_BE.get(e,t+88),posterTime:r.UINT32_BE.get(e,t+92),selectionTime:r.UINT32_BE.get(e,t+96),selectionDuration:r.UINT32_BE.get(e,t+100),currentTime:r.UINT32_BE.get(e,t+104),nextTrackID:r.UINT32_BE.get(e,t+108)}:{version:a,flags:s,creationTime:f(e,t+4),modificationTime:f(e,t+8),timeScale:r.UINT32_BE.get(e,t+12),duration:r.UINT32_BE.get(e,t+16),preferredRate:r.UINT32_BE.get(e,t+20),preferredVolume:r.UINT16_BE.get(e,t+24),previewTime:r.UINT32_BE.get(e,t+72),previewDuration:r.UINT32_BE.get(e,t+76),posterTime:r.UINT32_BE.get(e,t+80),selectionTime:r.UINT32_BE.get(e,t+84),selectionDuration:r.UINT32_BE.get(e,t+88),currentTime:r.UINT32_BE.get(e,t+92),nextTrackID:r.UINT32_BE.get(e,t+96)}}}class w{constructor(e){this.len=e}get(e,t){return{type:{set:r.UINT8.get(e,t+0),type:r.UINT24_BE.get(e,t+1)},locale:r.UINT24_BE.get(e,t+4),value:new r.Uint8ArrayType(this.len-8).get(e,t+8)}}}class N{constructor(e){this.len=e}get(e,t){return{version:r.UINT8.get(e,t),flags:r.UINT24_BE.get(e,t+1),name:new r.StringType(this.len-4,"utf-8").get(e,t+4)}}}class E{constructor(e){this.len=e}get(e,t){return{version:r.UINT8.get(e,t),flags:r.UINT24_BE.get(e,t+1),creationTime:f(e,t+4),modificationTime:f(e,t+8),trackId:r.UINT32_BE.get(e,t+12),duration:r.UINT32_BE.get(e,t+20),layer:r.UINT16_BE.get(e,t+24),alternateGroup:r.UINT16_BE.get(e,t+26),volume:r.UINT16_BE.get(e,t+28)}}}class y{constructor(e){this.len=e}get(e,t){let a=this.len-12;return{dataFormat:o.e.get(e,t),dataReferenceIndex:r.UINT16_BE.get(e,t+10),description:a>0?new r.Uint8ArrayType(a).get(e,t+12):void 0}}}class B{constructor(e){this.len=e}get(e,t){let a,s,i=(a=e,s=t,{version:r.UINT8.get(a,s),flags:r.UINT24_BE.get(a,s+1),numberOfEntries:r.UINT32_BE.get(a,s+4)});t+=8;let n=[];for(let a=0;a<i.numberOfEntries;++a){let a=r.UINT32_BE.get(e,t);t+=r.UINT32_BE.len,n.push(new y(a-r.UINT32_BE.len).get(e,t)),t+=a}return{header:i,table:n}}}class b{constructor(e,t){this.len=e,this.token=t}get(e,t){let a=r.INT32_BE.get(e,t+4);return{version:r.INT8.get(e,t+0),flags:r.INT24_BE.get(e,t+1),numberOfEntries:a,entr
1ies:C(e,this.token,t+8,this.len-8,a)}}}let _={len:8,get:(e,t)=>({count:r.INT32_BE.get(e,t+0),duration:r.INT32_BE.get(e,t+4)})};class U extends b{constructor(e){super(e,_)}}let S={len:12,get:(e,t)=>({firstChunk:r.INT32_BE.get(e,t),samplesPerChunk:r.INT32_BE.get(e,t+4),sampleDescriptionId:r.INT32_BE.get(e,t+8)})};class z extends b{constructor(e){super(e,S)}}class P{constructor(e){this.len=e}get(e,t){let a=r.INT32_BE.get(e,t+8);return{version:r.INT8.get(e,t),flags:r.INT24_BE.get(e,t+1),sampleSize:r.INT32_BE.get(e,t+4),numberOfEntries:a,entries:C(e,r.INT32_BE,t+12,this.len-12,a)}}}class v extends b{constructor(e){super(e,r.INT32_BE),this.len=e}}class D{constructor(e){this.len=e}get(e,t){let a=r.INT16_BE.get(e,t+0);return new r.StringType(a,"utf-8").get(e,t+2)}}function C(e,t,a,s,r){if(h(`remainingLen=${s}, numberOfEntries=${r} * token-len=${t.len}`),0===s)return[];if(s!==r*t.len)throw new m("mismatch number-of-entries with remaining atom-length");let i=[];for(let s=0;s<r;++s)i.push(t.get(e,a)),a+=t.len;return i}class A{constructor(e){this.len=e}get(e,t){let a=t+1,s={version:r.INT8.get(e,t),flags:{baseDataOffsetPresent:d.mh(e,a+2,0),sampleDescriptionIndexPresent:d.mh(e,a+2,1),defaultSampleDurationPresent:d.mh(e,a+2,3),defaultSampleSizePresent:d.mh(e,a+2,4),defaultSampleFlagsPresent:d.mh(e,a+2,5),defaultDurationIsEmpty:d.mh(e,a,0),defaultBaseIsMoof:d.mh(e,a,1)},trackId:r.UINT32_BE.get(e,4)},i=8;return s.flags.baseDataOffsetPresent&&(s.baseDataOffset=r.UINT64_BE.get(e,i),i+=8),s.flags.sampleDescriptionIndexPresent&&(s.sampleDescriptionIndex=r.UINT32_BE.get(e,i),i+=4),s.flags.defaultSampleDurationPresent&&(s.defaultSampleDuration=r.UINT32_BE.get(e,i),i+=4),s.flags.defaultSampleSizePresent&&(s.defaultSampleSize=r.UINT32_BE.get(e,i),i+=4),s.flags.defaultSampleFlagsPresent&&(s.defaultSampleFlags=r.UINT32_BE.get(e,i)),s}}class ${constructor(e){this.len=e}get(e,t){let a=t+1,s={version:r.INT8.get(e,t),flags:{dataOffsetPresent:d.mh(e,a+2,0),firstSampleFlagsPresent:d.mh(e,a+2,2),sampleDurationPresent:d.mh(e,a+1,0),sampleSizePresent:d.mh(e,a+1,1),sampleFlagsPresent:d.mh(e,a+1,2),sampleCompositionTimeOffsetsPresent:d.mh(e,a+1,3)},sampleCount:r.UINT32_BE.get(e,t+4),samples:[]},i=t+8;s.flags.dataOffsetPresent&&(s.dataOffset=r.UINT32_BE.get(e,i),i+=4),s.flags.firstSampleFlagsPresent&&(s.firstSampleFlags=r.UINT32_BE.get(e,i),i+=4);for(let t=0;t<s.sampleCount;++t){if(i>=this.len){h("TrackRunBox size mismatch");break}let t={};s.flags.sampleDurationPresent&&(t.sampleDuration=r.UINT32_BE.get(e,i),i+=4),s.flags.sampleSizePresent&&(t.sampleSize=r.UINT32_BE.get(e,i),i+=4),s.flags.sampleFlagsPresent&&(t.sampleFlags=r.UINT32_BE.get(e,i),i+=4),s.flags.sampleCompositionTimeOffsetsPresent&&(t.sampleCompositionTimeOffset=r.UINT32_BE.get(e,i),i+=4),s.samples.push(t)}return s}}class x{constructor(e){this.len=e}get(e,t){let a=new r.StringType(4,"utf-8");return{version:r.INT8.get(e,t),flags:r.UINT24_BE.get(e,t+1),componentType:a.get(e,t+4),handlerType:a.get(e,t+8),componentName:new r.StringType(this.len-28,"utf-8").get(e,t+28)}}}class F{constructor(e){this.len=e}get(e,t){let a=0,s=[];for(;a<this.len;)s.push(r.UINT32_BE.get(e,t+a)),a+=4;return s}}let O=s("music-metadata:parser:MP4:Atom");class L{static async readAtom(e,t,a,s){let r=e.position;O(`Reading next token on offset=${r}...`);let i=await e.readToken(c),n=1n===i.length;n&&(i.length=await e.readToken(g));let o=new L(i,n,a),l=o.getPayloadLength(s);return O(`parse atom name=${o.atomPath}, extended=${o.extended}, offset=${r}, len=${o.header.length}`),await o.readData(e,t,l),o}constructor(e,t,a){this.header=e,this.extended=t,this.parent=a,this.children=[],this.atomPath=(this.parent?`${this.parent.atomPath}.`:"")+this.header.name}getHeaderLength(){return this.extended?16:8}getPayloadLength(e){return(0n===this.header.length?e:Number(this.header.length))-this.getHeaderLength()}async readAtoms(e,t,a){for(;a>0;){let s=await L.readAtom(e,t,this,a);this.children.push(s),a-=0n===s.header.length?a:Number(s.header.length)}}async readData(e,t,a){switch(this.header.name){case"moov":case"udta":case"mdia":case"minf":case"stbl":case"<id>":case"ilst":case"tref":case"moof":return this.readAtoms(e,t,this.getPayloadLength(a));case"meta":{let s=4*("hdlr"!==(await e.peekToken(c)).name);return await e.ignore(s),this.readAtoms(e,t,this.getPayloadLength(a)-s)}default:return t(this,a)}}}var M=a(98815),R=a(72175),V=a(4655);let W=s("music-metadata:parser:MP4"),j={raw:{lossy:!1,format:"raw"},MAC3:{lossy:!0,format:"MACE 3:1"},MAC6:{lossy:!0,format:"MACE 6:1"},ima4:{lossy:!0,format:"IMA 4:1"},ulaw:{lossy:!0,format:"uLaw 2:1"},alaw:{lossy:!0,format:"uLaw 2:1"},Qclp:{lossy:!0,format:"QUALCOMM PureVoice"},".mp3":{lossy:!0,format:"MPEG-1 layer 3"},alac:{lossy:!1,format:"ALAC"},"ac-3":{lossy:!0,format:"AC-3"},mp4a:{lossy:!0,format:"MPEG-4/AAC"},mp4s:{lossy:!0,format:"MP4S"},c608:{lossy:!0,format:"CEA-608"},c708:{lossy:!0,format:"CEA-708"}};function q(e,t,a){return a.indexOf(e)===t}class G extends i.s{constructor(){super(...arguments),this.tracks=new Map,this.hasVideoTrack=!1,this.hasAudioTrack=!0,this.atomParsers={mvhd:async e=>{let t=await this.tokenizer.readToken(new I(e));this.metadata.setFormat("creationTime",t.creationTime),this.metadata.setFormat("modificationTime",t.modificationTime)},chap:async e=>{let t=this.getTrackDescription(),a=[];for(;e>=r.UINT32_BE.len;)a.push(await this.tokenizer.readNumber(r.UINT32_BE)),e-=r.UINT32_BE.len;t.chapterList=a},mdat:async e=>{if(this.options.includeChapters){let t=[...this.tracks.values()].filter(e=>e.chapterList);
1if(1===t.length){let a=t[0].chapterList,s=[...this.tracks.values()].filter(e=>-1!==a.indexOf(e.header.trackId));if(1===s.length)return this.parseChapterTrack(s[0],t[0],e)}}await this.tokenizer.ignore(e)},ftyp:async e=>{let t=[];for(;e>0;){let a=await this.tokenizer.readToken(u);e-=u.len;let s=a.type.replace(/\W/g,"");s.length>0&&t.push(s)}W(`ftyp: ${t.join("/")}`);let a=t.filter(q).join("/");this.metadata.setFormat("container",a)},stsd:async e=>{let t=await this.tokenizer.readToken(new B(e));this.getTrackDescription().soundSampleDescription=t.table.map(e=>this.parseSoundSampleDescription(e))},stsz:async e=>{let t=await this.tokenizer.readToken(new P(e)),a=this.getTrackDescription();a.sampleSize=t.sampleSize,a.sampleSizeTable=t.entries},date:async e=>{let t=await this.tokenizer.readToken(new r.StringType(e,"utf-8"));await this.addTag("date",t)}}}static read_BE_Integer(e,t){let a=(t?"INT":"UINT")+8*e.length+(e.length>1?"_BE":""),s=r[a];if(!s)throw new m(`Token for integer type not found: "${a}"`);return Number(s.get(e,0))}async parse(){this.hasVideoTrack=!1,this.hasAudioTrack=!0,this.tracks.clear();let e=this.tokenizer.fileInfo.size||0;for(;!this.tokenizer.fileInfo.size||e>0;){try{let e=await this.tokenizer.peekToken(c);if("\0\0\0\0"===e.name){let e=`Error at offset=${this.tokenizer.position}: box.id=0`;W(e),this.addWarning(e);break}}catch(e){if(e instanceof Error){let t=`Error at offset=${this.tokenizer.position}: ${e.message}`;W(t),this.addWarning(t)}else throw e;break}let t=await L.readAtom(this.tokenizer,(e,t)=>this.handleAtom(e,t),null,e);e-=t.header.length===BigInt(0)?e:Number(t.header.length)}let t=[];this.tracks.forEach(e=>{let a=[];e.soundSampleDescription.forEach(e=>{let t={},s=j[e.dataFormat];if(s?(a.push(s.format),t.codecName=s.format):t.codecName=`<${e.dataFormat}>`,e.description){let{description:a}=e;a.sampleRate>0&&(t.type=M.S.audio,t.audio={samplingFrequency:a.sampleRate,bitDepth:a.sampleSize,channels:a.numAudioChannels})}this.metadata.addStreamInfo(t)}),a.length>=1&&t.push(a.join("/"))}),t.length>0&&this.metadata.setFormat("codec",t.filter(q).join("+"));let a=[...this.tracks.values()].filter(e=>e.soundSampleDescription.length>=1&&e.soundSampleDescription[0].description&&e.soundSampleDescription[0].description.numAudioChannels>0);for(let e of a){if(e.media.header&&e.media.header.timeScale>0)if(e.sampleRate=e.media.header.timeScale,e.media.header.duration>0&&(W("Using duration defined on audio track"),e.samples=e.media.header.duration,e.duration=e.samples/e.sampleRate),e.fragments.length>0){W("Calculate duration defined in track fragments");let t=0;for(let a of(e.sizeInBytes=0,e.fragments))for(let s of a.trackRun.samples){let r=s.sampleDuration??a.header.defaultSampleDuration??0,i=s.sampleSize??a.header.defaultSampleSize??0;if(0===r)throw Error("Missing sampleDuration and no defaultSampleDuration in track fragment header");if(0===i)throw Error("Missing sampleSize and no defaultSampleSize in track fragment header");t+=r,e.sizeInBytes+=i}e.samples||(e.samples=t),e.duration||(e.duration=t/e.sampleRate)}else e.sampleSizeTable.length>0&&(e.sizeInBytes=e.sampleSizeTable.reduce((e,t)=>e+t,0));let t=e.soundSampleDescription[0];if(t.description&&e.media.header&&(this.metadata.setFormat("sampleRate",t.description.sampleRate),this.metadata.setFormat("bitsPerSample",t.description.sampleSize),this.metadata.setFormat("numberOfChannels",t.description.numAudioChannels),0===e.media.header.timeScale&&e.timeToSampleTable.length>0)){let a=e.timeToSampleTable.map(e=>e.count*e.duration).reduce((e,t)=>e+t);e.duration=a/t.description.sampleRate}let a=j[t.dataFormat];a&&this.metadata.setFormat("lossless",!a.lossy)}if(a.length>=1){let e=a[0];e.duration&&(this.metadata.setFormat("duration",e.duration),e.sizeInBytes&&this.metadata.setFormat("bitrate",8*e.sizeInBytes/e.duration))}this.metadata.setFormat("hasAudio",this.hasAudioTrack),this.metadata.setFormat("hasVideo",this.hasVideoTrack)}async handleAtom(e,t){if(e.parent)switch(e.parent.header.name){case"ilst":case"<id>":return this.parseMetadataItemData(e);case"moov":switch(e.header.name){case"trak":case"udta":return this.parseTrackBox(e)}break;
1case"moof":if("traf"===e.header.name)return this.parseTrackFragmentBox(e)}if(this.atomParsers[e.header.name])return this.atomParsers[e.header.name](t);W(`No parser for atom path=${e.atomPath}, payload-len=${t}, ignoring atom`),await this.tokenizer.ignore(t)}getTrackDescription(){let e=[...this.tracks.values()];return e[e.length-1]}async addTag(e,t){await this.metadata.addTag("iTunes",e,t)}addWarning(e){W(`Warning: ${e}`),this.metadata.addWarning(e)}parseMetadataItemData(e){let t=e.header.name;return e.readAtoms(this.tokenizer,async(e,a)=>{let s=e.getPayloadLength(a);switch(e.header.name){case"data":return this.parseValueAtom(t,e);case"name":case"mean":case"rate":{let e=await this.tokenizer.readToken(new N(s));t+=`:${e.name}`;break}default:{let a=await this.tokenizer.readToken(new r.Uint8ArrayType(s));this.addWarning(`Unsupported meta-item: ${t}[${e.header.name}] => value=${(0,R.EY)(a)} ascii=${(0,V.c)(a,"ascii")}`)}}},e.getPayloadLength(0))}async parseValueAtom(e,t){let a=await this.tokenizer.readToken(new w(Number(t.header.length)-c.len)
1);if(0!==a.type.set)throw new m(`Unsupported type-set != 0: ${a.type.set}`);switch(a.type.type){case 0:switch(e){case"trkn":case"disk":{let t=r.UINT8.get(a.value,3),s=r.UINT8.get(a.value,5);await this.addTag(e,`${t}/${s}`);break}case"gnre":{let t=r.UINT8.get(a.value,1),s=n.jR[t-1];await this.addTag(e,s);break}case"rate":{let t=(0,V.c)(a.value,"ascii");await this.addTag(e,t);break}default:W(`unknown proprietary value type for: ${t.atomPath}`)}break;case 1:case 18:await this.addTag(e,(0,V.c)(a.value));break;case 13:if(this.options.skipCovers)break;await this.addTag(e,{format:"image/jpeg",data:Uint8Array.from(a.value)});break;case 14:if(this.options.skipCovers)break;await this.addTag(e,{format:"image/png",data:Uint8Array.from(a.value)});break;case 21:await this.addTag(e,G.read_BE_Integer(a.value,!0));break;case 22:await this.addTag(e,G.read_BE_Integer(a.value,!1));break;case 65:await this.addTag(e,r.UINT8.get(a.value,0));break;case 66:await this.addTag(e,r.UINT16_BE.get(a.value,0));break;case 67:await this.addTag(e,r.UINT32_BE.get(a.value,0));break;default:this.addWarning(`atom key=${e}, has unknown well-known-type (data-type): ${a.type.type}`)}}async parseTrackBox(e){let t={media:{},fragments:[]};await e.readAtoms(this.tokenizer,async(e,a)=>{let s=e.getPayloadLength(a);switch(e.header.name){case"chap":t.chapterList=await this.tokenizer.readToken(new F(a));break;case"tkhd":t.header=await this.tokenizer.readToken(new E(s));break;case"hdlr":t.handler=await this.tokenizer.readToken(new x(s)),t.isAudio=()=>"audi"===t.handler.handlerType||"soun"===t.handler.handlerType,t.isVideo=()=>"vide"===t.handler.handlerType,t.isAudio()?this.hasAudioTrack=!0:t.isVideo()&&(this.hasVideoTrack=!0);break;case"mdhd":{let e=await this.tokenizer.readToken(new k(s));t.media.header=e;break}case"stco":t.chunkOffsetTable=(await this.tokenizer.readToken(new v(s))).entries;break;case"stsc":t.sampleToChunkTable=(await this.tokenizer.readToken(new z(s))).entries;break;case"stsd":t.soundSampleDescription=(await this.tokenizer.readToken(new B(s))).table.map(e=>this.parseSoundSampleDescription(e));break;case"stts":t.timeToSampleTable=(await this.tokenizer.readToken(new U(s))).entries;break;case"stsz":{let e=await this.tokenizer.readToken(new P(s));t.sampleSize=e.sampleSize,t.sampleSizeTable=e.entries;break}case"dinf":case"vmhd":case"smhd":W(`Ignoring: ${e.header.name}`),await this.tokenizer.ignore(s);break;default:W(`Unexpected track box: ${e.header.name}`),await this.tokenizer.ignore(s)}},e.getPayloadLength(0)),this.tracks.set(t.header.trackId,t)}parseTrackFragmentBox(e){let t;return e.readAtoms(this.tokenizer,async(e,a)=>{let s=e.getPayloadLength(a);switch(e.header.name){case"tfhd":{let s=new A(e.getPayloadLength(a));t=await this.tokenizer.readToken(s);break}case"tfdt":await this.tokenizer.ignore(s);break;case"trun":{let e=new $(s),a=await this.tokenizer.readToken(e);if(t){let e=this.tracks.get(t.trackId);e?.fragments.push({header:t,trackRun:a})}break}default:W(`Unexpected box: ${e.header.name}`),await this.tokenizer.ignore(s)}},e.getPayloadLength(0))}parseSoundSampleDescription(e){let t={dataFormat:e.dataFormat,dataReferenceIndex:e.dataReferenceIndex},a=0;if(e.description){let s,i,n,o,l=(s=e.description,i=a,{version:r.INT16_BE.get(s,i),revision:r.INT16_BE.get(s,i+2),vendor:r.INT32_BE.get(s,i+4)});a+=8,0===l.version||1===l.version?(n=e.description,o=a,t.description={numAudioChannels:r.INT16_BE.get(n,o+0),sampleSize:r.INT16_BE.get(n,o+2),compressionId:r.INT16_BE.get(n,o+4),packetSize:r.INT16_BE.get(n,o+6),sampleRate:r.UINT16_BE.get(n,o+8)+r.UINT16_BE.get(n,o+10)/1e4}):W(`Warning: sound-sample-description ${l} not implemented`)}return t}async parseChapterTrack(e,t,a){if(!e.sampleSize&&e.chunkOffsetTable.length!==e.sampleSizeTable.length)throw Error("Expected equal chunk-offset-table & sample-size-table length.");let s=[];for(let r=0;r<e.chunkOffsetTable.length&&a>0;++r){let i=e.timeToSampleTable.slice(0,r).reduce((e,t)=>e+t.duration,0),n=e.chunkOffsetTable[r]-this.tokenizer.position,o=e.sampleSize>0?e.sampleSize:e.sampleSizeTable[r];
1if((a-=n+o)<0)throw new m("Chapter chunk exceeding token length");await this.tokenizer.ignore(n);let l=await this.tokenizer.readToken(new D(o));W(`Chapter ${r+1}: ${l}`);let d={title:l,timeScale:e.media.header?e.media.header.timeScale:0,start:i,sampleOffset:this.findSampleOffset(t,this.tokenizer.position)};W(`Chapter title=${d.title}, offset=${d.sampleOffset}/${t.header.duration}`),s.push(d)}this.metadata.setFormat("chapters",s),await this.tokenizer.ignore(a)}findSampleOffset(e,t){let a=0;for(;a<e.chunkOffsetTable.length&&e.chunkOffsetTable[a]<t;)++a;return this.getChunkDuration(a+1,e)}getChunkDuration(e,t){let a=0,s=t.timeToSampleTable[a].count,r=t.timeToSampleTable[a].duration,i=1,n=this.getSamplesPerChunk(i,t.sampleToChunkTable),o=0;for(;i<e;){let e=Math.min(s,n);o+=e*r,s-=e,0==(n-=e)?(++i,n=this.getSamplesPerChunk(i,t.sampleToChunkTable)):(++a,s=t.timeToSampleTable[a].count,r=t.timeToSampleTable[a].duration)}return o}getSamplesPerChunk(e,t){for(let a=0;a<t.length-1;++a)if(e>=t[a].firstChunk&&e<t[a+1].firstChunk)return t[a].samplesPerChunk;return t[t.length-1].samplesPerChunk}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.