namespace TeleWave.Application.Media;

/// <summary>Допустимые контейнеры исходников. Кодеки нормализуются при обработке, поэтому список
/// широкий — важно лишь, что ffmpeg сможет это прочитать.</summary>
public static class MediaFormats
{
    public static readonly IReadOnlySet<string> AllowedExtensions = new HashSet<string>(
        StringComparer.OrdinalIgnoreCase
    )
    {
        ".mp4",
        ".mkv",
        ".avi",
        ".mov",
        ".m4v",
        ".webm",
        ".ts",
        ".mpg",
        ".mpeg",
        ".wmv",
        ".flv",
    };

    public static bool IsAllowed(string fileNameOrExtension)
    {
        var ext = Path.GetExtension(fileNameOrExtension);
        return !string.IsNullOrEmpty(ext) && AllowedExtensions.Contains(ext);
    }
}
