rtmpdash/Program.cs

38 lines
1.8 KiB
C#

using System;
using System.Threading;
using LinqToDB.Data;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using RTMPDash.DataModels;
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 const string ServiceAnnouncementUrl = "https://t.me/chaosstream";
public const string ServiceStatusUrl = "https://status.chaos.stream";
public const string ContactInfo =
"<a href=\"https://t.me/zotan\" target=\"_blank\">Telegram</a>, <a href=\"https://threema.id/S59S9U8J\" target=\"_blank\">Threema</a>, or via <a href=\"mailto:chaosstream-contact@zotan.email\" target=\"_blank\">email</a>.";
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<Startup>(); });
}
public static class TimeExtensions {
public static TimeSpan StripMilliseconds(this TimeSpan time) => new(time.Days, time.Hours, time.Minutes, time.Seconds);
}
}