using System; using System.Collections.Generic; using NzbDrone.Core.Qualities; namespace NzbDrone.Core.MediaFiles { public static class MediaFileExtensions { private static Dictionary _fileExtensions; static MediaFileExtensions() { _fileExtensions = new Dictionary(StringComparer.OrdinalIgnoreCase) { { ".mp2", Quality.Unknown }, { ".mp3", Quality.Unknown }, { ".m4a", Quality.Unknown }, { ".m4b", Quality.Unknown }, { ".m4p", Quality.Unknown }, { ".ogg", Quality.Unknown }, { ".oga", Quality.Unknown }, { ".opus", Quality.Unknown }, { ".wma", Quality.WMA }, { ".wav", Quality.WAV }, { ".wv", Quality.WAVPACK }, { ".flac", Quality.FLAC }, { ".ape", Quality.APE }, { ".aif", Quality.Unknown }, { ".aiff", Quality.Unknown }, { ".aifc", Quality.Unknown } }; } public static HashSet Extensions => new HashSet(_fileExtensions.Keys, StringComparer.OrdinalIgnoreCase); public static Quality GetQualityForExtension(string extension) { if (_fileExtensions.ContainsKey(extension)) { return _fileExtensions[extension]; } return Quality.Unknown; } } }