From f4a4fb6416f57305c65c804a75c44cd636df186b Mon Sep 17 00:00:00 2001 From: Elysia <71698422+aiko-chan-ai@users.noreply.github.com> Date: Mon, 16 Sep 2024 22:01:58 +0700 Subject: [PATCH] feat: remove Receiver#createVideoStream nah --- src/client/voice/receiver/PacketHandler.js | 27 ++----------------- src/client/voice/receiver/Receiver.js | 31 ---------------------- typings/index.d.ts | 4 +-- 3 files changed, 4 insertions(+), 58 deletions(-) diff --git a/src/client/voice/receiver/PacketHandler.js b/src/client/voice/receiver/PacketHandler.js index 289bdb6..8f354dd 100644 --- a/src/client/voice/receiver/PacketHandler.js +++ b/src/client/voice/receiver/PacketHandler.js @@ -4,7 +4,6 @@ const EventEmitter = require('events'); const { Buffer } = require('node:buffer'); const crypto = require('node:crypto'); const { setTimeout } = require('node:timers'); -const { IvfJoinner } = require('./video/IvfJoinner'); const Speaking = require('../../../util/Speaking'); const secretbox = require('../util/Secretbox'); const { SILENCE_FRAME } = require('../util/Silence'); @@ -27,7 +26,7 @@ class PacketHandler extends EventEmitter { this.receiver = receiver; this.nonce = null; this.streams = new Map(); - this.videoStreams = new Map(); + this.videoStreams = new Map(); // Placeholder this.speakingTimeouts = new Map(); } @@ -64,14 +63,6 @@ class PacketHandler extends EventEmitter { return stream; } - makeVideoStream(user) { - if (this.videoStreams.has(user)) return this.videoStreams.get(user); - const stream = new IvfJoinner('VP8'); // Test VP8 ok - stream.stream.on('end', () => this.videoStreams.delete(user)); - this.videoStreams.set(user, stream); - return stream; - } - parseBuffer(buffer) { const { secret_key, mode } = this.receiver.connection.authentication; // Open packet @@ -118,20 +109,6 @@ class PacketHandler extends EventEmitter { packet = Buffer.from(packet); break; } - case 'xsalsa20_poly1305_lite': { - packet = secretbox.methods.open(buffer.slice(12, buffer.length - 4), this.nonce, secret_key); - break; - } - - case 'xsalsa20_poly1305_suffix': { - packet = secretbox.methods.open(buffer.slice(12, buffer.length - 24), this.nonce, secret_key); - break; - } - - case 'xsalsa20_poly1305': { - packet = secretbox.methods.open(buffer.slice(12), this.nonce, secret_key); - break; - } default: { throw new RangeError(`Unsupported decryption method: ${mode}`); } @@ -158,7 +135,7 @@ class PacketHandler extends EventEmitter { push(buffer) { const ssrc = buffer.readUInt32BE(8); - const userStat = this.connection.ssrcMap.get(ssrc) || this.connection.ssrcMap.get(ssrc - 1); // Maybe vidoe_ssrc ? + const userStat = this.connection.ssrcMap.get(ssrc) || this.connection.ssrcMap.get(ssrc - 1); // Maybe video_ssrc ? if (!userStat) return; diff --git a/src/client/voice/receiver/Receiver.js b/src/client/voice/receiver/Receiver.js index e359f77..605d992 100644 --- a/src/client/voice/receiver/Receiver.js +++ b/src/client/voice/receiver/Receiver.js @@ -53,37 +53,6 @@ class VoiceReceiver extends EventEmitter { } return stream; } - - /** - * Creates a new video receiving stream. If a stream already exists for a user, then that stream will be returned - * rather than generating a new one. - * @param {UserResolvable} user The user to start listening to. - * @returns {IvfJoinner} - * @deprecated Only support VP8 - * @example - * const video = connection.receiver.createVideoStream('1071734918972985395'); - * video.stream.pipe(fs.createWriteStream('test.ivf')); - * setTimeout(() => { - * video.stop(); - * video.createFinalFile( - * fs.createReadStream('test.ivf'), - * fs.createWriteStream('final.ivf'), - * ); - * }, 10_000); - */ - createVideoStream(user) { - user = this.connection.client.users.resolve(user); - if (!user) throw new Error('VOICE_USER_MISSING'); - const stream = this.packets.makeVideoStream(user.id); - return stream; - } - - createTestVideoStream(user) { - user = this.connection.client.users.resolve(user); - if (!user) throw new Error('VOICE_USER_MISSING'); - const stream = this.packets.makeTestVideoStream(user.id); - return stream; - } } module.exports = VoiceReceiver; diff --git a/typings/index.d.ts b/typings/index.d.ts index 5b0b153..8aef4a9 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -1076,8 +1076,6 @@ export class StreamConnection extends VoiceConnection { export class VoiceReceiver extends EventEmitter { constructor(connection: VoiceConnection); public createStream(user: UserResolvable, options?: { mode?: 'opus' | 'pcm'; end?: 'silence' | 'manual' }): Readable; - /** @deprecated Only recorded VP8 stream */ - public createVideoStream(user: UserResolvable): IvfJoinner; public on(event: 'debug', listener: (error: Error | string) => void): this; public on(event: string, listener: (...args: any[]) => void): this; @@ -1086,12 +1084,14 @@ export class VoiceReceiver extends EventEmitter { public once(event: string, listener: (...args: any[]) => void): this; } +/* export class IvfJoinner { constructor(codec: 'VP8'); public stream: Readable; public stop(): void; public createFinalFile(read: Readable, write: Writable): void; } +*/ export { Collection } from '@discordjs/collection';