diff --git a/src/codecs/decoders.ts b/src/codecs/decoders.ts index ddb71dac..9ac64fe9 100644 --- a/src/codecs/decoders.ts +++ b/src/codecs/decoders.ts @@ -1,14 +1,16 @@ import { builtinDecode, sniffMimeType, canDecodeImage } from '../lib/util'; import Processor from './processor'; import webpDataUrl from 'url-loader!./tiny.webp'; +import avifDataUrl from 'url-loader!./tiny.avif'; const webPSupported = canDecodeImage(webpDataUrl); +const avifSupported = canDecodeImage(avifDataUrl); export async function decodeImage(blob: Blob, processor: Processor): Promise { const mimeType = await sniffMimeType(blob); try { - if (mimeType === 'image/avif') { + if (mimeType === 'image/avif' && !(await avifSupported)) { return await processor.avifDecode(blob); } if (mimeType === 'image/webp' && !(await webPSupported)) { diff --git a/src/codecs/tiny.avif b/src/codecs/tiny.avif new file mode 100644 index 00000000..bea7e3da Binary files /dev/null and b/src/codecs/tiny.avif differ