aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-03 02:31:41 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-03 02:31:41 -0400
commit968e0f088f043290e4bc057e09d83b7f6884555b (patch)
tree731e1541471bbbe4611fa5cfd38f7c38e8e041bb
parent7ace9d6535d373748d7ce0593c2681608b02dcb2 (diff)
fix subtitle encoding in certain situations
-rw-r--r--MediaBrowser.Api/Subtitles/SubtitleService.cs16
1 files changed, 9 insertions, 7 deletions
diff --git a/MediaBrowser.Api/Subtitles/SubtitleService.cs b/MediaBrowser.Api/Subtitles/SubtitleService.cs
index b07a31a87..b3ccee76d 100644
--- a/MediaBrowser.Api/Subtitles/SubtitleService.cs
+++ b/MediaBrowser.Api/Subtitles/SubtitleService.cs
@@ -213,20 +213,22 @@ namespace MediaBrowser.Api.Subtitles
return await ResultFactory.GetStaticFileResult(Request, subtitleStream.Path).ConfigureAwait(false);
}
- using (var stream = await GetSubtitles(request).ConfigureAwait(false))
+ if (string.Equals(request.Format, "vtt", StringComparison.OrdinalIgnoreCase) && request.AddVttTimeMap)
{
- using (var reader = new StreamReader(stream))
+ using (var stream = await GetSubtitles(request).ConfigureAwait(false))
{
- var text = reader.ReadToEnd();
-
- if (string.Equals(request.Format, "vtt", StringComparison.OrdinalIgnoreCase) && request.AddVttTimeMap)
+ using (var reader = new StreamReader(stream))
{
+ var text = reader.ReadToEnd();
+
text = text.Replace("WEBVTT", "WEBVTT\nX-TIMESTAMP-MAP=MPEGTS:900000,LOCAL:00:00:00.000");
- }
- return ResultFactory.GetResult(text, MimeTypes.GetMimeType("file." + request.Format));
+ return ResultFactory.GetResult(text, MimeTypes.GetMimeType("file." + request.Format));
+ }
}
}
+
+ return ResultFactory.GetResult(await GetSubtitles(request).ConfigureAwait(false), MimeTypes.GetMimeType("file." + request.Format));
}
private Task<Stream> GetSubtitles(GetSubtitle request)