Hi Paul,
I'm currently trying to modify the core to get any number of channels working on usb input/outputs, at any sample rates... And as you said, that's not an easy task...
Anyway, while I'm still not sure to understand all the code you've written, I think I've found a bug, line 333 of usb_audio.cpp :
Code:
memset(usb_audio_transmit_buffer + len, 0, num * 4);
Should not this line be ? :
Code:
memset(usb_audio_transmit_buffer + len*2, 0, num * 4);
or
Code:
memset((uint32_t *)usb_audio_transmit_buffer + len, 0, num * 4);
this would be more coherent with the line 343 where you copy the buffers.
Is this correct ?