aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
diff options
context:
space:
mode:
authorMark Monteiro <marknr.monteiro@protonmail.com>2020-03-15 18:07:02 +0100
committerMark Monteiro <marknr.monteiro@protonmail.com>2020-03-15 18:07:02 +0100
commite2685c51ec1964c2e894065ef5b902b29ba14442 (patch)
tree761bb5acc627c1cdfd2315da994e91a5aaf04404 /MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
parent923313bb1cda2f265c6fa62f8b2b3f053cafd5a4 (diff)
parent6ab2b74c18e55624c6f8896b3ec20d8ea1031195 (diff)
Merge remote-tracking branch 'upstream/master' into support-running-without-web-content
Diffstat (limited to 'MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs11
1 files changed, 7 insertions, 4 deletions
diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
index a4a7595d2..72db56974 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
};