ESP32 xQueue, how to copy struct (memory) efficiently ?

Yes it is, but it anyway needs to be buffered, why not let this API do that ?

I was actually planning to just close the file if the Queue is empty and open it again. Apparently there is time to do so if the Queue is empty.
Leaving the file open is faster in theory, but in practice with these huge amounts of data, the differences are marginal, and anyway if there is time, it is a good idea to consolidate the file.

Thinking about that i think i can even use the same Queue to read and buffer. When reading happens there is less processing happening overall, there is no reception processing, but i actually suspect that reading is even slower than writing to an SD. Another experiment to think about.

It's already really close to having the complete solution for what i am trying to do. There is still a memory saving that i think i can do in the outgoing I2S stream (3-step instead of 4-step) but the processing for it is to slow as yet and will need to be re-written optimized for speed (3-step should be nearly as fast as 4-step but as it is now it is about 4x slower)