mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Fix image encoding concurrency limit (#13532)
* Fix image encoding concurrency limit The current FFmpeg image extractor is configured to use a resource pool size that always equals 2 times the number of CPU cores, which is somewhat excessive. Make the default equal to the core count instead of twice, and respect the `ParallelImageEncodingLimit` option. * Fix code stype * Check null value for unit tests
This commit is contained in:
parent
7f43521b64
commit
3f539472f3
@ -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);
|
||||
}
|
||||
|
||||
|
@ -66,7 +66,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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user