discord.js-selfbot-v13
Version:
A unofficial discord.js fork for creating selfbots [Based on discord.js v13]
69 lines (56 loc) • 1.39 kB
JavaScript
;
const BaseDispatcher = require('./BaseDispatcher');
/**
* The class that sends video packet data to the voice connection.
* ```js
* // Obtained using:
* client.voice.joinChannel(channel).then(connection => {
* // You can play a file or a stream here:
* const dispatcher = connection.playVideo('/home/hydrabolt/video.mp4', { fps: 60, preset: 'ultrafast' });
* });
* ```
* @extends {BaseDispatcher}
*/
class VideoDispatcher extends BaseDispatcher {
constructor(player, highWaterMark = 12, streams, fps, payloadType) {
super(player, highWaterMark, payloadType, true, streams);
/**
* Video FPS
* @type {number}
*/
this.fps = fps;
this.mtu = 1200;
}
get TIMESTAMP_INC() {
return 90000 / this.fps;
}
get FRAME_LENGTH() {
return 1000 / this.fps;
}
/**
* Get the type of the dispatcher
* @returns {'video'}
*/
getTypeDispatcher() {
return 'video';
}
partitionMtu(data) {
const out = [];
const dataLength = data.length;
for (let i = 0; i < dataLength; i += this.mtu) {
out.push(data.slice(i, i + this.mtu));
}
return out;
}
/**
* Set FPS
* @param {number} value fps
*/
setFPSSource(value) {
this.fps = value;
}
_codecCallback() {
throw new Error('The _codecCallback method must be implemented');
}
}
module.exports = VideoDispatcher;