using System; using LinqToDB.Data; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using RTMPDash.DataModels; using System.Threading; namespace RTMPDash { public class Program { public const string SiteName = "chaos.stream"; public const string IngressDomain = "rtmp://chaos.stream"; public const string RootDomain = "https://chaos.stream"; public const string PlayerDomain = "https://live.on.chaos.stream"; public const string FragmentDomain = "https://cdn.chaos.stream"; public const string StatsDomain = "https://stats.chaos.stream"; public const string PrivacyEmail = "chaosstream-privacy@zotan.email"; public const string CopyrightEmail = "chaosstream-copyright@zotan.email"; public const string AbuseEmail = "chaosstream-abuse@zotan.email"; public static void Main(string[] args) { DataConnection.DefaultSettings = new AppDb.Settings(); ThreadPool.SetMinThreads(100,100); CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } public static class TimeExtensions { public static TimeSpan StripMilliseconds(this TimeSpan time) => new(time.Days, time.Hours, time.Minutes, time.Seconds); } }