diff options
Diffstat (limited to 'MediaBrowser.Model/Dlna/SubtitleProfile.cs')
| -rw-r--r-- | MediaBrowser.Model/Dlna/SubtitleProfile.cs | 84 |
1 files changed, 49 insertions, 35 deletions
diff --git a/MediaBrowser.Model/Dlna/SubtitleProfile.cs b/MediaBrowser.Model/Dlna/SubtitleProfile.cs index 9ebde25ffe..1879f2dd23 100644 --- a/MediaBrowser.Model/Dlna/SubtitleProfile.cs +++ b/MediaBrowser.Model/Dlna/SubtitleProfile.cs @@ -1,48 +1,62 @@ #nullable disable -#pragma warning disable CS1591 -using System; using System.Xml.Serialization; -using Jellyfin.Extensions; +using MediaBrowser.Model.Extensions; -namespace MediaBrowser.Model.Dlna +namespace MediaBrowser.Model.Dlna; + +/// <summary> +/// A class for subtitle profile information. +/// </summary> +public class SubtitleProfile { - public class SubtitleProfile + /// <summary> + /// Gets or sets the format. + /// </summary> + [XmlAttribute("format")] + public string Format { get; set; } + + /// <summary> + /// Gets or sets the delivery method. + /// </summary> + [XmlAttribute("method")] + public SubtitleDeliveryMethod Method { get; set; } + + /// <summary> + /// Gets or sets the DIDL mode. + /// </summary> + [XmlAttribute("didlMode")] + public string DidlMode { get; set; } + + /// <summary> + /// Gets or sets the language. + /// </summary> + [XmlAttribute("language")] + public string Language { get; set; } + + /// <summary> + /// Gets or sets the container. + /// </summary> + [XmlAttribute("container")] + public string Container { get; set; } + + /// <summary> + /// Checks if a language is supported. + /// </summary> + /// <param name="subLanguage">The language to check for support.</param> + /// <returns><c>true</c> if supported.</returns> + public bool SupportsLanguage(string subLanguage) { - [XmlAttribute("format")] - public string Format { get; set; } - - [XmlAttribute("method")] - public SubtitleDeliveryMethod Method { get; set; } - - [XmlAttribute("didlMode")] - public string DidlMode { get; set; } - - [XmlAttribute("language")] - public string Language { get; set; } - - [XmlAttribute("container")] - public string Container { get; set; } - - public string[] GetLanguages() + if (string.IsNullOrEmpty(Language)) { - return ContainerProfile.SplitValue(Language); + return true; } - public bool SupportsLanguage(string subLanguage) + if (string.IsNullOrEmpty(subLanguage)) { - if (string.IsNullOrEmpty(Language)) - { - return true; - } - - if (string.IsNullOrEmpty(subLanguage)) - { - subLanguage = "und"; - } - - var languages = GetLanguages(); - return languages.Length == 0 || languages.Contains(subLanguage, StringComparison.OrdinalIgnoreCase); + subLanguage = "und"; } + + return ContainerHelper.ContainsContainer(Language, subLanguage); } } |
