Merge pull request #12627 from oxixes/burn-subtitle-cache

pull/12634/head
Cody Robibero 6 months ago committed by GitHub
commit e6ceab46a4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -189,6 +189,8 @@
- [TheMelmacian](https://github.com/TheMelmacian) - [TheMelmacian](https://github.com/TheMelmacian)
- [ItsAllAboutTheCode](https://github.com/ItsAllAboutTheCode) - [ItsAllAboutTheCode](https://github.com/ItsAllAboutTheCode)
- [pret0rian8](https://github.com/pret0rian) - [pret0rian8](https://github.com/pret0rian)
- [jaina heartles](https://github.com/heartles)
- [oxixes](https://github.com/oxixes)
# Emby Contributors # Emby Contributors

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

@ -44,5 +44,14 @@ namespace MediaBrowser.Controller.MediaEncoding
/// <param name="cancellationToken">The cancellation token.</param> /// <param name="cancellationToken">The cancellation token.</param>
/// <returns>System.String.</returns> /// <returns>System.String.</returns>
Task<string> GetSubtitleFileCharacterSet(MediaStream subtitleStream, string language, MediaSourceInfo mediaSource, CancellationToken cancellationToken); 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,13 @@ namespace MediaBrowser.MediaEncoding.Subtitles
} }
} }
public async Task<string> GetSubtitleFilePath(MediaStream subtitleStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
{
var info = await GetReadableFile(mediaSource, subtitleStream, cancellationToken)
.ConfigureAwait(false);
return info.Path;
}
/// <inheritdoc /> /// <inheritdoc />
public void Dispose() public void Dispose()
{ {

Loading…
Cancel
Save