2
0

DisableTranscodingThrottling.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using MediaBrowser.Common.Configuration;
  3. using Microsoft.Extensions.Logging;
  4. namespace Jellyfin.Server.Migrations.Routines
  5. {
  6. /// <summary>
  7. /// Disable transcode throttling for all installations since it is currently broken for certain video formats.
  8. /// </summary>
  9. internal class DisableTranscodingThrottling : IMigrationRoutine
  10. {
  11. private readonly ILogger<DisableTranscodingThrottling> _logger;
  12. private readonly IConfigurationManager _configManager;
  13. public DisableTranscodingThrottling(ILogger<DisableTranscodingThrottling> logger, IConfigurationManager configManager)
  14. {
  15. _logger = logger;
  16. _configManager = configManager;
  17. }
  18. /// <inheritdoc/>
  19. public Guid Id => Guid.Parse("{4124C2CD-E939-4FFB-9BE9-9B311C413638}");
  20. /// <inheritdoc/>
  21. public string Name => "DisableTranscodingThrottling";
  22. /// <inheritdoc/>
  23. public bool PerformOnNewInstall => false;
  24. /// <inheritdoc/>
  25. public void Perform()
  26. {
  27. // Set EnableThrottling to false since it wasn't used before and may introduce issues
  28. var encoding = _configManager.GetEncodingOptions();
  29. if (encoding.EnableThrottling)
  30. {
  31. _logger.LogInformation("Disabling transcoding throttling during migration");
  32. encoding.EnableThrottling = false;
  33. _configManager.SaveConfiguration("encoding", encoding);
  34. }
  35. }
  36. }
  37. }