EncodingConfigurationExtensions.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System.IO;
  2. using MediaBrowser.Model.Configuration;
  3. namespace MediaBrowser.Common.Configuration
  4. {
  5. /// <summary>
  6. /// Class containing extension methods for working with the encoding configuration.
  7. /// </summary>
  8. public static class EncodingConfigurationExtensions
  9. {
  10. /// <summary>
  11. /// Gets the encoding options.
  12. /// </summary>
  13. /// <param name="configurationManager">The configuration manager.</param>
  14. /// <returns>The encoding options.</returns>
  15. public static EncodingOptions GetEncodingOptions(this IConfigurationManager configurationManager)
  16. => configurationManager.GetConfiguration<EncodingOptions>("encoding");
  17. /// <summary>
  18. /// Retrieves the transcoding temp path from the encoding configuration.
  19. /// </summary>
  20. /// <param name="configurationManager">The Configuration manager.</param>
  21. /// <returns>The transcoding temp path.</returns>
  22. public static string GetTranscodePath(this IConfigurationManager configurationManager)
  23. {
  24. var transcodingTempPath = configurationManager.GetEncodingOptions().TranscodingTempPath;
  25. if (string.IsNullOrEmpty(transcodingTempPath))
  26. {
  27. return Path.Combine(configurationManager.CommonApplicationPaths.ProgramDataPath, "transcodes");
  28. }
  29. return transcodingTempPath;
  30. }
  31. }
  32. }