From 51e20a14c29b67bf9e8c0bbf9e92f1fe406062c3 Mon Sep 17 00:00:00 2001 From: karm235 Date: Tue, 7 Oct 2025 12:11:02 -0500 Subject: [PATCH] Fix LUFS detection deadlock on albums with verbose output --- .../Tasks/AudioNormalizationTask.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs index a28f280afd..78b8759c5d 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs @@ -261,14 +261,23 @@ public partial class AudioNormalizationTask : IScheduledTask using var reader = process.StandardError; float? lufs = null; + var foundLufs = false; await foreach (var line in reader.ReadAllLinesAsync(cancellationToken).ConfigureAwait(false)) { - Match match = LUFSRegex().Match(line); - if (match.Success) + if (foundLufs) { - lufs = float.Parse(match.Groups[1].ValueSpan, CultureInfo.InvariantCulture.NumberFormat); - break; + continue; } + + Match match = LUFSRegex().Match(line); + if (!match.Success) + { + continue; + } + + lufs = float.Parse(match.Groups[1].ValueSpan, CultureInfo.InvariantCulture.NumberFormat); + foundLufs = true; + // Don't break - keep draining stderr to prevent buffer deadlock } if (lufs is null)