From 75cda47633beb5daaaf819854c61811b986529a8 Mon Sep 17 00:00:00 2001 From: jj Date: Sat, 25 Jan 2025 20:13:19 +0000 Subject: [PATCH] web/libav: accept canonical extension if blob is a file --- web/src/lib/libav.ts | 9 +++++++-- web/src/lib/types/libav.ts | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/web/src/lib/libav.ts b/web/src/lib/libav.ts index 40da0d2e..1dcee27c 100644 --- a/web/src/lib/libav.ts +++ b/web/src/lib/libav.ts @@ -56,9 +56,14 @@ export default class LibAVWrapper { } } - static getExtensionFromType(blob: Blob) { + static getExtensionFromType(blob: Blob | File) { + const canonicalExtension = blob instanceof File && blob.name.split('.').pop()?.toLowerCase(); const extensions = mime.getAllExtensions(blob.type); - const overrides = ['mp3', 'mov']; + + if (canonicalExtension && extensions?.has(canonicalExtension)) + return canonicalExtension; + + const overrides = ['mp3', 'mov', 'opus']; if (!extensions) return; diff --git a/web/src/lib/types/libav.ts b/web/src/lib/types/libav.ts index eed54edf..c0a19e1a 100644 --- a/web/src/lib/types/libav.ts +++ b/web/src/lib/types/libav.ts @@ -7,7 +7,7 @@ export type FileInfo = { } export type RenderParams = { - blob: Blob, + blob: Blob | File, output?: FileInfo, args: string[], }