using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace MatrixIO.IO.Bmff.Boxes { /// /// User Data Box ("udta") /// [Box("udta", "User Data Box")] public class UserDataBox : Box, ISuperBox { public UserDataBox() : base() { } public UserDataBox(Stream stream) : base(stream) { } private IList _Children = Portability.CreateList(); public IList Children { get { return _Children; } } internal override ulong CalculateSize() { return base.CalculateSize() + 4; // Fix for legacy trailing 0x0000000 } protected override void SaveChildrenToStream(Stream stream) { base.SaveChildrenToStream(stream); stream.WriteBEUInt32(0); } public IEnumerator GetEnumerator() { return Children.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return Children.GetEnumerator(); } } }