From 2c8592fe78270723ce9e1def145569a879943b2a Mon Sep 17 00:00:00 2001
From: Bond-009 <bond.009@outlook.com>
Date: Thu, 12 Mar 2020 17:18:49 +0100
Subject: [PATCH] Fix subtitles

---
 .../Subtitles/SubtitleEncoder.cs                      | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
index a4a7595d29..72db569744 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
@@ -183,11 +183,12 @@ namespace MediaBrowser.MediaEncoding.Subtitles
 
         private async Task<Stream> GetSubtitleStream(string path, MediaProtocol protocol, bool requiresCharset, CancellationToken cancellationToken)
         {
-            if (requiresCharset)
+            using (var stream = await GetStream(path, protocol, cancellationToken).ConfigureAwait(false))
             {
-                using (var stream = await GetStream(path, protocol, cancellationToken).ConfigureAwait(false))
+                if (requiresCharset)
                 {
                     var result = CharsetDetector.DetectFromStream(stream).Detected;
+                    stream.Position = 0;
 
                     if (result != null)
                     {
@@ -199,9 +200,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
                         return new MemoryStream(Encoding.UTF8.GetBytes(text));
                     }
                 }
-            }
 
-            return File.OpenRead(path);
+                return stream;
+            }
         }
 
         private async Task<SubtitleInfo> GetReadableFile(
@@ -745,6 +746,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
                     {
                         Url = path,
                         CancellationToken = cancellationToken,
+
+                        // Needed for seeking
                         BufferContent = true
                     };