diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-21 22:08:34 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-21 22:08:34 -0400 |
| commit | c7f559f8cefa4c4b90df3bff72290c8bd5b18e01 (patch) | |
| tree | 4d26b4995e7df5d44c39d76ba58db66f1e48dbc4 /MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs | |
| parent | f8c603d5ebc28e03140df4f1b155c97b387f09a5 (diff) | |
make model project portable
Diffstat (limited to 'MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs')
| -rw-r--r-- | MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs b/MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs new file mode 100644 index 0000000000..4619d91bc9 --- /dev/null +++ b/MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs @@ -0,0 +1,68 @@ +using MediaBrowser.Model.Extensions; +using System.Collections.Generic; +using System.Xml.Serialization; +using MediaBrowser.Model.Dlna; + +namespace MediaBrowser.Dlna.ProfileSerialization +{ + public class CodecProfile + { + [XmlAttribute("type")] + public CodecType Type { get; set; } + + public ProfileCondition[] Conditions { get; set; } + + public ProfileCondition[] ApplyConditions { get; set; } + + [XmlAttribute("codec")] + public string Codec { get; set; } + + [XmlAttribute("container")] + public string Container { get; set; } + + public CodecProfile() + { + Conditions = new ProfileCondition[] {}; + ApplyConditions = new ProfileCondition[] { }; + } + + public List<string> GetCodecs() + { + List<string> list = new List<string>(); + foreach (string i in (Codec ?? string.Empty).Split(',')) + { + if (!string.IsNullOrEmpty(i)) list.Add(i); + } + return list; + } + + public List<string> GetContainers() + { + List<string> list = new List<string>(); + foreach (string i in (Container ?? string.Empty).Split(',')) + { + if (!string.IsNullOrEmpty(i)) list.Add(i); + } + return list; + } + + private bool ContainsContainer(string container) + { + List<string> containers = GetContainers(); + + return containers.Count == 0 || ListHelper.ContainsIgnoreCase(containers, container ?? string.Empty); + } + + public bool ContainsCodec(string codec, string container) + { + if (!ContainsContainer(container)) + { + return false; + } + + List<string> codecs = GetCodecs(); + + return codecs.Count == 0 || ListHelper.ContainsIgnoreCase(codecs, codec); + } + } +} |
