From f686f5ed0aca2c43d42779f9eb2dc1636b5bac6b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 12 Jul 2022 16:00:15 +0200 Subject: [PATCH] Fix audio file merge Image streams are considered as video streams by ffmpeg Filter out image codec name --- server/tests/api/server/stats.ts | 2 +- shared/extra-utils/ffprobe.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/tests/api/server/stats.ts b/server/tests/api/server/stats.ts index 6654eaaee..bc35cbe4e 100644 --- a/server/tests/api/server/stats.ts +++ b/server/tests/api/server/stats.ts @@ -26,7 +26,7 @@ describe('Test stats (excluding redundancy)', function () { } before(async function () { - this.timeout(60000) + this.timeout(120000) servers = await createMultipleServers(3) diff --git a/shared/extra-utils/ffprobe.ts b/shared/extra-utils/ffprobe.ts index dfacd251c..b95202464 100644 --- a/shared/extra-utils/ffprobe.ts +++ b/shared/extra-utils/ffprobe.ts @@ -21,10 +21,19 @@ function ffprobePromise (path: string) { // Audio // --------------------------------------------------------------------------- +const imageCodecs = new Set([ + 'ansi', 'apng', 'bintext', 'bmp', 'brender_pix', 'dpx', 'exr', 'fits', 'gem', 'gif', 'jpeg2000', 'jpgls', 'mjpeg', 'mjpegb', 'msp2', + 'pam', 'pbm', 'pcx', 'pfm', 'pgm', 'pgmyuv', 'pgx', 'photocd', 'pictor', 'png', 'ppm', 'psd', 'sgi', 'sunrast', 'svg', 'targa', 'tiff', + 'txd', 'webp', 'xbin', 'xbm', 'xface', 'xpm', 'xwd' +]) + async function isAudioFile (path: string, existingProbe?: FfprobeData) { const videoStream = await getVideoStream(path, existingProbe) + if (!videoStream) return true + + if (imageCodecs.has(videoStream.codec_name)) return true - return !videoStream + return false } async function hasAudioStream (path: string, existingProbe?: FfprobeData) { -- 2.41.0