public MultiAngle(Stream stream) { NumberOfAngles = (byte)stream.ReadByte(); _flagField = (byte)stream.ReadByte(); Angles = new ClipNameWithRef[NumberOfAngles - 1]; for (var i = 0; i < NumberOfAngles - 1; ++i) { Angles[i] = new ClipNameWithRef(stream); } }
public SubPlayItem(Stream stream) { Length = (ushort)stream.BEInt16(); var position = stream.Position; ClipName = new ClipName(stream); stream.Skip(3); _flagField = (byte)stream.ReadByte(); RefToSTCID = (byte)stream.ReadByte(); TimeInfo = new TimeInfo(stream); SyncPlayItemID = (ushort)stream.BEInt16(); SyncStartPTS = stream.BEInt32(); if (IsMultiClipEntries) { NumberOfMultiClipEntries = (byte)stream.ReadByte(); MultiClipNameEntries = new ClipNameWithRef[NumberOfMultiClipEntries - 1]; for (var i = 0; i < NumberOfMultiClipEntries - 1; ++i) { MultiClipNameEntries[i] = new ClipNameWithRef(stream); } } stream.Skip(Length - (stream.Position - position)); }