| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | #nullable disable#pragma warning disable CS1591using System;using System.Linq;using System.Xml.Serialization;namespace MediaBrowser.Model.Dlna{    public class CodecProfile    {        public CodecProfile()        {            Conditions = Array.Empty<ProfileCondition>();            ApplyConditions = Array.Empty<ProfileCondition>();        }        [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 string[] GetCodecs()        {            return ContainerProfile.SplitValue(Codec);        }        private bool ContainsContainer(string container)        {            return ContainerProfile.ContainsContainer(Container, container);        }        public bool ContainsAnyCodec(string codec, string container)        {            return ContainsAnyCodec(ContainerProfile.SplitValue(codec), container);        }        public bool ContainsAnyCodec(string[] codec, string container)        {            if (!ContainsContainer(container))            {                return false;            }            var codecs = GetCodecs();            if (codecs.Length == 0)            {                return true;            }            foreach (var val in codec)            {                if (codecs.Contains(val, StringComparer.OrdinalIgnoreCase))                {                    return true;                }            }            return false;        }    }}
 |