SubtitleProfile.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #nullable disable
  2. #pragma warning disable CS1591
  3. using System;
  4. using System.Linq;
  5. using System.Xml.Serialization;
  6. namespace MediaBrowser.Model.Dlna
  7. {
  8. public class SubtitleProfile
  9. {
  10. [XmlAttribute("format")]
  11. public string Format { get; set; }
  12. [XmlAttribute("method")]
  13. public SubtitleDeliveryMethod Method { get; set; }
  14. [XmlAttribute("didlMode")]
  15. public string DidlMode { get; set; }
  16. [XmlAttribute("language")]
  17. public string Language { get; set; }
  18. [XmlAttribute("container")]
  19. public string Container { get; set; }
  20. public string[] GetLanguages()
  21. {
  22. return ContainerProfile.SplitValue(Language);
  23. }
  24. public bool SupportsLanguage(string subLanguage)
  25. {
  26. if (string.IsNullOrEmpty(Language))
  27. {
  28. return true;
  29. }
  30. if (string.IsNullOrEmpty(subLanguage))
  31. {
  32. subLanguage = "und";
  33. }
  34. var languages = GetLanguages();
  35. return languages.Length == 0 || languages.Contains(subLanguage, StringComparer.OrdinalIgnoreCase);
  36. }
  37. }
  38. }