aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Wagner <ulrich.wagner@viaregio-services.de>2020-02-19 16:06:30 +0100
committerUlrich Wagner <ulrich.wagner@viaregio-services.de>2020-02-19 16:06:30 +0100
commit0f2ee2686da4b38496dcc9c0578c82849174b22b (patch)
tree729beb119908fd5207505ac75ef1ea73963c7a6d
parentb16ba7d9854dbda4e908908d4790d68a05cd9453 (diff)
Constructor of the LibraryManager takes the mediaEncoder as parameter
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs24
-rw-r--r--Emby.Server.Implementations/Library/LibraryManager.cs29
2 files changed, 26 insertions, 27 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index 0837db251..ceec972e5 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -755,7 +755,18 @@ namespace Emby.Server.Implementations
serviceCollection.AddSingleton(UserManager);
- LibraryManager = new LibraryManager(this, LoggerFactory, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager);
+ MediaEncoder = new MediaBrowser.MediaEncoding.Encoder.MediaEncoder(
+ LoggerFactory.CreateLogger<MediaBrowser.MediaEncoding.Encoder.MediaEncoder>(),
+ ServerConfigurationManager,
+ FileSystemManager,
+ ProcessFactory,
+ LocalizationManager,
+ () => SubtitleEncoder,
+ _configuration,
+ StartupOptions.FFmpegPath);
+ serviceCollection.AddSingleton(MediaEncoder);
+
+ LibraryManager = new LibraryManager(this, LoggerFactory, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager, MediaEncoder);
serviceCollection.AddSingleton(LibraryManager);
var musicManager = new MusicManager(LibraryManager);
@@ -833,17 +844,6 @@ namespace Emby.Server.Implementations
ChapterManager = new ChapterManager(LibraryManager, LoggerFactory, ServerConfigurationManager, ItemRepository);
serviceCollection.AddSingleton(ChapterManager);
- MediaEncoder = new MediaBrowser.MediaEncoding.Encoder.MediaEncoder(
- LoggerFactory.CreateLogger<MediaBrowser.MediaEncoding.Encoder.MediaEncoder>(),
- ServerConfigurationManager,
- FileSystemManager,
- ProcessFactory,
- LocalizationManager,
- () => SubtitleEncoder,
- _configuration,
- StartupOptions.FFmpegPath);
- serviceCollection.AddSingleton(MediaEncoder);
-
EncodingManager = new MediaEncoder.EncodingManager(FileSystemManager, LoggerFactory, MediaEncoder, ChapterManager, LibraryManager);
serviceCollection.AddSingleton(EncodingManager);
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;
/// <summary>
/// The _library items cache
@@ -176,7 +177,8 @@ namespace Emby.Server.Implementations.Library
Func<ILibraryMonitor> libraryMonitorFactory,
IFileSystem fileSystem,
Func<IProviderManager> providerManagerFactory,
- Func<IUserViewManager> userviewManager)
+ Func<IUserViewManager> 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<Guid, BaseItem>();
@@ -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<IMediaEncoder>();
- 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;
}
}
}