Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 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/@wasm-audio-decoders/common/src/ drwxr-xr-x | |
| Viewing file: Select action/file-type: export default function WASMAudioDecoderCommon() {
// setup static methods
const uint8Array = Uint8Array;
const float32Array = Float32Array;
if (!WASMAudioDecoderCommon.modules) {
Object.defineProperties(WASMAudioDecoderCommon, {
modules: {
value: new WeakMap(),
},
setModule: {
value(Ref, module) {
WASMAudioDecoderCommon.modules.set(Ref, Promise.resolve(module));
},
},
getModule: {
value(Ref, wasmString) {
let module = WASMAudioDecoderCommon.modules.get(Ref);
if (!module) {
if (!wasmString) {
wasmString = Ref.wasm;
module = WASMAudioDecoderCommon.inflateDynEncodeString(
wasmString
).then((data) => WebAssembly.compile(data));
} else {
module = WebAssembly.compile(
WASMAudioDecoderCommon.decodeDynString(wasmString)
);
}
WASMAudioDecoderCommon.modules.set(Ref, module);
}
return module;
},
},
concatFloat32: {
value(buffers, length) {
let ret = new float32Array(length),
i = 0,
offset = 0;
while (i < buffers.length) {
ret.set(buffers[i], offset);
offset += buffers[i++].length;
}
return ret;
},
},
getDecodedAudio: {
value: (errors, channelData, samplesDecoded, sampleRate, bitDepth) => ({
errors,
channelData,
samplesDecoded,
sampleRate,
bitDepth,
}),
},
getDecodedAudioMultiChannel: {
value(
errors,
input,
channelsDecoded,
samplesDecoded,
sampleRate,
bitDepth
) {
let channelData = [],
i,
j;
for (i = 0; i < channelsDecoded; i++) {
const channel = [];
for (j = 0; j < input.length; ) channel.push(input[j++][i] || []);
channelData.push(
WASMAudioDecoderCommon.concatFloat32(channel, samplesDecoded)
);
}
return WASMAudioDecoderCommon.getDecodedAudio(
errors,
channelData,
samplesDecoded,
sampleRate,
bitDepth
);
},
},
/*
******************
* Compression Code
******************
*/
crc32Table: {
value: (() => {
let crc32Table = new Int32Array(256),
i,
j,
c;
for (i = 0; i < 256; i++) {
for (c = i << 24, j = 8; j > 0; --j)
c = c & 0x80000000 ? (c << 1) ^ 0x04c11db7 : c << 1;
crc32Table[i] = c;
}
return crc32Table;
})(),
},
decodeDynString: {
value(source) {
let output = new uint8Array(source.length);
let offset = parseInt(source.substring(11, 13), 16);
let offsetReverse = 256 - offset;
let crcIdx,
escaped = false,
byteIndex = 0,
byte,
i = 21,
expectedCrc,
resultCrc = 0xffffffff;
while (i < source.length) {
byte = source.charCodeAt(i++);
if (byte === 61 && !escaped) {
escaped = true;
continue;
}
if (escaped) {
escaped = false;
byte -= 64;
}
output[byteIndex] =
byte < offset && byte > 0 ? byte + offsetReverse : byte - offset;
resultCrc =
(resultCrc << 8) ^
WASMAudioDecoderCommon.crc32Table[
((resultCrc >> 24) ^ output[byteIndex++]) & 255
];
}
// expected crc
for (crcIdx = 0; crcIdx <= 8; crcIdx += 2)
expectedCrc |=
parseInt(source.substring(13 + crcIdx, 15 + crcIdx), 16) <<
(crcIdx * 4);
if (expectedCrc !== resultCrc)
throw new Error("WASM string decode failed crc32 validation");
return output.subarray(0, byteIndex);
},
},
inflateDynEncodeString: {
value(source) {
source = WASMAudioDecoderCommon.decodeDynString(source);
return new Promise((resolve) => {
// prettier-ignore
const puffString = String.raw`dynEncode0114db91da9bu*ttt$#U¤¤U¤¤3yzzss|yusvuyÚ&4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444545 444J0444J,4U4U
Ò7U454U4Z4U4U^/6545T4T44BU~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44U~64B6U~O44U~4O4U~54U~5 44~C4~54U~5 44~5454U4B6Ub!444~UO4U~5 U54U4ZTU#44U$464<4~B6^4<444~U~B4U~54U544~544~U5 µUä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~C4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4UZ!4U±_TU#44UU6UÔ~B$544$6U\!4U6U¤#~B44Uä#~B$~64<6_TU#444U~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U[!U#44UO4U~54U~5 U54 7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U54A4U[!44J(44#~A4U6UUU
[!4464~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U#UôJU"UÔJU#UÔ"JU#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U#<U#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U54U$54U1^4U1^!4U~54U~5U54U~6U4U^/65T4T4U$54U~4BU~4O4U54U~5 UU'464U'_/54UU~5T4T4U~4BU~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4U~4O4U~5 U5U5U5TTT4U$"4YTU5 4U4~C5U5 U5U5444$4~64~\TU5 4U~4U~5T4Y!44O4U~54U~54U5 4CYTU5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4U~4$6TU54U\!44B4B~[!44U<~4U4~$5 4U"U#$544"Y!454U^!44<J44<(J454U~84UN!#%'+/37?GOWgw·×÷Uä;U9$%& !"#`;
WASMAudioDecoderCommon.getModule(WASMAudioDecoderCommon, puffString)
.then((wasm) => WebAssembly.instantiate(wasm, {}))
.then(({ exports }) => {
// required for minifiers that mangle the __heap_base property
const instanceExports = new Map(Object.entries(exports));
const puff = instanceExports.get("puff");
const memory = instanceExports.get("memory")["buffer"];
const dataArray = new uint8Array(memory);
const heapView = new DataView(memory);
let heapPos = instanceExports.get("__heap_base");
// source length
const sourceLength = source.length;
const sourceLengthPtr = heapPos;
heapPos += 4;
heapView.setInt32(sourceLengthPtr, sourceLength, true);
// source data
const sourcePtr = heapPos;
heapPos += sourceLength;
dataArray.set(source, sourcePtr);
// destination length
const destLengthPtr = heapPos;
heapPos += 4;
heapView.setInt32(
destLengthPtr,
dataArray.byteLength - heapPos,
true
);
// destination data fills in the rest of the heap
puff(heapPos, destLengthPtr, sourcePtr, sourceLengthPtr);
resolve(
dataArray.slice(
heapPos,
heapPos + heapView.getInt32(destLengthPtr, true)
)
);
});
});
},
},
});
}
Object.defineProperty(this, "wasm", {
enumerable: true,
get: () => this._wasm,
});
this.getOutputChannels = (outputData, channelsDecoded, samplesDecoded) => {
let output = [],
i = 0;
while (i < channelsDecoded)
output.push(
outputData.slice(
i * samplesDecoded,
i++ * samplesDecoded + samplesDecoded
)
);
return output;
};
this.allocateTypedArray = (len, TypedArray, setPointer = true) => {
const ptr = this._wasm.malloc(TypedArray.BYTES_PER_ELEMENT * len);
if (setPointer) this._pointers.add(ptr);
return {
ptr: ptr,
len: len,
buf: new TypedArray(this._wasm.HEAP, ptr, len),
};
};
this.free = () => {
this._pointers.forEach((ptr) => {
this._wasm.free(ptr);
});
this._pointers.clear();
};
this.codeToString = (ptr) => {
const characters = [],
heap = new Uint8Array(this._wasm.HEAP);
for (let character = heap[ptr]; character !== 0; character = heap[++ptr])
characters.push(character);
return String.fromCharCode.apply(null, characters);
};
this.addError = (
errors,
message,
frameLength,
frameNumber,
inputBytes,
outputSamples
) => {
errors.push({
message: message,
frameLength: frameLength,
frameNumber: frameNumber,
inputBytes: inputBytes,
outputSamples: outputSamples,
});
};
this.instantiate = (_EmscriptenWASM, _module) => {
if (_module) WASMAudioDecoderCommon.setModule(_EmscriptenWASM, _module);
this._wasm = new _EmscriptenWASM(WASMAudioDecoderCommon).instantiate();
this._pointers = new Set();
return this._wasm.ready.then(() => this);
};
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0044 ]-- |