Exemplo n.º 1
0
 public ChunkCollector(
     ChunkerConfig chunkerConfig,
     StreamsConfig streamsConfigs)
 {
     _chunkerConfig  = chunkerConfig;
     _streamsConfigs = streamsConfigs;
 }
 public SimplePlaylistAssembler(
     ChunkerConfig chunkerConfig,
     StreamsConfig streamsConfig)
 {
     _chunkerConfig = chunkerConfig;
     _streamsConfig = streamsConfig;
 }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 7
0
        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>();
        }