Animatroller.Common.BinaryFileReader.ReadFrame C# (CSharp) Method

ReadFrame() public method

public ReadFrame ( ) : DmxData
return DmxData
        public DmxData ReadFrame()
        {
            var target = new DmxData();
            byte start = this.binRead.ReadByte();
            target.Timestamp = (uint)this.binRead.ReadInt32();
            target.Universe = (ushort)this.binRead.ReadInt16();
            switch (start)
            {
                case 1:
                    target.DataType = DmxData.DataTypes.FullFrame;
                    ushort len = (ushort)this.binRead.ReadInt16();
                    target.Data = this.binRead.ReadBytes(len);
                    break;

                case 2:
                    target.DataType = DmxData.DataTypes.NoChange;
                    break;

                default:
                    throw new ArgumentException("Invalid data");
            }
            byte end = this.binRead.ReadByte();

            if (end != 4)
                throw new ArgumentException("Invalid data");

            return target;
        }