From 7c3c0aa940b29cba64ba241eee3cdcd7f65a9eb6 Mon Sep 17 00:00:00 2001 From: jaina heartles Date: Tue, 23 Jul 2024 15:47:38 -0700 Subject: [PATCH 1/4] Use subtitle cache when burning-in subs --- .../MediaEncoding/EncodingHelper.cs | 10 ++++++---- .../MediaEncoding/ISubtitleEncoder.cs | 9 +++++++++ .../Subtitles/SubtitleEncoder.cs | 6 ++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 778c32c4b4..5cc604a027 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -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, diff --git a/MediaBrowser.Controller/MediaEncoding/ISubtitleEncoder.cs b/MediaBrowser.Controller/MediaEncoding/ISubtitleEncoder.cs index 5bf83a9e31..9bf27b3b2e 100644 --- a/MediaBrowser.Controller/MediaEncoding/ISubtitleEncoder.cs +++ b/MediaBrowser.Controller/MediaEncoding/ISubtitleEncoder.cs @@ -44,5 +44,14 @@ namespace MediaBrowser.Controller.MediaEncoding /// The cancellation token. /// System.String. Task GetSubtitleFileCharacterSet(MediaStream subtitleStream, string language, MediaSourceInfo mediaSource, CancellationToken cancellationToken); + + /// + /// Gets the path to a subtitle file. + /// + /// The subtitle stream. + /// The media source. + /// The cancellation token. + /// System.String. + Task GetSubtitleFilePath(MediaStream subtitleStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken); } } diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs index dbb4b823e3..88a1111a07 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs @@ -902,6 +902,12 @@ namespace MediaBrowser.MediaEncoding.Subtitles } } + public async Task GetSubtitleFilePath(MediaStream subtitleStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken) + { + var info = await GetReadableFile(mediaSource, subtitleStream, cancellationToken); + return info.Path; + } + /// public void Dispose() { From f38e715d01c6ff362524af42a267bfcd9659a0ea Mon Sep 17 00:00:00 2001 From: jaina heartles Date: Fri, 2 Aug 2024 01:00:04 -0700 Subject: [PATCH 2/4] Add @heartles to CONTRIBUTORS.md --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 91faa2c2e1..c262a313c1 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -189,6 +189,7 @@ - [TheMelmacian](https://github.com/TheMelmacian) - [ItsAllAboutTheCode](https://github.com/ItsAllAboutTheCode) - [pret0rian8](https://github.com/pret0rian) + - [jaina heartles](https://github.com/heartles) # Emby Contributors From d2c2dcd53c24938c59061de4f826f59e67d8ff15 Mon Sep 17 00:00:00 2001 From: oxixes <38050447+oxixes@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:43:02 +0200 Subject: [PATCH 3/4] Solve CodeQL issue --- MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs index 88a1111a07..a731d4785b 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs @@ -904,7 +904,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles public async Task GetSubtitleFilePath(MediaStream subtitleStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken) { - var info = await GetReadableFile(mediaSource, subtitleStream, cancellationToken); + var info = await GetReadableFile(mediaSource, subtitleStream, cancellationToken) + .ConfigureAwait(false); return info.Path; } From dd462f807268a6c3eb4b053605c11316b1795b98 Mon Sep 17 00:00:00 2001 From: oxixes <38050447+oxixes@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:50:51 +0200 Subject: [PATCH 4/4] Add @oxixes to contributors --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index c262a313c1..5b94e04e15 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -190,6 +190,7 @@ - [ItsAllAboutTheCode](https://github.com/ItsAllAboutTheCode) - [pret0rian8](https://github.com/pret0rian) - [jaina heartles](https://github.com/heartles) + - [oxixes](https://github.com/oxixes) # Emby Contributors