浏览代码

Don't return closed stream for subtitles. (jellyfin/jellyfin#2650)

Ian Walton 5 年之前
父节点
当前提交
4836d1674b
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs

+ 4 - 4
MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs

@@ -183,9 +183,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
 
 
         private async Task<Stream> GetSubtitleStream(string path, MediaProtocol protocol, bool requiresCharset, CancellationToken cancellationToken)
         private async Task<Stream> GetSubtitleStream(string path, MediaProtocol protocol, bool requiresCharset, CancellationToken cancellationToken)
         {
         {
-            using (var stream = await GetStream(path, protocol, cancellationToken).ConfigureAwait(false))
+            if (requiresCharset)
             {
             {
-                if (requiresCharset)
+                using (var stream = await GetStream(path, protocol, cancellationToken).ConfigureAwait(false))
                 {
                 {
                     var result = CharsetDetector.DetectFromStream(stream).Detected;
                     var result = CharsetDetector.DetectFromStream(stream).Detected;
                     stream.Position = 0;
                     stream.Position = 0;
@@ -200,9 +200,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
                         return new MemoryStream(Encoding.UTF8.GetBytes(text));
                         return new MemoryStream(Encoding.UTF8.GetBytes(text));
                     }
                     }
                 }
                 }
-
-                return stream;
             }
             }
+
+            return File.OpenRead(path);
         }
         }
 
 
         private async Task<SubtitleInfo> GetReadableFile(
         private async Task<SubtitleInfo> GetReadableFile(