mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 19:48:16 +00:00
update .net core startup
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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": {
|
||||
|
||||
Reference in New Issue
Block a user