Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /home/picotech/domains/wa.picotech.app/public_html/node_modules/music-metadata/lib/musepack/sv8/ drwxr-xr-x |
Viewing file: Select action/file-type: "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StreamReader = void 0; const Token = require("token-types"); const debug_1 = require("debug"); const util = require("../../common/Util"); const debug = (0, debug_1.default)('music-metadata:parser:musepack:sv8'); const PacketKey = new Token.StringType(2, 'binary'); /** * Stream Header Packet part 1 * Ref: http://trac.musepack.net/musepack/wiki/SV8Specification#StreamHeaderPacket */ const SH_part1 = { len: 5, get: (buf, off) => { return { crc: Token.UINT32_LE.get(buf, off), streamVersion: Token.UINT8.get(buf, off + 4) }; } }; /** * Stream Header Packet part 3 * Ref: http://trac.musepack.net/musepack/wiki/SV8Specification#StreamHeaderPacket */ const SH_part3 = { len: 2, get: (buf, off) => { return { sampleFrequency: [44100, 48000, 37800, 32000][util.getBitAllignedNumber(buf, off, 0, 3)], maxUsedBands: util.getBitAllignedNumber(buf, off, 3, 5), channelCount: util.getBitAllignedNumber(buf, off + 1, 0, 4) + 1, msUsed: util.isBitSet(buf, off + 1, 4), audioBlockFrames: util.getBitAllignedNumber(buf, off + 1, 5, 3) }; } }; class StreamReader { constructor(tokenizer) { this.tokenizer = tokenizer; } async readPacketHeader() { const key = await this.tokenizer.readToken(PacketKey); const size = await this.readVariableSizeField(); return { key, payloadLength: size.value - 2 - size.len }; } async readStreamHeader(size) { const streamHeader = {}; debug(`Reading SH at offset=${this.tokenizer.position}`); const part1 = await this.tokenizer.readToken(SH_part1); size -= SH_part1.len; Object.assign(streamHeader, part1); debug(`SH.streamVersion = ${part1.streamVersion}`); const sampleCount = await this.readVariableSizeField(); size -= sampleCount.len; streamHeader.sampleCount = sampleCount.value; const bs = await this.readVariableSizeField(); size -= bs.len; streamHeader.beginningOfSilence = bs.value; const part3 = await this.tokenizer.readToken(SH_part3); size -= SH_part3.len; Object.assign(streamHeader, part3); // assert.equal(size, 0); await this.tokenizer.ignore(size); return streamHeader; } async readVariableSizeField(len = 1, hb = 0) { let n = await this.tokenizer.readNumber(Token.UINT8); if ((n & 0x80) === 0) { return { len, value: hb + n }; } n &= 0x7F; n += hb; return this.readVariableSizeField(len + 1, n << 7); } } exports.StreamReader = StreamReader; |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0048 ]-- |