DisableTranscodingThrottling.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. [JellyfinMigration("2025-04-20T05:00:00", nameof(DisableTranscodingThrottling), "4124C2CD-E939-4FFB-9BE9-9B311C413638")]
  10. #pragma warning disable CS0618 // Type or member is obsolete
  11. internal class DisableTranscodingThrottling : IMigrationRoutine
  12. #pragma warning restore CS0618 // Type or member is obsolete
  13. {
  14. private readonly ILogger<DisableTranscodingThrottling> _logger;
  15. private readonly IConfigurationManager _configManager;
  16. public DisableTranscodingThrottling(ILogger<DisableTranscodingThrottling> logger, IConfigurationManager configManager)
  17. {
  18. _logger = logger;
  19. _configManager = configManager;
  20. }
  21. /// <inheritdoc/>
  22. public void Perform()
  23. {
  24. // Set EnableThrottling to false since it wasn't used before and may introduce issues
  25. var encoding = _configManager.GetEncodingOptions();
  26. if (encoding.EnableThrottling)
  27. {
  28. _logger.LogInformation("Disabling transcoding throttling during migration");
  29. encoding.EnableThrottling = false;
  30. _configManager.SaveConfiguration("encoding", encoding);
  31. }
  32. }
  33. }
  34. }