This commit is contained in:
root
2026-05-12 19:38:23 +07:00
commit 7ad5e58ffa
15 changed files with 125548 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
import { Transform, TransformCallback } from "stream";
/**
* Transform stream untuk memfilter audio packets yang terlalu kecil
* Packet yang terlalu kecil kemungkinan gagal didekripsi oleh Discord
*/
export class PacketFilter extends Transform {
private minPacketSize: number;
private filteredCount: number = 0;
private totalCount: number = 0;
constructor(minPacketSize: number = 10) {
super();
this.minPacketSize = minPacketSize;
}
_transform(chunk: Buffer, encoding: string, callback: TransformCallback): void {
this.totalCount++;
// Filter packet yang terlalu kecil
if (chunk.length >= this.minPacketSize) {
this.push(chunk);
} else {
this.filteredCount++;
if (this.filteredCount % 10 === 0) {
// console.log(`[packet-filter] Filtered ${this.filteredCount} small packets (size < ${this.minPacketSize} bytes)`);
}
}
callback();
}
_flush(callback: TransformCallback): void {
// console.log(`[packet-filter] Total packets: ${this.totalCount}, filtered: ${this.filteredCount}, passed: ${this.totalCount - this.filteredCount}`);
callback();
}
}