From 0f2ee2686da4b38496dcc9c0578c82849174b22b Mon Sep 17 00:00:00 2001 From: Ulrich Wagner Date: Wed, 19 Feb 2020 16:06:30 +0100 Subject: Constructor of the LibraryManager takes the mediaEncoder as parameter --- .../Library/LibraryManager.cs | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'Emby.Server.Implementations/Library/LibraryManager.cs') diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 1f526ff1c..cd098739f 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -143,6 +143,7 @@ namespace Emby.Server.Implementations.Library public bool IsScanRunning { get; private set; } private IServerApplicationHost _appHost; + private IMediaEncoder _mediaEncoder; /// /// The _library items cache @@ -176,7 +177,8 @@ namespace Emby.Server.Implementations.Library Func libraryMonitorFactory, IFileSystem fileSystem, Func providerManagerFactory, - Func userviewManager) + Func userviewManager, + IMediaEncoder mediaEncoder) { _appHost = appHost; _logger = loggerFactory.CreateLogger(nameof(LibraryManager)); @@ -188,6 +190,7 @@ namespace Emby.Server.Implementations.Library _fileSystem = fileSystem; _providerManagerFactory = providerManagerFactory; _userviewManager = userviewManager; + _mediaEncoder = mediaEncoder; _libraryItemsCache = new ConcurrentDictionary(); @@ -2416,26 +2419,22 @@ namespace Emby.Server.Implementations.Library if (libraryOptions.EnableEmbeddedEpisodeInfos && string.Equals(episodeInfo.Container, "mp4", StringComparison.OrdinalIgnoreCase)) { // Read from metadata - IMediaEncoder mediaEncoder = _appHost.Resolve(); - var task = mediaEncoder.GetMediaInfo(new MediaInfoRequest + var mediaInfo = _mediaEncoder.GetMediaInfo(new MediaInfoRequest { MediaSource = episode.GetMediaSources(false).First(), MediaType = DlnaProfileType.Video, ExtractChapters = false - }, CancellationToken.None); - task.Wait(); - if (task.IsCompletedSuccessfully) { - if (task.Result.ParentIndexNumber > 0) { - episodeInfo.SeasonNumber = task.Result.ParentIndexNumber; - } + }, CancellationToken.None).GetAwaiter().GetResult(); + if (mediaInfo.ParentIndexNumber > 0) { + episodeInfo.SeasonNumber = mediaInfo.ParentIndexNumber; + } - if (task.Result.IndexNumber > 0) { - episodeInfo.EpisodeNumber = task.Result.IndexNumber; - } + if (mediaInfo.IndexNumber > 0) { + episodeInfo.EpisodeNumber = mediaInfo.IndexNumber; + } - if (!string.IsNullOrEmpty(task.Result.ShowName)) { - episodeInfo.SeriesName = task.Result.ShowName; - } + if (!string.IsNullOrEmpty(mediaInfo.ShowName)) { + episodeInfo.SeriesName = mediaInfo.ShowName; } } } -- cgit v1.2.3