private void ReadTagTable()
        {
            if (!_reader.Seek(128))
            {
                return;
            }

            var count = _reader.ReadLongMSB();

            for (var i = 0; i < count; i++)
            {
                var tag = _reader.ReadLongMSB();
                switch (tag)
                {
                case 0x63707274:
                    Copyright = ReadTag();
                    break;

                case 0x64657363:
                    Description = ReadTag();
                    break;

                case 0x646D6E64:
                    Manufacturer = ReadTag();
                    break;

                case 0x646D6464:
                    Model = ReadTag();
                    break;

                default:
                    _reader.Skip(8);
                    break;
                }
            }
        }
Beispiel #2
0
 private uint ReadLong() => (_isLittleEndian ? _reader.ReadLongLSB() : _reader.ReadLongMSB()) ?? 0;