feat: add configurable multi-threaded parallel scanning for library tasks
Build and Release Plugin / release (push) Successful in 33s
Build and Release Plugin / release (push) Successful in 33s
This commit is contained in:
@@ -12,5 +12,8 @@ namespace JellyfinPlugin.Configuration
|
||||
|
||||
// Tryb odtwarzania: "Server" (FFmpeg wrapper), "Client" (CSS injection w Web UI), "Auto" (Automatyczny: CSS dla Web, FFmpeg dla aplikacji natywnych)
|
||||
public string PlaybackMode { get; set; } = "Auto";
|
||||
|
||||
// Maksymalna liczba równoległych wątków skanowania czarnych pasów (1 - 16, domyślnie 4)
|
||||
public int MaxParallelScans { get; set; } = 4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,12 @@
|
||||
<div class="fieldDescription">Choose how the plugin should remove black bars. Auto mode uses lightweight CSS clipping for Web browser DirectPlay, and falls back to FFmpeg transcoding for native apps or unsupported video formats.</div>
|
||||
</div>
|
||||
|
||||
<div class="inputContainer">
|
||||
<label class="inputLabel inputLabelUnfocused" for="txtMaxParallelScans">Max Parallel Scans (1 - 16):</label>
|
||||
<input type="number" step="1" min="1" max="16" id="txtMaxParallelScans" is="emby-input" required />
|
||||
<div class="fieldDescription">Number of files to analyze concurrently during library scheduled tasks. Default is 4. Higher values speed up library scans on multi-core CPUs.</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block emby-button">
|
||||
<span>Save</span>
|
||||
@@ -56,6 +62,7 @@
|
||||
var mode = config.PlaybackMode || "Auto";
|
||||
if (mode === "Both") mode = "Auto";
|
||||
$('#selectPlaybackMode', page).val(mode);
|
||||
$('#txtMaxParallelScans', page).val(config.MaxParallelScans || 4);
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
});
|
||||
@@ -69,6 +76,7 @@
|
||||
config.IsEnabled = $('#chkEnablePlugin', form).prop('checked');
|
||||
config.CropDetectLimit = parseFloat($('#txtCropLimit', form).val());
|
||||
config.PlaybackMode = $('#selectPlaybackMode', form).val();
|
||||
config.MaxParallelScans = parseInt($('#txtMaxParallelScans', form).val(), 10) || 4;
|
||||
|
||||
ApiClient.updatePluginConfiguration(BlackBarRemoverConfig.pluginUniqueId, config).then(function (result) {
|
||||
Dashboard.processPluginConfigurationUpdateResult(result);
|
||||
|
||||
Reference in New Issue
Block a user