fix subtitle encoding in certain situations

pull/1154/head
Luke Pulverenti 8 years ago
parent 7ace9d6535
commit 968e0f088f

@ -213,22 +213,24 @@ namespace MediaBrowser.Api.Subtitles
return await ResultFactory.GetStaticFileResult(Request, subtitleStream.Path).ConfigureAwait(false); return await ResultFactory.GetStaticFileResult(Request, subtitleStream.Path).ConfigureAwait(false);
} }
if (string.Equals(request.Format, "vtt", StringComparison.OrdinalIgnoreCase) && request.AddVttTimeMap)
{
using (var stream = await GetSubtitles(request).ConfigureAwait(false)) using (var stream = await GetSubtitles(request).ConfigureAwait(false))
{ {
using (var reader = new StreamReader(stream)) using (var reader = new StreamReader(stream))
{ {
var text = reader.ReadToEnd(); var text = reader.ReadToEnd();
if (string.Equals(request.Format, "vtt", StringComparison.OrdinalIgnoreCase) && request.AddVttTimeMap)
{
text = text.Replace("WEBVTT", "WEBVTT\nX-TIMESTAMP-MAP=MPEGTS:900000,LOCAL:00:00:00.000"); 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) private Task<Stream> GetSubtitles(GetSubtitle request)
{ {
return _subtitleEncoder.GetSubtitles(request.Id, return _subtitleEncoder.GetSubtitles(request.Id,

Loading…
Cancel
Save