Kind of hit an issue ... XHCI.
The minimal wMaxPacketSize we can use is 292. This is 256 byte nominal size, 32 byte added because we might need to transfer 1 more frame from time to time because usb clock is not synced to E1 clock and then 4 bytes for the header. The overhead of an isochronous transfer on the bus is 9 bytes ( 2 SYNC bytes, 2 PID bytes, 2 Endpoint + CRC bytes, 2 CRC bytes, and a 1-byte interpacket delay )
We need 4 endpoints so that's a total of 4 * (292 + 9) = 1204 bytes which is only ~ 80 % of the available frame time. Spec says isoc can take up to 90% so there is some margin.
There is also the interrupt and feedback endpoints that have to be scheduled but those are not everyframe so they can be interleaved and still leave plenty of room to fit some bulk and control transfers.
And this works fine on OHCI/EHCI controllers.
But on XHCI all the scheduling logic is handled inside the controller, controlled by some internal firmware we can't touch ... and in the controllers I have that firmware refuses that configuration with "not enough bandwidth".