From: Chocobozzz Date: Tue, 12 Jul 2022 14:00:15 +0000 (+0200) Subject: Fix audio file merge X-Git-Tag: v4.3.0-rc.1~313 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=f686f5ed0aca2c43d42779f9eb2dc1636b5bac6b;p=github%2FChocobozzz%2FPeerTube.git Fix audio file merge Image streams are considered as video streams by ffmpeg Filter out image codec name --- 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) {