예제 #1
0
        public override string LoadFromDeserialized(string[] deserialized)
        {
            int baseItemCount = deserialized.Length - SERIALIZED_VALUES;
            int codecCount    = int.Parse(deserialized[baseItemCount + 0]);

            ThumbnailName = deserialized[baseItemCount + 1];
            PreviewName   = deserialized[baseItemCount + 2];
            Duration      = new TimeSpan(long.Parse(deserialized[baseItemCount + 3]));
            for (int i = (baseItemCount - codecCount); i < baseItemCount; i++)
            {
                string     codecID    = deserialized[i];
                MediaCodec mediaCodec = Source.Codecs.FirstOrDefault(codec => (codec.ID == codecID));
                if (mediaCodec == null)
                {
                    throw new Exception("Failed to deserialize file system entry of source database; referenced codec missing");
                }
                Codecs.Add(mediaCodec);
            }
            return(base.LoadFromDeserialized(deserialized.Take(baseItemCount - codecCount).ToArray()));
        }
예제 #2
0
        public override bool Equals(object obj)
        {
            MediaCodec codec = (obj as MediaCodec);

            return(codec != null && codec.Type == Type && codec.Name.Equals(Name, StringComparison.CurrentCultureIgnoreCase));
        }