jellyfin/MediaBrowser.Model/Dlna/SubtitleProfile.cs

43 lines
1.1 KiB
C#
Raw Normal View History

2015-03-28 21:22:27 +01:00
using MediaBrowser.Model.Extensions;
using System.Collections.Generic;
using System.Xml.Serialization;
2016-12-09 08:23:09 +01:00
using MediaBrowser.Model.Dlna;
2014-07-17 05:17:14 +02:00
namespace MediaBrowser.Model.Dlna
{
public class SubtitleProfile
{
2016-12-09 08:23:09 +01:00
[XmlAttribute("format")]
2014-07-17 05:17:14 +02:00
public string Format { get; set; }
2016-12-09 08:23:09 +01:00
[XmlAttribute("method")]
public SubtitleDeliveryMethod Method { get; set; }
2014-08-07 04:51:09 +02:00
2016-12-09 08:23:09 +01:00
[XmlAttribute("didlMode")]
2014-08-07 04:51:09 +02:00
public string DidlMode { get; set; }
2016-12-09 08:23:09 +01:00
[XmlAttribute("language")]
2015-03-28 21:22:27 +01:00
public string Language { get; set; }
2017-08-19 21:43:35 +02:00
public string[] GetLanguages()
2015-03-28 21:22:27 +01:00
{
2017-08-19 21:43:35 +02:00
return ContainerProfile.SplitValue(Language);
2015-03-28 21:22:27 +01:00
}
2015-10-05 18:05:08 +02:00
public bool SupportsLanguage(string subLanguage)
2015-03-28 21:22:27 +01:00
{
2015-10-05 18:05:08 +02:00
if (string.IsNullOrEmpty(Language))
2015-03-28 21:22:27 +01:00
{
2015-10-05 18:05:08 +02:00
return true;
}
if (string.IsNullOrEmpty(subLanguage))
{
subLanguage = "und";
2015-03-28 21:22:27 +01:00
}
2017-08-19 21:43:35 +02:00
var languages = GetLanguages();
return languages.Length == 0 || ListHelper.ContainsIgnoreCase(languages, subLanguage);
2015-03-28 21:22:27 +01:00
}
2014-07-17 05:17:14 +02:00
}
}