From d6ee51841b4aebbac7e2e02a68f96fbeddcf0a6e Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Mon, 17 Nov 2025 14:27:08 +0100 Subject: [PATCH] image loader: avoid message flood on error in case that several "bad" image effect segments competing to use the GIF decoder, we had a flood of repeating user_print messages --- wled00/image_loader.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wled00/image_loader.cpp b/wled00/image_loader.cpp index 2f922fea..2b4c4745 100644 --- a/wled00/image_loader.cpp +++ b/wled00/image_loader.cpp @@ -167,7 +167,7 @@ byte renderImageToSegment(Segment &seg) { size_t fnameLen = strlen(lastFilename); if ((fnameLen < 4) || strcmp(lastFilename + fnameLen - 4, ".gif") != 0) { // empty segment name, name too short, or name not ending in .gif gifDecodeFailed = true; - USER_PRINTF("GIF decoder unsupported file: %s\n", lastFilename); + DEBUG_PRINTF("GIF decoder unsupported file: %s\n", lastFilename); // can cause message flood if two segments compete over one decoder instance return IMAGE_ERROR_UNSUPPORTED_FORMAT; } @@ -221,6 +221,7 @@ byte renderImageToSegment(Segment &seg) { USER_PRINTF("Invalid GIF dimensions: %dx%d\n", gifWidth, gifHeight); return IMAGE_ERROR_GIF_DECODE; } + USER_PRINTF("Started GIF decoding %dx%d pixels -> %dx%d Segment\n", gifWidth, gifHeight, segCols, segRows); calculateScaling(); } @@ -262,7 +263,7 @@ void endImagePlayback(Segment *seg) { if (!activeSeg || activeSeg != seg) return; if (file) file.close(); decoder.dealloc(); - gifWidth = 0; gifHeight = 0; // WLEDMM clear cached image dimensions + gifWidth = 0; gifHeight = 0; // clear cached image dimensions gifDecodeFailed = false; activeSeg = nullptr; strcpy(lastFilename, "/"); // reset filename