diff options
Diffstat (limited to 'MediaBrowser.Server.Startup.Common/ApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/ApplicationHost.cs | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 911a55634..057996739 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -1,4 +1,7 @@ -using MediaBrowser.Api; +using Emby.Drawing; +using Emby.Drawing.GDI; +using Emby.Drawing.ImageMagick; +using MediaBrowser.Api; using MediaBrowser.Common; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Events; @@ -63,7 +66,6 @@ using MediaBrowser.Server.Implementations.Collections; using MediaBrowser.Server.Implementations.Configuration; using MediaBrowser.Server.Implementations.Connect; using MediaBrowser.Server.Implementations.Devices; -using MediaBrowser.Server.Implementations.Drawing; using MediaBrowser.Server.Implementations.Dto; using MediaBrowser.Server.Implementations.EntryPoints; using MediaBrowser.Server.Implementations.FileOrganization; @@ -440,7 +442,7 @@ namespace MediaBrowser.Server.Startup.Common var innerProgress = new ActionableProgress<double>(); innerProgress.RegisterAction(p => progress.Report((.75 * p) + 15)); - ImageProcessor = new ImageProcessor(LogManager.GetLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, JsonSerializer); + ImageProcessor = new ImageProcessor(LogManager.GetLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, JsonSerializer, GetImageEncoder()); RegisterSingleInstance(ImageProcessor); TVSeriesManager = new TVSeriesManager(UserManager, UserDataManager, LibraryManager); @@ -544,6 +546,23 @@ namespace MediaBrowser.Server.Startup.Common await ((UserManager)UserManager).Initialize().ConfigureAwait(false); } + private IImageEncoder GetImageEncoder() + { + if (!_startupOptions.ContainsOption("-enablegdi")) + { + try + { + return new ImageMagickEncoder(LogManager.GetLogger("ImageMagick"), ApplicationPaths); + } + catch (Exception ex) + { + Logger.ErrorException("Error loading ImageMagick. Will revert to GDI.", ex); + } + } + + return new GDIImageEncoder(FileSystemManager, LogManager.GetLogger("GDI")); + } + protected override INetworkManager CreateNetworkManager(ILogger logger) { return NativeApp.CreateNetworkManager(logger); |
