ImageEncoderHelper.cs 1000 B

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