public ChunkCollector( ChunkerConfig chunkerConfig, StreamsConfig streamsConfigs) { _chunkerConfig = chunkerConfig; _streamsConfigs = streamsConfigs; }
public SimplePlaylistAssembler( ChunkerConfig chunkerConfig, StreamsConfig streamsConfig) { _chunkerConfig = chunkerConfig; _streamsConfig = streamsConfig; }
public void ConfigureServices(IServiceCollection services) { services.AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_1); // Custom services services.AddSingleton(ChunkerConfig.Load(Configuration)); services.AddSingleton <StreamsConfig>(); services.AddSingleton <StreamsUpdateWatcher>(); services.AddSingleton <ChunkerProcManager>(); }
public ChunkerProcManager( ILogger <ChunkerProcManager> logger, ChunkerConfig chunkerConfig, StreamsConfig streamsConfig) { _logger = logger; _chunkerConfig = chunkerConfig; _streamsConfig = streamsConfig; processes = new ConcurrentBag <ProcEntry>(); }
public StreamsUpdateWatcher(ChunkerConfig chunkerConfig) { watcher = new FileSystemWatcher { Filter = "*" + Path.GetFileName(chunkerConfig.ChannelsCfgPath), Path = Path.GetDirectoryName(chunkerConfig.ChannelsCfgPath), NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName, EnableRaisingEvents = true, }; }
public StreamerController( ChunkerConfig chunkerConfig, StreamerSessionCfg streamerSessionCfg, IDistributedCache cache, ITokenBroker tokenBroker, ISessionBroker sessionBroker, ITokenParser tokenParser, IChunkCollector chunkCollector, IPlaylistAssembler playlistAssembler) { _cache = cache; _tokenBroker = tokenBroker; _tokenParser = tokenParser; _sessionBroker = sessionBroker; _chunkCollector = chunkCollector; _playlistAssembler = playlistAssembler; _chunkerConfig = chunkerConfig; _sessionCfg = streamerSessionCfg; }
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); // Entity Framework var connectionStr = _cfg["DBConnectionStr"]; services.AddDbContext <StreamerContext>( o => o.UseSqlite(connectionStr)); // Redis services.AddDistributedRedisCache(o => { o.Configuration = "localhost"; o.InstanceName = "VideoStreamings"; }); // Custom stuff //services.AddSingleton<StreamingProcManager>(); //services.AddSingleton<StreamsUpdateManager>(); services.AddSingleton(ChunkerConfig.Load(_cfg)); services.AddSingleton(StreamerSessionCfg.Load(_cfg)); services.AddSingleton <StreamsConfig>(); services.AddSingleton <StreamsUpdateWatcher>(); services.AddTransient <IChunkCollector, ChunkCollector>(); services.AddTransient < IPlaylistAssembler, SimplePlaylistAssembler>(); services.AddTransient <ITokenBroker, SHA256TokenBroker>(); services.AddTransient <ITokenParser, TokenParser>(); services.AddTransient <ISessionBroker, SessionBroker>(); services.AddTransient <UserTypeIdentifier>(); services.AddTransient <IUserTypeIdentifier, PaidUserTypeIdentifier>(); services.AddTransient <IUserTypeIdentifier, GuestUserTypeIdentifier>(); }