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);
 }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }