From c0835d0cc71db178fd9db355ffa7d9376c34ffad Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Wed, 17 Jul 2024 17:47:04 +0200 Subject: [PATCH] [backend/drive] Correctly process animated PNG images --- Iceshrimp.Backend/Core/Services/ImageProcessor.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Iceshrimp.Backend/Core/Services/ImageProcessor.cs b/Iceshrimp.Backend/Core/Services/ImageProcessor.cs index c1570784..657ce94d 100644 --- a/Iceshrimp.Backend/Core/Services/ImageProcessor.cs +++ b/Iceshrimp.Backend/Core/Services/ImageProcessor.cs @@ -93,6 +93,8 @@ public class ImageProcessor // Correct mime type if (request.MimeType == "image" && ident.Metadata.DecodedImageFormat?.DefaultMimeType != null) request.MimeType = ident.Metadata.DecodedImageFormat.DefaultMimeType; + if (ident.Metadata.TryGetPngMetadata(out var pngMetadata) && pngMetadata.AnimateRootFrame) + request.MimeType = "image/apng"; if (_config.CurrentValue.MediaProcessing.ImageProcessor == Enums.ImageProcessor.None) { @@ -101,7 +103,7 @@ public class ImageProcessor } // Don't generate thumb/webp for animated images - if (ident.FrameMetadataCollection.Count != 0) + if (ident.FrameMetadataCollection.Count != 0 || pngMetadata?.AnimateRootFrame == true) { genThumb = false; genWebp = false;