|
|
|
@ -88,7 +88,6 @@ using MediaBrowser.Model.Configuration;
|
|
|
|
|
using MediaBrowser.Model.Cryptography;
|
|
|
|
|
using MediaBrowser.Model.Diagnostics;
|
|
|
|
|
using MediaBrowser.Model.Dlna;
|
|
|
|
|
using MediaBrowser.Model.Events;
|
|
|
|
|
using MediaBrowser.Model.Globalization;
|
|
|
|
|
using MediaBrowser.Model.IO;
|
|
|
|
|
using MediaBrowser.Model.MediaInfo;
|
|
|
|
@ -106,7 +105,6 @@ using MediaBrowser.WebDashboard.Api;
|
|
|
|
|
using MediaBrowser.XbmcMetadata.Providers;
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.AspNetCore.Http.Extensions;
|
|
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using OperatingSystem = MediaBrowser.Common.System.OperatingSystem;
|
|
|
|
@ -614,17 +612,11 @@ namespace Emby.Server.Implementations
|
|
|
|
|
serviceCollection.AddTransient(provider => new Lazy<IDtoService>(provider.GetRequiredService<IDtoService>));
|
|
|
|
|
serviceCollection.AddSingleton<IUserManager, UserManager>();
|
|
|
|
|
|
|
|
|
|
// TODO: Add StartupOptions.FFmpegPath to IConfiguration so this doesn't need to be constructed manually
|
|
|
|
|
// TODO: Refactor to eliminate the circular dependency here so that Lazy<T> isn't required
|
|
|
|
|
// TODO: Add StartupOptions.FFmpegPath to IConfiguration and remove this custom activation
|
|
|
|
|
serviceCollection.AddTransient(provider => new Lazy<EncodingHelper>(provider.GetRequiredService<EncodingHelper>));
|
|
|
|
|
serviceCollection.AddSingleton<IMediaEncoder>(provider =>
|
|
|
|
|
new MediaBrowser.MediaEncoding.Encoder.MediaEncoder(
|
|
|
|
|
provider.GetRequiredService<ILogger<MediaBrowser.MediaEncoding.Encoder.MediaEncoder>>(),
|
|
|
|
|
provider.GetRequiredService<IServerConfigurationManager>(),
|
|
|
|
|
provider.GetRequiredService<IFileSystem>(),
|
|
|
|
|
provider.GetRequiredService<IProcessFactory>(),
|
|
|
|
|
provider.GetRequiredService<ILocalizationManager>(),
|
|
|
|
|
provider.GetRequiredService<ISubtitleEncoder>,
|
|
|
|
|
provider.GetRequiredService<IConfiguration>(),
|
|
|
|
|
_startupOptions.FFmpegPath));
|
|
|
|
|
ActivatorUtilities.CreateInstance<MediaBrowser.MediaEncoding.Encoder.MediaEncoder>(provider, _startupOptions.FFmpegPath ?? string.Empty));
|
|
|
|
|
|
|
|
|
|
// TODO: Refactor to eliminate the circular dependencies here so that Lazy<T> isn't required
|
|
|
|
|
serviceCollection.AddTransient(provider => new Lazy<ILibraryMonitor>(provider.GetRequiredService<ILibraryMonitor>));
|
|
|
|
|