Use subtitle cache when burning-in subs

pull/12627/head
jaina heartles 7 months ago committed by oxixes
parent c67b78bc68
commit 7c3c0aa940

@ -1652,13 +1652,15 @@ namespace MediaBrowser.Controller.MediaEncoding
setPtsParam);
}
var mediaPath = state.MediaPath ?? string.Empty;
var subtitlePath = _subtitleEncoder.GetSubtitleFilePath(
state.SubtitleStream,
state.MediaSource,
CancellationToken.None).GetAwaiter().GetResult();
return string.Format(
CultureInfo.InvariantCulture,
"subtitles=f='{0}':si={1}{2}{3}{4}{5}",
_mediaEncoder.EscapeSubtitleFilterPath(mediaPath),
state.InternalSubtitleStreamOffset.ToString(CultureInfo.InvariantCulture),
"subtitles=f='{0}'{1}{2}{3}{4}",
_mediaEncoder.EscapeSubtitleFilterPath(subtitlePath),
alphaParam,
sub2videoParam,
fontParam,

@ -44,5 +44,14 @@ namespace MediaBrowser.Controller.MediaEncoding
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>System.String.</returns>
Task<string> GetSubtitleFileCharacterSet(MediaStream subtitleStream, string language, MediaSourceInfo mediaSource, CancellationToken cancellationToken);
/// <summary>
/// Gets the path to a subtitle file.
/// </summary>
/// <param name="subtitleStream">The subtitle stream.</param>
/// <param name="mediaSource">The media source.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>System.String.</returns>
Task<string> GetSubtitleFilePath(MediaStream subtitleStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken);
}
}

@ -902,6 +902,12 @@ namespace MediaBrowser.MediaEncoding.Subtitles
}
}
public async Task<string> GetSubtitleFilePath(MediaStream subtitleStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
{
var info = await GetReadableFile(mediaSource, subtitleStream, cancellationToken);
return info.Path;
}
/// <inheritdoc />
public void Dispose()
{

Loading…
Cancel
Save