aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Emby.Server/CoreAppHost.cs43
-rw-r--r--src/Emby.Server/Program.cs38
-rw-r--r--src/Emby.Server/project.json2
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": {