DisableTranscodingThrottling.cs 1.3 KB

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