2020-03-05 16:21:27 +01:00
|
|
|
using System;
|
|
|
|
using MediaBrowser.Common.Configuration;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
2020-03-05 18:40:17 +01:00
|
|
|
namespace Jellyfin.Server.Migrations.Routines
|
2020-03-05 16:21:27 +01:00
|
|
|
{
|
|
|
|
/// <summary>
|
2020-03-07 20:18:45 +01:00
|
|
|
/// Disable transcode throttling for all installations since it is currently broken for certain video formats.
|
2020-03-05 16:21:27 +01:00
|
|
|
/// </summary>
|
2020-03-06 21:51:50 +01:00
|
|
|
internal class DisableTranscodingThrottling : IMigrationRoutine
|
2020-03-05 16:21:27 +01:00
|
|
|
{
|
2020-06-06 02:15:56 +02:00
|
|
|
private readonly ILogger<DisableTranscodingThrottling> _logger;
|
2020-04-17 05:40:32 +02:00
|
|
|
private readonly IConfigurationManager _configManager;
|
|
|
|
|
|
|
|
public DisableTranscodingThrottling(ILogger<DisableTranscodingThrottling> logger, IConfigurationManager configManager)
|
|
|
|
{
|
|
|
|
_logger = logger;
|
|
|
|
_configManager = configManager;
|
|
|
|
}
|
|
|
|
|
2020-03-08 16:05:31 +01:00
|
|
|
/// <inheritdoc/>
|
|
|
|
public Guid Id => Guid.Parse("{4124C2CD-E939-4FFB-9BE9-9B311C413638}");
|
|
|
|
|
2020-03-05 16:21:27 +01:00
|
|
|
/// <inheritdoc/>
|
2020-03-05 18:09:33 +01:00
|
|
|
public string Name => "DisableTranscodingThrottling";
|
2020-03-05 16:21:27 +01:00
|
|
|
|
2020-07-20 15:45:24 +02:00
|
|
|
/// <inheritdoc/>
|
|
|
|
public bool PerformOnNewInstall => false;
|
|
|
|
|
2020-03-05 16:21:27 +01:00
|
|
|
/// <inheritdoc/>
|
2020-04-17 05:40:32 +02:00
|
|
|
public void Perform()
|
2020-03-05 16:21:27 +01:00
|
|
|
{
|
2020-03-07 20:18:45 +01:00
|
|
|
// Set EnableThrottling to false since it wasn't used before and may introduce issues
|
2021-02-21 02:58:30 +01:00
|
|
|
var encoding = _configManager.GetEncodingOptions();
|
2020-03-05 16:21:27 +01:00
|
|
|
if (encoding.EnableThrottling)
|
|
|
|
{
|
2020-04-17 05:40:32 +02:00
|
|
|
_logger.LogInformation("Disabling transcoding throttling during migration");
|
2020-03-05 16:21:27 +01:00
|
|
|
encoding.EnableThrottling = false;
|
|
|
|
|
2020-04-17 05:40:32 +02:00
|
|
|
_configManager.SaveConfiguration("encoding", encoding);
|
2020-03-05 16:21:27 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|