Eirikur
Senior Member
- Joined
- Jul 9, 2019
- Messages
- 318
- Likes
- 510
I agree: both the USB Audio Class (1) protocol and the USB Audio Class 2.0 protocol prescribe isochronous data transfers for the audio data, not "bulk". This implies that any kind of retry mechanism must be custom built for either protocol. Given the limited bandwidth of USB1.1 retries may be physically impossible, take for example 96kHz/24bit stereo which eats up half the bandwidth in raw bits.For the purposes of this discussion, USB 1.1 and USB 2.0 work exactly the same way. The only relevant difference is the higher data rate of USB 2.0. The latency of USB 2.0 can be lower due the packet rate being 8x higher. The transaction types and their ability to resend corrupted packets are exactly the same.
With the advent of very high frequency audio formats, bandwidth is still limiting even on USB2.0 - take for example 384kHz/32bits stereo.
Any generic implementation of the protocol (like the default Windows driver) will not implement any retry on the isochronous transfers, since neither standard caters for this. The only possibility is a custom driver provided by the vendor, and the protocol must also be implemented in the USB firmware of the device of course.
PS:
Last edited: