using System.IO;
using System.Linq;
namespace EmbyToolbox.Services;
/// Единый список поддерживаемых расширений видео для очереди, объединения и анализа.
public static class SupportedVideoFormats
{
private static readonly HashSet Extensions = new(StringComparer.OrdinalIgnoreCase)
{
".mkv", ".mp4", ".avi", ".mov", ".wmv", ".flv", ".ts", ".m2ts", ".webm", ".mpeg", ".mpg", ".m4v",
".3gp", ".ogv", ".vob", ".rmvb", ".asf", ".divx", ".f4v", ".mts", ".m2v", ".mp2", ".mpv", ".qt",
".hevc", ".h265", ".h264",
};
public static bool IsSupportedVideoFile(string path)
{
if (string.IsNullOrWhiteSpace(path))
{
return false;
}
var extension = Path.GetExtension(path);
return !string.IsNullOrWhiteSpace(extension) && Extensions.Contains(extension);
}
/// Фильтр для OpenFileDialog: только поддерживаемые видео.
public static string BuildOpenFileDialogFilter()
{
var globs = string.Join(";", Extensions.OrderBy(e => e, StringComparer.Ordinal).Select(e => $"*{e}"));
return $"Видеофайлы|{globs}|Все файлы|*.*";
}
}