public HeaderObject(TagLib.Asf.File file, long position) : base(file, position) { if (!base.Guid.Equals(TagLib.Asf.Guid.AsfHeaderObject)) { throw new CorruptFileException("Object GUID incorrect."); } if (base.OriginalSize < 0x1aL) { throw new CorruptFileException("Object size too small."); } this.children = new List<TagLib.Asf.Object>(); uint count = file.ReadDWord(); this.reserved = file.ReadBlock(2); this.children.AddRange(file.ReadObjects(count, file.Tell)); }