PageSourceSearch

https://www.benjaminspeed.com/_next/static/chunks/7378.954f8239a151dd64.js

js benjaminspeed.com collected 2026-10-08 05:21:37 UTC 4,190 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7378],{4997:(e,t,a)=>{a.r(t),a.d(t,{DsdiffContentParseError:()=>d,DsdiffParser:()=>l});var n=a(6896),i=a(3220),s=a(2168),r=a(6454),h=a(7429),o=a(8990);let k={len:12,get:(e,t)=>({chunkID:r.e.get(e,t),chunkSize:n.INT64_BE.get(e,t+4)})};var m=a(2277);let u=i("music-metadata:parser:aiff");class d extends(0,m.fO)("DSDIFF"){}class l extends h.s{async parse(){let e=await this.tokenizer.readToken(k);if("FRM8"!==e.chunkID)throw new d("Unexpected chunk-ID");this.metadata.setAudioOnly();let t=(await this.tokenizer.readToken(r.e)).trim();if("DSD"===t)return this.metadata.setFormat("container",`DSDIFF/${t}`),this.metadata.setFormat("lossless",!0),this.readFmt8Chunks(e.chunkSize-BigInt(r.e.len));throw new d(`Unsupported DSDIFF type: ${t}`)}async readFmt8Chunks(e){for(;e>=k.len;){let t=await this.tokenizer.readToken(k);u(`Chunk id=${t.chunkID}`),await this.readData(t),e-=BigInt(k.len)+t.chunkSize}}async readData(e){u(`Reading data of chunk[ID=${e.chunkID}, size=${e.chunkSize}]`);let t=this.tokenizer.position;switch(e.chunkID.trim()){case"FVER":{let e=await this.tokenizer.readToken(n.UINT32_LE);u(`DSDIFF version=${e}`);break}case"PROP":if("SND "!==await this.tokenizer.readToken(r.e))throw new d("Unexpected PROP-chunk ID");await this.handleSoundPropertyChunks(e.chunkSize-BigInt(r.e.len));break;case"ID3":{let t=await this.tokenizer.readToken(new n.Uint8ArrayType(Number(e.chunkSize))),a=s.vY(t);await new o.S().parse(this.metadata,a,this.options);break}case"DSD":this.metadata.format.numberOfChannels&&this.metadata.setFormat("numberOfSamples",Number(e.chunkSize*BigInt(8)/BigInt(this.metadata.format.numberOfChannels))),this.metadata.format.numberOfSamples&&this.metadata.format.sampleRate&&this.metadata.setFormat("duration",this.metadata.format.numberOfSamples/this.metadata.format.sampleRate);break;default:u(`Ignore chunk[ID=${e.chunkID}, size=${e.chunkSize}]`)}let a=e.chunkSize-BigInt(this.tokenizer.position-t);a>0&&(u(`After Parsing chunk, remaining ${a} bytes`),await this.tokenizer.ignore(Number(a)))}async handleSoundPropertyChunks(e){for(u(`Parsing sound-property-chunks, remainingSize=${e}`);e>0;){let t=await this.tokenizer.readToken(k);u(`Sound-property-chunk[ID=${t.chunkID}, size=${t.chunkSize}]`);let a=this.tokenizer.position;switch(t.chunkID.trim()){case"FS":{let e=await this.tokenizer.readToken(n.UINT32_BE);this.metadata.setFormat("sampleRate",e);break}case"CHNL":{let e=await this.tokenizer.readToken(n.UINT16_BE);this.metadata.setFormat("numberOfChannels",e),await this.handleChannelChunks(t.chunkSize-BigInt(n.UINT16_BE.len));break}case"CMPR":{let e=(await this.tokenizer.readToken(r.e)).trim(),t=await this.tokenizer.readToken(n.UINT8),a=await this.tokenizer.readToken(new n.StringType(t,"ascii"));"DSD"===e&&(this.metadata.setFormat("lossless",!0),this.metadata.setFormat("bitsPerSample",1)),this.metadata.setFormat("codec",`${e} (${a})`);break}case"ABSS":{let e=await this.tokenizer.readToken(n.UINT16_BE),t=await this.tokenizer.readToken(n.UINT8),a=await this.tokenizer.readToken(n.UINT8),i=await this.tokenizer.readToken(n.UINT32_BE);u(`ABSS ${e}:${t}:${a}.${i}`);break}case"LSCO":{let e=await this.tokenizer.readToken(n.UINT16_BE);u(`LSCO lsConfig=${e}`);break}default:u(`Unknown sound-property-chunk[ID=${t.chunkID}, size=${t.chunkSize}]`),await this.tokenizer.ignore(Number(t.chunkSize))}let i=t.chunkSize-BigInt(this.tokenizer.position-a);i>0&&(u(`After Parsing sound-property-chunk ${t.chunkSize}, remaining ${i} bytes`),await this.tokenizer.ignore(Number(i))),e-=BigInt(k.len)+t.chunkSize,u(`Parsing sound-property-chunks, remainingSize=${e}`)}if(this.metadata.format.lossless&&this.metadata.format.sampleRate&&this.metadata.format.numberOfChannels&&this.metadata.format.bitsPerSample){let e=this.metadata.format.sampleRate*this.metadata.format.numberOfChannels*this.metadata.format.bitsPerSample;this.metadata.setFormat("bitrate",e)}}async handleChannelChunks(e){u(`Parsing channel-chunks, remainingSize=${e}`);let t=[];for(;e>=r.e.len;){let a=await this.tokenizer.readToken(r.e);u(`Channel[ID=${a}
1]`),t.push(a),e-=BigInt(r.e.len)}return u(`Channels: ${t.join(", ")}`),t}}}}]);

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.