feat: remove Receiver#createVideoStream
nah
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
4
typings/index.d.ts
vendored
4
typings/index.d.ts
vendored
@@ -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';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user