aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2025-08-22 10:08:29 +0200
committerGitHub <noreply@github.com>2025-08-22 10:08:29 +0200
commitce28374d4061b6c7e84d64d750f9e4eaa54162e9 (patch)
tree07a5ea98b4f0fe0087c4b14f8a9c81b64adb7df6
parent7aa1c4644771bfc49b00f817c237a1deddcef855 (diff)
parent29e17b6bc0c002d0de5469d1f795ccacf4a41b56 (diff)
Run background ffmpeg tasks as ProcessPriorityClass.BelowNormal (#14651)
Follow TrickPlay example of running other background ffmpeg tasks as ProcessPriorityClass.BelowNormal: - Keyframe extraction - Media info probing during library scans - Audio normalization - Image extraction Co-authored-by: Evan <evan@MacBook-Pro.local>
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs1
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs1
-rw-r--r--src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs1
3 files changed, 3 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs
index e912e9f01..24992c44a 100644
--- a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs
@@ -199,6 +199,7 @@ public partial class AudioNormalizationTask : IScheduledTask
{
_logger.LogDebug("Starting ffmpeg with arguments: {Arguments}", args);
process.Start();
+ process.PriorityClass = ProcessPriorityClass.BelowNormal;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 237b537bc..d71d46c00 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -1122,6 +1122,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
private void StartProcess(ProcessWrapper process)
{
process.Process.Start();
+ process.Process.PriorityClass = ProcessPriorityClass.BelowNormal;
lock (_runningProcessesLock)
{
diff --git a/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs b/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
index 570c0b9d0..a0dafb8f1 100644
--- a/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
+++ b/src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs
@@ -42,6 +42,7 @@ public static class FfProbeKeyframeExtractor
try
{
process.Start();
+ process.PriorityClass = ProcessPriorityClass.BelowNormal;
return ParseStream(process.StandardOutput);
}