public FFProbeProvider( ILogger <FFProbeProvider> logger, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IBlurayExaminer blurayExaminer, ILocalizationManager localization, IEncodingManager encodingManager, IServerConfigurationManager config, ISubtitleManager subtitleManager, IChapterManager chapterManager, ILibraryManager libraryManager, NamingOptions namingOptions) { _logger = logger; _audioResolver = new AudioResolver(localization, mediaEncoder, namingOptions); _subtitleResolver = new SubtitleResolver(localization, mediaEncoder, namingOptions); _videoProber = new FFProbeVideoInfo( _logger, mediaSourceManager, mediaEncoder, itemRepo, blurayExaminer, localization, encodingManager, config, subtitleManager, chapterManager, libraryManager, _audioResolver, _subtitleResolver); _audioProber = new FFProbeAudioInfo(mediaSourceManager, mediaEncoder, itemRepo, libraryManager); }
public Task <ItemUpdateType> FetchAudioInfo <T>(T item, CancellationToken cancellationToken) where T : Audio { var prober = new FFProbeAudioInfo(_mediaEncoder, _itemRepo, _appPaths, _json, _libraryManager); return(prober.Probe(item, cancellationToken)); }
public Task <ItemUpdateType> FetchAudioInfo <T>(T item, CancellationToken cancellationToken) where T : Audio { if (item.LocationType != LocationType.FileSystem) { return(_cachedTask); } var prober = new FFProbeAudioInfo(_mediaEncoder, _itemRepo, _appPaths, _json, _libraryManager); return(prober.Probe(item, cancellationToken)); }
public Task <ItemUpdateType> FetchAudioInfo <T>(T item, MetadataRefreshOptions options, CancellationToken cancellationToken) where T : Audio { if (item.IsVirtualItem) { return(_cachedTask); } if (!options.EnableRemoteContentProbe && !item.IsFileProtocol) { return(_cachedTask); } var prober = new FFProbeAudioInfo(_mediaEncoder, _itemRepo, _appPaths, _json, _libraryManager); return(prober.Probe(item, cancellationToken)); }