aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Subtitles/SubtitleService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Subtitles/SubtitleService.cs')
-rw-r--r--MediaBrowser.Api/Subtitles/SubtitleService.cs11
1 files changed, 7 insertions, 4 deletions
diff --git a/MediaBrowser.Api/Subtitles/SubtitleService.cs b/MediaBrowser.Api/Subtitles/SubtitleService.cs
index 32e6ba076..07eb74e81 100644
--- a/MediaBrowser.Api/Subtitles/SubtitleService.cs
+++ b/MediaBrowser.Api/Subtitles/SubtitleService.cs
@@ -124,20 +124,23 @@ namespace MediaBrowser.Api.Subtitles
private readonly ILibraryManager _libraryManager;
private readonly ISubtitleManager _subtitleManager;
private readonly ISubtitleEncoder _subtitleEncoder;
+ private readonly IMediaSourceManager _mediaSourceManager;
+ private readonly IProviderManager _providerManager;
- public SubtitleService(ILibraryManager libraryManager, ISubtitleManager subtitleManager, ISubtitleEncoder subtitleEncoder)
+ public SubtitleService(ILibraryManager libraryManager, ISubtitleManager subtitleManager, ISubtitleEncoder subtitleEncoder, IMediaSourceManager mediaSourceManager, IProviderManager providerManager)
{
_libraryManager = libraryManager;
_subtitleManager = subtitleManager;
_subtitleEncoder = subtitleEncoder;
+ _mediaSourceManager = mediaSourceManager;
+ _providerManager = providerManager;
}
public object Get(GetSubtitlePlaylist request)
{
var item = (Video)_libraryManager.GetItemById(new Guid(request.Id));
- var mediaSource = item.GetMediaSources(false)
- .First(i => string.Equals(i.Id, request.MediaSourceId ?? request.Id));
+ var mediaSource = _mediaSourceManager.GetStaticMediaSource(item, request.MediaSourceId, false);
var builder = new StringBuilder();
@@ -255,7 +258,7 @@ namespace MediaBrowser.Api.Subtitles
await _subtitleManager.DownloadSubtitles(video, request.SubtitleId, CancellationToken.None)
.ConfigureAwait(false);
- await video.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService()), CancellationToken.None).ConfigureAwait(false);
+ _providerManager.QueueRefresh(video.Id, new MetadataRefreshOptions());
}
catch (Exception ex)
{