aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Mono
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Mono')
-rw-r--r--MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs25
-rw-r--r--MediaBrowser.Server.Mono/ImageMagickSharp.dll.config4
-rw-r--r--MediaBrowser.Server.Mono/Imazen.WebP.dll.config4
-rw-r--r--MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj7
-rw-r--r--MediaBrowser.Server.Mono/Native/BaseMonoApp.cs13
5 files changed, 44 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs b/MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs
new file mode 100644
index 000000000..a66365212
--- /dev/null
+++ b/MediaBrowser.Server.Mono/Diagnostics/LinuxProcessManager.cs
@@ -0,0 +1,25 @@
+using MediaBrowser.Controller.Diagnostics;
+using System.Diagnostics;
+
+namespace MediaBrowser.Server.Mono.Diagnostics
+{
+ public class LinuxProcessManager : IProcessManager
+ {
+ public bool SupportsSuspension
+ {
+ get { return true; }
+ }
+
+ public void SuspendProcess(Process process)
+ {
+ // http://jumptuck.com/2011/11/23/quick-tip-pause-process-linux/
+ process.StandardInput.WriteLine("^Z");
+ }
+
+ public void ResumeProcess(Process process)
+ {
+ // http://jumptuck.com/2011/11/23/quick-tip-pause-process-linux/
+ process.StandardInput.WriteLine("fg");
+ }
+ }
+}
diff --git a/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config b/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config
new file mode 100644
index 000000000..ac4918ef2
--- /dev/null
+++ b/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config
@@ -0,0 +1,4 @@
+<configuration>
+ <dllmap dll="CORE_RL_Wand_.dll" target="libMagickWand-6.Q8.so" os="linux"/>
+ <dllmap dll="CORE_RL_Wand_.dll" target="./MediaInfo/osx/libmediainfo.dylib" os="osx"/>
+</configuration> \ No newline at end of file
diff --git a/MediaBrowser.Server.Mono/Imazen.WebP.dll.config b/MediaBrowser.Server.Mono/Imazen.WebP.dll.config
deleted file mode 100644
index a7a2c1397..000000000
--- a/MediaBrowser.Server.Mono/Imazen.WebP.dll.config
+++ /dev/null
@@ -1,4 +0,0 @@
-<configuration>
- <dllmap dll="libwebp" target="./libwebp/osx/libwebp.5.dylib" os="osx"/>
- <dllmap dll="libwebp" target="libwebp.so.5" os="linux"/>
-</configuration>
diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
index 232caba4f..8f552ee36 100644
--- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
+++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
@@ -74,6 +74,7 @@
<Compile Include="..\SharedVersion.cs">
<Link>Properties\SharedVersion.cs</Link>
</Compile>
+ <Compile Include="Diagnostics\LinuxProcessManager.cs" />
<Compile Include="Native\BaseMonoApp.cs" />
<Compile Include="Networking\CertificateGenerator.cs" />
<Compile Include="Program.cs" />
@@ -137,10 +138,6 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
- <None Include="..\ThirdParty\libwebp\osx\libwebp.5.dylib">
- <Link>libwebp\osx\libwebp.5.dylib</Link>
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
<None Include="..\ThirdParty\MediaInfo\osx\libmediainfo.dylib">
<Link>MediaInfo\osx\libmediainfo.dylib</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -154,7 +151,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="app.config" />
- <None Include="Imazen.WebP.dll.config">
+ <None Include="ImageMagickSharp.dll.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="MediaBrowser.MediaInfo.dll.config">
diff --git a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
index 1ec0109ad..139661aa2 100644
--- a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
+++ b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
@@ -1,6 +1,8 @@
using MediaBrowser.Common.Net;
+using MediaBrowser.Controller.Diagnostics;
using MediaBrowser.IsoMounter;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Server.Mono.Diagnostics;
using MediaBrowser.Server.Mono.Networking;
using MediaBrowser.Server.Startup.Common;
using Mono.Unix.Native;
@@ -189,5 +191,16 @@ namespace MediaBrowser.Server.Mono.Native
public string sysname = string.Empty;
public string machine = string.Empty;
}
+
+
+ public IProcessManager GetProcessManager()
+ {
+ if (Environment.OperatingSystem == Startup.Common.OperatingSystem.Linux)
+ {
+ return new LinuxProcessManager();
+ }
+
+ return new ProcessManager();
+ }
}
}