diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-03 02:31:41 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-03 02:31:41 -0400 |
| commit | 968e0f088f043290e4bc057e09d83b7f6884555b (patch) | |
| tree | 731e1541471bbbe4611fa5cfd38f7c38e8e041bb | |
| parent | 7ace9d6535d373748d7ce0593c2681608b02dcb2 (diff) | |
fix subtitle encoding in certain situations
| -rw-r--r-- | MediaBrowser.Api/Subtitles/SubtitleService.cs | 16 |
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) |
