diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-05-06 16:20:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-06 16:20:25 -0400 |
| commit | 21edff3ac2175190e0bca98c9a2f967c79ee57c2 (patch) | |
| tree | 6beddce4dffa97eb199da99867f6b493ce197e64 /MediaBrowser.ServerApplication | |
| parent | 3e29d73d0c77c682e161c413703d5e36a8466885 (diff) | |
| parent | 90452d2faf5e0f34698873707e9e505df3c52f9c (diff) | |
Merge pull request #2618 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.ServerApplication')
5 files changed, 52 insertions, 49 deletions
diff --git a/MediaBrowser.ServerApplication/ImageEncoderHelper.cs b/MediaBrowser.ServerApplication/ImageEncoderHelper.cs new file mode 100644 index 0000000000..ddbde2f666 --- /dev/null +++ b/MediaBrowser.ServerApplication/ImageEncoderHelper.cs @@ -0,0 +1,48 @@ +using System; +using Emby.Drawing; +using Emby.Drawing.Net; +using Emby.Drawing.ImageMagick; +using Emby.Server.Core; +using Emby.Server.Implementations; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Drawing; +using MediaBrowser.Model.IO; +using MediaBrowser.Model.Logging; + +namespace MediaBrowser.Server.Startup.Common +{ + public class ImageEncoderHelper + { + public static IImageEncoder GetImageEncoder(ILogger logger, + ILogManager logManager, + IFileSystem fileSystem, + StartupOptions startupOptions, + Func<IHttpClient> httpClient, + IApplicationPaths appPaths) + { + if (!startupOptions.ContainsOption("-enablegdi")) + { + try + { + return new ImageMagickEncoder(logManager.GetLogger("ImageMagick"), appPaths, httpClient, fileSystem); + } + catch + { + logger.Error("Error loading ImageMagick. Will revert to GDI."); + } + } + + try + { + return new GDIImageEncoder(fileSystem, logManager.GetLogger("GDI")); + } + catch + { + logger.Error("Error loading GDI. Will revert to NullImageEncoder."); + } + + return new NullImageEncoder(); + } + } +} diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs index 3643aab486..8e38c9a987 100644 --- a/MediaBrowser.ServerApplication/MainStartup.cs +++ b/MediaBrowser.ServerApplication/MainStartup.cs @@ -391,9 +391,9 @@ namespace MediaBrowser.ServerApplication } } - private static void GenerateCertificate(string certPath, string certHost) + private static void GenerateCertificate(string certPath, string certHost, string certPassword) { - CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, _logger); + CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, certPassword, _logger); } private static ServerNotifyIcon _serverNotifyIcon; diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index b968c2fb62..749468fe2b 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -135,6 +135,7 @@ <Compile Include="BackgroundServiceInstaller.cs"> <SubType>Component</SubType> </Compile> + <Compile Include="ImageEncoderHelper.cs" /> <Compile Include="MainForm.cs"> <SubType>Form</SubType> </Compile> diff --git a/MediaBrowser.ServerApplication/Native/LoopUtil.cs b/MediaBrowser.ServerApplication/Native/LoopUtil.cs index 6160f853f4..9a96f5518e 100644 --- a/MediaBrowser.ServerApplication/Native/LoopUtil.cs +++ b/MediaBrowser.ServerApplication/Native/LoopUtil.cs @@ -145,16 +145,6 @@ namespace MediaBrowser.ServerApplication.Native { AppContainer app = new AppContainer(PI_app.appContainerName, PI_app.displayName, PI_app.workingDirectory, PI_app.appContainerSid); - var app_capabilities = LoopUtil.getCapabilites(PI_app.capabilities); - if (app_capabilities.Count > 0) - { - //var sid = new SecurityIdentifier(app_capabilities[0], 0); - - IntPtr arrayValue = IntPtr.Zero; - //var b = LoopUtil.ConvertStringSidToSid(app_capabilities[0].Sid, out arrayValue); - //string mysid; - //var b = LoopUtil.ConvertSidToStringSid(app_capabilities[0].Sid, out mysid); - } app.LoopUtil = CheckLoopback(PI_app.appContainerSid); Apps.Add(app); } @@ -209,42 +199,6 @@ namespace MediaBrowser.ServerApplication.Native util.SaveLoopbackState(); } - private static List<SID_AND_ATTRIBUTES> getCapabilites(INET_FIREWALL_AC_CAPABILITIES cap) - { - List<SID_AND_ATTRIBUTES> mycap = new List<SID_AND_ATTRIBUTES>(); - - IntPtr arrayValue = cap.capabilities; - - var structSize = Marshal.SizeOf(typeof(SID_AND_ATTRIBUTES)); - for (var i = 0; i < cap.count; i++) - { - var cur = (SID_AND_ATTRIBUTES)Marshal.PtrToStructure(arrayValue, typeof(SID_AND_ATTRIBUTES)); - mycap.Add(cur); - arrayValue = new IntPtr((long)(arrayValue) + (long)(structSize)); - } - - return mycap; - - } - - private static List<SID_AND_ATTRIBUTES> getContainerSID(INET_FIREWALL_AC_CAPABILITIES cap) - { - List<SID_AND_ATTRIBUTES> mycap = new List<SID_AND_ATTRIBUTES>(); - - IntPtr arrayValue = cap.capabilities; - - var structSize = Marshal.SizeOf(typeof(SID_AND_ATTRIBUTES)); - for (var i = 0; i < cap.count; i++) - { - var cur = (SID_AND_ATTRIBUTES)Marshal.PtrToStructure(arrayValue, typeof(SID_AND_ATTRIBUTES)); - mycap.Add(cur); - arrayValue = new IntPtr((long)(arrayValue) + (long)(structSize)); - } - - return mycap; - - } - private static List<SID_AND_ATTRIBUTES> PI_NetworkIsolationGetAppContainerConfig() { diff --git a/MediaBrowser.ServerApplication/WindowsAppHost.cs b/MediaBrowser.ServerApplication/WindowsAppHost.cs index cd293fddf5..537c8b323c 100644 --- a/MediaBrowser.ServerApplication/WindowsAppHost.cs +++ b/MediaBrowser.ServerApplication/WindowsAppHost.cs @@ -25,7 +25,7 @@ namespace MediaBrowser.ServerApplication { public class WindowsAppHost : ApplicationHost { - public WindowsAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, IMemoryStreamFactory memoryStreamFactory, MediaBrowser.Common.Net.INetworkManager networkManager, Action<string, string> certificateGenerator, Func<string> defaultUsernameFactory) + public WindowsAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, IMemoryStreamFactory memoryStreamFactory, MediaBrowser.Common.Net.INetworkManager networkManager, Action<string, string, string> certificateGenerator, Func<string> defaultUsernameFactory) : base(applicationPaths, logManager, options, fileSystem, powerManagement, releaseAssetFilename, environmentInfo, imageEncoder, systemEvents, memoryStreamFactory, networkManager, certificateGenerator, defaultUsernameFactory) { } |
