jellyfin/MediaBrowser.Model/Dlna/SubtitleProfile.cs

48 lines
1.3 KiB
C#
Raw Normal View History

2015-03-28 20:22:27 +00:00
using MediaBrowser.Model.Extensions;
using System.Collections.Generic;
using System.Xml.Serialization;
2016-12-09 07:23:09 +00:00
using MediaBrowser.Model.Dlna;
2014-07-17 03:17:14 +00:00
namespace MediaBrowser.Model.Dlna
{
public class SubtitleProfile
{
2016-12-09 07:23:09 +00:00
[XmlAttribute("format")]
2014-07-17 03:17:14 +00:00
public string Format { get; set; }
2016-12-09 07:23:09 +00:00
[XmlAttribute("method")]
public SubtitleDeliveryMethod Method { get; set; }
2014-08-07 02:51:09 +00:00
2016-12-09 07:23:09 +00:00
[XmlAttribute("didlMode")]
2014-08-07 02:51:09 +00:00
public string DidlMode { get; set; }
2016-12-09 07:23:09 +00:00
[XmlAttribute("language")]
2015-03-28 20:22:27 +00:00
public string Language { get; set; }
public List<string> GetLanguages()
{
List<string> list = new List<string>();
foreach (string i in (Language ?? string.Empty).Split(','))
{
if (!string.IsNullOrEmpty(i)) list.Add(i);
}
return list;
}
2015-10-05 16:05:08 +00:00
public bool SupportsLanguage(string subLanguage)
2015-03-28 20:22:27 +00:00
{
2015-10-05 16:05:08 +00:00
if (string.IsNullOrEmpty(Language))
2015-03-28 20:22:27 +00:00
{
2015-10-05 16:05:08 +00:00
return true;
}
if (string.IsNullOrEmpty(subLanguage))
{
subLanguage = "und";
2015-03-28 20:22:27 +00:00
}
List<string> languages = GetLanguages();
2015-10-05 16:05:08 +00:00
return languages.Count == 0 || ListHelper.ContainsIgnoreCase(languages, subLanguage);
2015-03-28 20:22:27 +00:00
}
2014-07-17 03:17:14 +00:00
}
}