struct Frame {
uint8_t *data = nullptr;
uint8_t *data2 = nullptr; // Only if interleaved == true.
+ uint8_t *data_copy = nullptr; // Will get a non-interleaved copy if not nullptr.
size_t len = 0; // Number of bytes we actually have.
size_t size = 0; // Number of bytes we have room for.
size_t overflow = 0;