diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-20 18:48:52 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-20 18:48:52 -0500 |
| commit | e297e90bceeb3310e32142af406403d54875720d (patch) | |
| tree | 27cedda92ea6452f148bbc87c59fbdbf50566174 /src | |
| parent | 94e622e3a0cfcd14ad47ede3342dfab7a862c4d9 (diff) | |
update .net core startup
Diffstat (limited to 'src')
| -rw-r--r-- | src/Emby.Server/CoreAppHost.cs | 43 | ||||
| -rw-r--r-- | src/Emby.Server/Program.cs | 38 | ||||
| -rw-r--r-- | src/Emby.Server/project.json | 2 |
3 files changed, 67 insertions, 16 deletions
diff --git a/src/Emby.Server/CoreAppHost.cs b/src/Emby.Server/CoreAppHost.cs index 5291f20ef..09df664fa 100644 --- a/src/Emby.Server/CoreAppHost.cs +++ b/src/Emby.Server/CoreAppHost.cs @@ -4,8 +4,7 @@ using System.Linq; using System.Reflection; using System.Threading.Tasks; using Emby.Server.Core; -using Emby.Server.Core.FFMpeg; -using Emby.Server.Data; +using Emby.Server.Implementations.FFMpeg; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using MediaBrowser.Model.System; @@ -39,9 +38,37 @@ namespace Emby.Server { var info = new FFMpegInstallInfo(); + if (EnvironmentInfo.OperatingSystem == OperatingSystem.Windows) + { + info.FFMpegFilename = "ffmpeg.exe"; + info.FFProbeFilename = "ffprobe.exe"; + info.Version = "20160410"; + info.ArchiveType = "7z"; + info.DownloadUrls = GetDownloadUrls(); + } + return info; } + private string[] GetDownloadUrls() + { + switch (EnvironmentInfo.SystemArchitecture) + { + case Architecture.X64: + return new[] + { + "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/windows/ffmpeg-20160410-win64.7z" + }; + case Architecture.X86: + return new[] + { + "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/windows/ffmpeg-20160410-win32.7z" + }; + } + + return new string[] { }; + } + protected override List<Assembly> GetAssembliesWithPartsInternal() { var list = new List<Assembly>(); @@ -59,10 +86,6 @@ namespace Emby.Server { } - public override void LaunchUrl(string url) - { - } - protected override void EnableLoopbackInternal(string appName) { } @@ -98,5 +121,13 @@ namespace Emby.Server return Program.CanSelfUpdate; } } + + protected override bool SupportsDualModeSockets + { + get + { + return true; + } + } } } diff --git a/src/Emby.Server/Program.cs b/src/Emby.Server/Program.cs index e5d8351fe..24e391c73 100644 --- a/src/Emby.Server/Program.cs +++ b/src/Emby.Server/Program.cs @@ -39,19 +39,34 @@ namespace Emby.Server /// </summary> public static void Main(string[] args) { - var options = new StartupOptions(); + var options = new StartupOptions(Environment.GetCommandLineArgs()); + + var environmentInfo = new EnvironmentInfo(); - var currentProcess = Process.GetCurrentProcess(); - var baseDirectory = System.AppContext.BaseDirectory; - //var architecturePath = Path.Combine(Path.GetDirectoryName(applicationPath), Environment.Is64BitProcess ? "x64" : "x86"); + string archPath = baseDirectory; + if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X64) + { + archPath = Path.Combine(archPath, "x64"); + } + else if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X86) + { + archPath = Path.Combine(archPath, "x86"); + } + else + { + archPath = Path.Combine(archPath, "arm"); + } //Wand.SetMagickCoderModulePath(architecturePath); - //var success = SetDllDirectory(architecturePath); + if (environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows) + { + SetDllDirectory(archPath); + } var appPaths = CreateApplicationPaths(baseDirectory); - SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); + SetSqliteProvider(); var logManager = new NlogManager(appPaths.LogDirectoryPath, "server"); logManager.ReloadLogger(LogSeverity.Debug); @@ -75,7 +90,12 @@ namespace Emby.Server return; } - RunApplication(appPaths, logManager, options); + RunApplication(appPaths, logManager, options, environmentInfo); + } + + private static void SetSqliteProvider() + { + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); } /// <summary> @@ -171,7 +191,7 @@ namespace Emby.Server /// <param name="appPaths">The app paths.</param> /// <param name="logManager">The log manager.</param> /// <param name="options">The options.</param> - private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options) + private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options, EnvironmentInfo environmentInfo) { var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), true, true, true); @@ -185,7 +205,7 @@ namespace Emby.Server fileSystem, new PowerManagement(), "emby.windows.zip", - new EnvironmentInfo(), + environmentInfo, imageEncoder, new CoreSystemEvents(), new MemoryStreamFactory(), diff --git a/src/Emby.Server/project.json b/src/Emby.Server/project.json index 0e1cf8bee..35ebdc213 100644 --- a/src/Emby.Server/project.json +++ b/src/Emby.Server/project.json @@ -15,7 +15,7 @@ "Microsoft.Win32.Registry": "4.0.0", "System.Runtime.Extensions": "4.1.0", "System.Diagnostics.Process": "4.1.0", - "SQLitePCLRaw.provider.sqlite3.netstandard11": "1.1.0" + "SQLitePCLRaw.provider.sqlite3.netstandard11": "1.1.1-pre20161109081005" }, "frameworks": { |
