|
|
|
@ -213,22 +213,24 @@ namespace MediaBrowser.Api.Subtitles
|
|
|
|
|
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 reader = new StreamReader(stream))
|
|
|
|
|
{
|
|
|
|
|
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");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
return _subtitleEncoder.GetSubtitles(request.Id,
|
|
|
|
|