public NewFFmpegProfileHandler( IResolutionRepository resolutionRepository, IConfigElementRepository configElementRepository) { _resolutionRepository = resolutionRepository; _configElementRepository = configElementRepository; }
protected FFmpegProcessHandler( IChannelRepository channelRepository, IConfigElementRepository configElementRepository) { _channelRepository = channelRepository; _configElementRepository = configElementRepository; }
#pragma warning restore VSTHRD103 private async Task <Unit> StartProcess(StartFFmpegSession request, CancellationToken cancellationToken) { TimeSpan idleTimeout = await _configElementRepository .GetValue <int>(ConfigElementKey.FFmpegSegmenterTimeout) .Map(maybeTimeout => maybeTimeout.Match(i => TimeSpan.FromSeconds(i), () => TimeSpan.FromMinutes(1))); using IServiceScope scope = _serviceScopeFactory.CreateScope(); HlsSessionWorker worker = scope.ServiceProvider.GetRequiredService <HlsSessionWorker>(); _ffmpegSegmenterService.SessionWorkers.AddOrUpdate(request.ChannelNumber, _ => worker, (_, _) => worker); // fire and forget worker _ = worker.Run(request.ChannelNumber, idleTimeout, cancellationToken) .ContinueWith( _ => _ffmpegSegmenterService.SessionWorkers.TryRemove( request.ChannelNumber, out IHlsSessionWorker _), TaskScheduler.Default); string playlistFileName = Path.Combine( FileSystemLayout.TranscodeFolder, request.ChannelNumber, "live.m3u8"); IConfigElementRepository repo = scope.ServiceProvider.GetRequiredService <IConfigElementRepository>(); int initialSegmentCount = await repo.GetValue <int>(ConfigElementKey.FFmpegInitialSegmentCount) .Map(maybeCount => maybeCount.Match(identity, () => 1)); await WaitForPlaylistSegments(playlistFileName, initialSegmentCount, worker, cancellationToken); return(Unit.Default); }
public HardwareAccelerationHealthCheck( IDbContextFactory <TvContext> dbContextFactory, IConfigElementRepository configElementRepository) { _dbContextFactory = dbContextFactory; _configElementRepository = configElementRepository; }
public UpdateFFmpegSettingsHandler( IConfigElementRepository configElementRepository, ILocalFileSystem localFileSystem) { _configElementRepository = configElementRepository; _localFileSystem = localFileSystem; }
public FFmpegStreamSelector( ISearchRepository searchRepository, ILogger <FFmpegStreamSelector> logger, IConfigElementRepository configElementRepository) { _searchRepository = searchRepository; _logger = logger; _configElementRepository = configElementRepository; }
public UpdatePlayoutDaysToBuildHandler( IConfigElementRepository configElementRepository, IDbContextFactory <TvContext> dbContextFactory, ChannelWriter <IBackgroundServiceRequest> workerChannel) { _configElementRepository = configElementRepository; _dbContextFactory = dbContextFactory; _workerChannel = workerChannel; }
public RebuildSearchIndexHandler( ISearchIndex searchIndex, ISearchRepository searchRepository, IConfigElementRepository configElementRepository, ILogger <RebuildSearchIndexHandler> logger) { _searchIndex = searchIndex; _logger = logger; _searchRepository = searchRepository; _configElementRepository = configElementRepository; }
public GetLastPtsDurationHandler( IClient client, ILocalFileSystem localFileSystem, ITempFilePool tempFilePool, IConfigElementRepository configElementRepository, ILogger <GetLastPtsDurationHandler> logger) { _client = client; _localFileSystem = localFileSystem; _tempFilePool = tempFilePool; _configElementRepository = configElementRepository; _logger = logger; }
public StartFFmpegSessionHandler( ILocalFileSystem localFileSystem, ILogger <StartFFmpegSessionHandler> logger, IServiceScopeFactory serviceScopeFactory, IFFmpegSegmenterService ffmpegSegmenterService, IConfigElementRepository configElementRepository) { _localFileSystem = localFileSystem; _logger = logger; _serviceScopeFactory = serviceScopeFactory; _ffmpegSegmenterService = ffmpegSegmenterService; _configElementRepository = configElementRepository; }
public ScanLocalLibraryHandler( ILibraryRepository libraryRepository, IConfigElementRepository configElementRepository, IMovieFolderScanner movieFolderScanner, ITelevisionFolderScanner televisionFolderScanner, IEntityLocker entityLocker, ILogger <ScanLocalLibraryHandler> logger) { _libraryRepository = libraryRepository; _configElementRepository = configElementRepository; _movieFolderScanner = movieFolderScanner; _televisionFolderScanner = televisionFolderScanner; _entityLocker = entityLocker; _logger = logger; }
public GetPlayoutItemProcessByChannelNumberHandler( IChannelRepository channelRepository, IConfigElementRepository configElementRepository, IPlayoutRepository playoutRepository, IMediaSourceRepository mediaSourceRepository, FFmpegProcessService ffmpegProcessService, ILocalFileSystem localFileSystem, ILogger <GetPlayoutItemProcessByChannelNumberHandler> logger) : base(channelRepository, configElementRepository) { _configElementRepository = configElementRepository; _playoutRepository = playoutRepository; _mediaSourceRepository = mediaSourceRepository; _ffmpegProcessService = ffmpegProcessService; _localFileSystem = localFileSystem; _logger = logger; }
public SynchronizePlexLibraryByIdHandler( IMediaSourceRepository mediaSourceRepository, IConfigElementRepository configElementRepository, IPlexSecretStore plexSecretStore, IPlexMovieLibraryScanner plexMovieLibraryScanner, IPlexTelevisionLibraryScanner plexTelevisionLibraryScanner, ILibraryRepository libraryRepository, IEntityLocker entityLocker, ILogger <SynchronizePlexLibraryByIdHandler> logger) { _mediaSourceRepository = mediaSourceRepository; _configElementRepository = configElementRepository; _plexSecretStore = plexSecretStore; _plexMovieLibraryScanner = plexMovieLibraryScanner; _plexTelevisionLibraryScanner = plexTelevisionLibraryScanner; _libraryRepository = libraryRepository; _entityLocker = entityLocker; _logger = logger; }
public SynchronizeJellyfinLibraryByIdHandler( IMediaSourceRepository mediaSourceRepository, IJellyfinSecretStore jellyfinSecretStore, IJellyfinMovieLibraryScanner jellyfinMovieLibraryScanner, IJellyfinTelevisionLibraryScanner jellyfinTelevisionLibraryScanner, ILibraryRepository libraryRepository, IEntityLocker entityLocker, IConfigElementRepository configElementRepository, ChannelWriter <IJellyfinBackgroundServiceRequest> jellyfinWorkerChannel, ILogger <SynchronizeJellyfinLibraryByIdHandler> logger) { _mediaSourceRepository = mediaSourceRepository; _jellyfinSecretStore = jellyfinSecretStore; _jellyfinMovieLibraryScanner = jellyfinMovieLibraryScanner; _jellyfinTelevisionLibraryScanner = jellyfinTelevisionLibraryScanner; _libraryRepository = libraryRepository; _entityLocker = entityLocker; _configElementRepository = configElementRepository; _jellyfinWorkerChannel = jellyfinWorkerChannel; _logger = logger; }
public SynchronizeEmbyLibraryByIdHandler( IMediaSourceRepository mediaSourceRepository, IEmbySecretStore embySecretStore, IEmbyMovieLibraryScanner embyMovieLibraryScanner, IEmbyTelevisionLibraryScanner embyTelevisionLibraryScanner, ILibraryRepository libraryRepository, IEntityLocker entityLocker, IConfigElementRepository configElementRepository, ChannelWriter <IEmbyBackgroundServiceRequest> embyWorkerChannel, ILogger <SynchronizeEmbyLibraryByIdHandler> logger) { _mediaSourceRepository = mediaSourceRepository; _embySecretStore = embySecretStore; _embyMovieLibraryScanner = embyMovieLibraryScanner; _embyTelevisionLibraryScanner = embyTelevisionLibraryScanner; _libraryRepository = libraryRepository; _entityLocker = entityLocker; _configElementRepository = configElementRepository; _embyWorkerChannel = embyWorkerChannel; _logger = logger; }
public ScanLocalLibraryHandler( ILibraryRepository libraryRepository, IConfigElementRepository configElementRepository, IMovieFolderScanner movieFolderScanner, ITelevisionFolderScanner televisionFolderScanner, IMusicVideoFolderScanner musicVideoFolderScanner, IOtherVideoFolderScanner otherVideoFolderScanner, ISongFolderScanner songFolderScanner, IEntityLocker entityLocker, IMediator mediator, ILogger <ScanLocalLibraryHandler> logger) { _libraryRepository = libraryRepository; _configElementRepository = configElementRepository; _movieFolderScanner = movieFolderScanner; _televisionFolderScanner = televisionFolderScanner; _musicVideoFolderScanner = musicVideoFolderScanner; _otherVideoFolderScanner = otherVideoFolderScanner; _songFolderScanner = songFolderScanner; _entityLocker = entityLocker; _mediator = mediator; _logger = logger; }
public FFmpegLocator(IConfigElementRepository configElementRepository) =>
public GetPlayoutDaysToBuildHandler(IConfigElementRepository configElementRepository) =>
public GetFFmpegSettingsHandler(IConfigElementRepository configElementRepository) =>
public GetConcatProcessByChannelNumberHandler( IChannelRepository channelRepository, IConfigElementRepository configElementRepository, FFmpegProcessService ffmpegProcessService) : base(channelRepository, configElementRepository) =>
public SaveConfigElementByKeyHandler(IConfigElementRepository configElementRepository) =>
public UpdateLibraryRefreshIntervalHandler(IConfigElementRepository configElementRepository) =>
public FFmpegVersionHealthCheck(IConfigElementRepository configElementRepository) =>
public UpdateHDHRTunerCountHandler(IConfigElementRepository configElementRepository) =>
public FFmpegReportsHealthCheck(IConfigElementRepository configElementRepository) =>