using System; using System.Collections.Generic; using System.Linq; using System.Xml.Serialization; namespace MediaBrowser.Model.Dlna { public class DirectPlayProfile { [XmlAttribute("container")] public string Container { get; set; } [XmlAttribute("audioCodec")] public string AudioCodec { get; set; } [XmlAttribute("videoCodec")] public string VideoCodec { get; set; } [XmlAttribute("type")] public DlnaProfileType Type { get; set; } public List GetContainers() { List list = new List(); foreach (string i in (Container ?? string.Empty).Split(',')) { if (!string.IsNullOrEmpty(i)) list.Add(i); } return list; } public bool SupportsContainer(string container) { var all = GetContainers(); // Only allow unknown container if the profile is all inclusive if (string.IsNullOrWhiteSpace(container)) { return all.Count == 0; } return all.Count == 0 || all.Contains(container, StringComparer.OrdinalIgnoreCase); } public List GetAudioCodecs() { List list = new List(); foreach (string i in (AudioCodec ?? string.Empty).Split(',')) { if (!string.IsNullOrEmpty(i)) list.Add(i); } return list; } public List GetVideoCodecs() { List list = new List(); foreach (string i in (VideoCodec ?? string.Empty).Split(',')) { if (!string.IsNullOrEmpty(i)) list.Add(i); } return list; } } }