I think >> expects not only the data itself but also a field which tells how much data to read.
How do you mean?
The API does not include any extra parameter just a QBayteArray:
QDataStream & operator>> ( QDataStream & s, QByteArray & a )

Reads a byte array into a from the stream s and returns a reference to the stream.
I thought it could be that QDataStream uses QBatesArray::size() to detrmine the amount of bytes to read, which is why I resize it before the read.
But it doesn't work.
I am well aware that readRawBytes and >> are different, but I still can't understand why >> with a QByteArray does not work, when according to the docs it should (unless I am missing here somthing in the docs).

AtmosBBlock is a struct with natural types (Q_UINT8 and Q_UINT16)

Thanks.