瀏覽代碼

Backport pull request #13532 from jellyfin/release-10.10.z

Fix image encoding concurrency limit

Original-merge: 3f539472f3a7c216a6c7d34fb947a144e249f154

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
gnattu 3 月之前
父節點
當前提交
1ebef57508
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 7 1
      MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
  2. 1 1
      src/Jellyfin.Drawing/ImageProcessor.cs

+ 7 - 1
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

@@ -122,7 +122,13 @@ namespace MediaBrowser.MediaEncoding.Encoder
             _jsonSerializerOptions = new JsonSerializerOptions(JsonDefaults.Options);
             _jsonSerializerOptions.Converters.Add(new JsonBoolStringConverter());
 
-            var semaphoreCount = 2 * Environment.ProcessorCount;
+            // Although the type is not nullable, this might still be null during unit tests
+            var semaphoreCount = serverConfig.Configuration?.ParallelImageEncodingLimit ?? 0;
+            if (semaphoreCount < 1)
+            {
+                semaphoreCount = Environment.ProcessorCount;
+            }
+
             _thumbnailResourcePool = new(semaphoreCount);
         }
 

+ 1 - 1
src/Jellyfin.Drawing/ImageProcessor.cs

@@ -68,7 +68,7 @@ public sealed class ImageProcessor : IImageProcessor, IDisposable
         var semaphoreCount = config.Configuration.ParallelImageEncodingLimit;
         if (semaphoreCount < 1)
         {
-            semaphoreCount = 2 * Environment.ProcessorCount;
+            semaphoreCount = Environment.ProcessorCount;
         }
 
         _parallelEncodingLimit = new(semaphoreCount);