2
0

ImageEncoderHelper.cs 976 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using Emby.Drawing;
  3. using Emby.Drawing.Skia;
  4. using Emby.Server.Implementations;
  5. using MediaBrowser.Common.Configuration;
  6. using MediaBrowser.Common.Net;
  7. using MediaBrowser.Controller.Drawing;
  8. using MediaBrowser.Model.IO;
  9. using MediaBrowser.Model.Logging;
  10. namespace MediaBrowser.Server.Startup.Common
  11. {
  12. public class ImageEncoderHelper
  13. {
  14. public static IImageEncoder GetImageEncoder(ILogger logger,
  15. ILogManager logManager,
  16. IFileSystem fileSystem,
  17. StartupOptions startupOptions,
  18. Func<IHttpClient> httpClient,
  19. IApplicationPaths appPaths)
  20. {
  21. try
  22. {
  23. return new SkiaEncoder(logManager.GetLogger("Skia"), appPaths, httpClient, fileSystem);
  24. }
  25. catch
  26. {
  27. logger.Error("Skia not available. Will try next image processor.");
  28. }
  29. return new NullImageEncoder();
  30. }
  31. }
  32. }