Fix audio file merge

Image streams are considered as video streams by ffmpeg
Filter out image codec name
This commit is contained in:
Chocobozzz 2022-07-12 16:00:15 +02:00
parent ba24a31c26
commit f686f5ed0a
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 11 additions and 2 deletions

View File

@ -26,7 +26,7 @@ describe('Test stats (excluding redundancy)', function () {
}
before(async function () {
this.timeout(60000)
this.timeout(120000)
servers = await createMultipleServers(3)

View File

@ -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
return !videoStream
if (imageCodecs.has(videoStream.codec_name)) return true
return false
}
async function hasAudioStream (path: string, existingProbe?: FfprobeData) {