You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/src/NzbDrone.Core/MediaFiles/MediaFileExtensions.cs

48 lines
1.5 KiB

using System;
using System.Collections.Generic;
using NzbDrone.Core.Qualities;
namespace NzbDrone.Core.MediaFiles
{
public static class MediaFileExtensions
{
private static Dictionary<string, Quality> _fileExtensions;
static MediaFileExtensions()
{
_fileExtensions = new Dictionary<string, Quality>(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 },
{ ".cue", Quality.Unknown }
};
}
public static HashSet<string> Extensions => new HashSet<string>(_fileExtensions.Keys, StringComparer.OrdinalIgnoreCase);
public static Quality GetQualityForExtension(string extension)
{
if (_fileExtensions.ContainsKey(extension))
{
return _fileExtensions[extension];
}
return Quality.Unknown;
}
}
}