diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations')
| -rw-r--r-- | MediaBrowser.Common.Implementations/BaseApplicationHost.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Common.Implementations/IO/MemoryStreamProvider.cs | 27 |
2 files changed, 28 insertions, 8 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 4099c9c565..e68fee829d 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -234,7 +234,14 @@ namespace MediaBrowser.Common.Implementations JsonSerializer = CreateJsonSerializer(); - MemoryStreamProvider = new MemoryStreamProvider(); + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + MemoryStreamProvider = new RecyclableMemoryStreamProvider(); + } + else + { + MemoryStreamProvider = new MemoryStreamProvider(); + } OnLoggerLoaded(true); LogManager.LoggerLoaded += (s, e) => OnLoggerLoaded(false); diff --git a/MediaBrowser.Common.Implementations/IO/MemoryStreamProvider.cs b/MediaBrowser.Common.Implementations/IO/MemoryStreamProvider.cs index 3640552833..c429474816 100644 --- a/MediaBrowser.Common.Implementations/IO/MemoryStreamProvider.cs +++ b/MediaBrowser.Common.Implementations/IO/MemoryStreamProvider.cs @@ -1,15 +1,10 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.IO; using MediaBrowser.Common.IO; using Microsoft.IO; namespace MediaBrowser.Common.Implementations.IO { - public class MemoryStreamProvider : IMemoryStreamProvider + public class RecyclableMemoryStreamProvider : IMemoryStreamProvider { readonly RecyclableMemoryStreamManager _manager = new RecyclableMemoryStreamManager(); @@ -28,4 +23,22 @@ namespace MediaBrowser.Common.Implementations.IO return _manager.GetStream("RecyclableMemoryStream", buffer, 0, buffer.Length); } } + + public class MemoryStreamProvider : IMemoryStreamProvider + { + public MemoryStream CreateNew() + { + return new MemoryStream(); + } + + public MemoryStream CreateNew(int capacity) + { + return new MemoryStream(capacity); + } + + public MemoryStream CreateNew(byte[] buffer) + { + return new MemoryStream(buffer); + } + } } |
