From 5ededaf2893425f976f609d3c5aec68f1f964451 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sat, 17 Dec 2022 19:33:51 +1100 Subject: [PATCH] Remove fluent-ffmpeg dep. TODO: Merge puyo's PR --- package-lock.json | Bin 413198 -> 384281 bytes package.json | 2 -- src/cdn/routes/attachments.ts | 38 ---------------------------------- src/gateway/events/Message.ts | 6 ++---- tsconfig.json | 2 +- 5 files changed, 3 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3189e47bdef0581e3a2ff786ec86a54fda9113d8..929961baa21916e37ba76041f8e63569a627cd4a 100644 GIT binary patch delta 43144 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 => new Promise((resolve, reject) => { - ffmpeg.setFfprobePath(process.env.FFPROBE_PATH as string); - ffmpeg.ffprobe(file, (err, data) => { - if (err) return reject(err); - return resolve(data); - }); -}); - router.post( "/:channel_id", multer.single("file"), @@ -55,13 +44,6 @@ router.post( height = dimensions.height; } } - else if (mimetype.includes("video") && process.env.FFPROBE_PATH) { - const root = process.env.STORAGE_LOCATION || "../"; // hmm, stolen from FileStorage - const out = await probe(Path.join(root, path)); - const stream = out.streams[0]; // hmm - width = stream.width; - height = stream.height; - } const file = { id, @@ -93,26 +75,6 @@ router.get( content_type = "application/octet-stream"; } - // lol, super gross - if (content_type.includes("video") && format == "jpeg" && process.env.FFMPEG_PATH) { - const promise = (): Promise => new Promise((resolve, reject) => { - ffmpeg.setFfmpegPath(process.env.FFMPEG_PATH as string); - const out: any[] = []; - const cmd = ffmpeg(Readable.from(file as Buffer)) - .format("mjpeg") - .frames(1) - .on("end", () => resolve(Buffer.concat(out))) - .on("error", (err) => reject(err)) - const stream = cmd.pipe(); - stream.on("data", (data) => { - out.push(data) - }); - }); - const res = await promise(); - file = res; - content_type = "jpeg"; - } - res.set("Content-Type", content_type); res.set("Cache-Control", "public, max-age=31536000"); diff --git a/src/gateway/events/Message.ts b/src/gateway/events/Message.ts index b112fba0..12b6f8b9 100644 --- a/src/gateway/events/Message.ts +++ b/src/gateway/events/Message.ts @@ -16,10 +16,8 @@ export async function Message(this: WebSocket, buffer: WS.Data) { // TODO: compression var data: Payload; - if ( - (buffer instanceof Buffer && buffer[0] === 123) || - (typeof buffer === "string") - ) { + if ((buffer instanceof Buffer && buffer[0] === 123) || + (typeof buffer === "string")) { data = bigIntJson.parse(buffer.toString()); } else if (this.encoding === "json" && buffer instanceof Buffer) { diff --git a/tsconfig.json b/tsconfig.json index 48187ced..cecccc55 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "exclude": ["./src/webrtc", "./src-slowcord"], + "exclude": ["./src/webrtc"], "include": ["./src"], "compilerOptions": { /* Visit https://aka.ms/tsconfig to read more about this file */