From 6904edf68c359cff56b5e6cae9c1d05e2173cd18 Mon Sep 17 00:00:00 2001 From: Nils Fürniß Date: Wed, 9 Mar 2022 20:47:03 +0100 Subject: add extracting attachments from external subs --- MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'MediaBrowser.Controller/MediaEncoding') diff --git a/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs b/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs index a2b6be1e6..cffc60ba3 100644 --- a/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs +++ b/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs @@ -23,5 +23,10 @@ namespace MediaBrowser.Controller.MediaEncoding MediaSourceInfo mediaSource, string outputPath, CancellationToken cancellationToken); + Task ExtractAllAttachmentsExternal( + string inputArgument, + string id, + string outputPath, + CancellationToken cancellationToken); } } -- cgit v1.2.3 From 90463d5e4f83c6b9972b975cce343e42a181b8ea Mon Sep 17 00:00:00 2001 From: Nils Fürniß Date: Sat, 12 Mar 2022 10:19:57 +0100 Subject: Pass CancellationToken to ExtractAllAttachments --- Jellyfin.Api/Helpers/TranscodingJobHelper.cs | 4 ++-- MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Controller/MediaEncoding') diff --git a/Jellyfin.Api/Helpers/TranscodingJobHelper.cs b/Jellyfin.Api/Helpers/TranscodingJobHelper.cs index 3235da292..d8479de2d 100644 --- a/Jellyfin.Api/Helpers/TranscodingJobHelper.cs +++ b/Jellyfin.Api/Helpers/TranscodingJobHelper.cs @@ -530,7 +530,7 @@ namespace Jellyfin.Api.Helpers if (state.SubtitleStream != null && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode) { var attachmentPath = Path.Combine(_appPaths.CachePath, "attachments", state.MediaSource.Id); - await _attachmentExtractor.ExtractAllAttachments(state.MediaPath, state.MediaSource, attachmentPath, CancellationToken.None).ConfigureAwait(false); + await _attachmentExtractor.ExtractAllAttachments(state.MediaPath, state.MediaSource, attachmentPath, cancellationTokenSource.Token).ConfigureAwait(false); if (state.SubtitleStream.IsExternal) { @@ -538,7 +538,7 @@ namespace Jellyfin.Api.Helpers string subtitlePathArgument = string.Format(CultureInfo.InvariantCulture, "file:\"{0}\"", subtitlePath.Replace("\"", "\\\"", StringComparison.Ordinal)); string subtitleId = subtitlePath.GetMD5().ToString("N", CultureInfo.InvariantCulture); - await _attachmentExtractor.ExtractAllAttachmentsExternal(subtitlePathArgument, subtitleId, attachmentPath, CancellationToken.None).ConfigureAwait(false); + await _attachmentExtractor.ExtractAllAttachmentsExternal(subtitlePathArgument, subtitleId, attachmentPath, cancellationTokenSource.Token).ConfigureAwait(false); } } diff --git a/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs b/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs index cffc60ba3..09840d2ee 100644 --- a/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs +++ b/MediaBrowser.Controller/MediaEncoding/IAttachmentExtractor.cs @@ -18,11 +18,13 @@ namespace MediaBrowser.Controller.MediaEncoding string mediaSourceId, int attachmentStreamIndex, CancellationToken cancellationToken); + Task ExtractAllAttachments( string inputFile, MediaSourceInfo mediaSource, string outputPath, CancellationToken cancellationToken); + Task ExtractAllAttachmentsExternal( string inputArgument, string id, -- cgit v1.2.3