Переглянути джерело

Merge pull request #4063 from BaronGreenback/FilestreamResponse

Our of Memory fix when streaming large files
Bond-009 4 роки тому
батько
коміт
c585af3177

+ 4 - 5
Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.IO;
 using System.Net.Http;
 using System.Threading;
@@ -123,10 +123,9 @@ namespace Jellyfin.Api.Helpers
                     state.Dispose();
                 }
 
-                var memoryStream = new MemoryStream();
-                await new ProgressiveFileCopier(outputPath, job, transcodingJobHelper, CancellationToken.None).WriteToAsync(memoryStream, CancellationToken.None).ConfigureAwait(false);
-                memoryStream.Position = 0;
-                return new FileStreamResult(memoryStream, contentType);
+                await new ProgressiveFileCopier(outputPath, job, transcodingJobHelper, CancellationToken.None)
+                    .WriteToAsync(httpContext.Response.Body, CancellationToken.None).ConfigureAwait(false);
+                return new FileStreamResult(httpContext.Response.Body, contentType);
             }
             finally
             {

+ 0 - 1
Jellyfin.Api/Helpers/StreamingHelpers.cs

@@ -92,7 +92,6 @@ namespace Jellyfin.Api.Helpers
             }
 
             var enableDlnaHeaders = !string.IsNullOrWhiteSpace(streamingRequest.Params) ||
-                                    streamingRequest.StreamOptions.ContainsKey("dlnaheaders") ||
                                     string.Equals(httpRequest.Headers["GetContentFeatures.DLNA.ORG"], "1", StringComparison.OrdinalIgnoreCase);
 
             var state = new StreamState(mediaSourceManager, transcodingJobType, transcodingJobHelper)