private DmxFrame ReadFrame(BinaryReader binRead)
{
var target = new DmxFrame();
target.Start = binRead.ReadByte();
target.TimestampMS = (uint)binRead.ReadInt32();
target.Universe = (ushort)binRead.ReadInt16();
switch (target.Start)
{
case 1:
target.Len = (ushort)binRead.ReadInt16();
target.Data = binRead.ReadBytes(target.Len);
break;
case 2:
break;
default:
throw new ArgumentException("Invalid data");
}
target.End = binRead.ReadByte();
if (target.End != 4)
throw new ArgumentException("Invalid data");
return target;
}