Hi Anton:
The case you proposed is actually not related to the synchronization function, when you quickly reconnect the device, host will re-enumerate the device and it will not trigger synchronous feedback.
For the four questions you listed:
1. The unsynchronization means unsynchronization for clock. More specific, the speaker play audio with 48k sampling rate,2 channels and 16 bit depth, so every millisecond, the host should send 48*2*2 = 196 bytes data, but the host may have something wrong with the clock, it send 198 bytes every millisecond, and then the device will give host the feedback to make host change it clock and send the correct 196 bytes per millsecond.
2. If you use PC as host, you cannot control the host to send more data, maybe you can try different PCs. Or you can use another RT1010 as Host, change the length of send packet to Max packet size+2, you can easily get the overrun result.
For 3 and 4, the logic to calculate and compensate the unsynchronization is based on the spec of usb audio, you can refer to the USB audio spec for more detailed information.
Regards
Daniel