From a69ca6c55bb7183d247c2c3b25203dbed99fd5d9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 6 Oct 2016 14:55:01 -0400 Subject: avoid buffering http responses --- MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs') diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs index dc5e69283..6dda49a55 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs @@ -18,6 +18,8 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.IO; using UniversalDetector; namespace MediaBrowser.MediaEncoding.Subtitles @@ -32,8 +34,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles private readonly IJsonSerializer _json; private readonly IHttpClient _httpClient; private readonly IMediaSourceManager _mediaSourceManager; + private readonly IMemoryStreamProvider _memoryStreamProvider; - public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IJsonSerializer json, IHttpClient httpClient, IMediaSourceManager mediaSourceManager) + public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IJsonSerializer json, IHttpClient httpClient, IMediaSourceManager mediaSourceManager, IMemoryStreamProvider memoryStreamProvider) { _libraryManager = libraryManager; _logger = logger; @@ -43,6 +46,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles _json = json; _httpClient = httpClient; _mediaSourceManager = mediaSourceManager; + _memoryStreamProvider = memoryStreamProvider; } private string SubtitleCachePath @@ -61,7 +65,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles bool preserveOriginalTimestamps, CancellationToken cancellationToken) { - var ms = new MemoryStream(); + var ms = _memoryStreamProvider.CreateNew(); try { @@ -202,7 +206,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles var bytes = Encoding.UTF8.GetBytes(text); - return new MemoryStream(bytes); + return _memoryStreamProvider.CreateNew(bytes); } } } -- cgit v1.2.3