On 05/17/11 13:10, David Ahern wrote:
>> Note that once every while a packet will get lost since normally a usb
>> device is synced to the usb frame timer, but the real and emulated frame
>> timer
>> are not synced, so eventually a packet will get lost.
> 
> I noticed that as well. The guest uhci driver (linux at least) guesses
> where to put the initial request (10 frames out as I recall). From there
> the requests need to flow - responses come into the guest, requests are
> appended to the stream.
> 
> One missed packet in the guest causes the driver to "start over" -- ie,
> it's no longer a stream, but an initial request placed 10 frames out.
> That causes an ugly jitter, and if the qemu controller happens to be
> past the '10 frames out' guess by the OS you get a 1+ sec gap of silence.

Oh yea, as I mentioned in the URL modifying the guest driver to have
more outstanding URBs (at least 4 URBs with 5 packets per URB) was a key
aspect of the solution as well -- keeping the guest OS and controller
from losing sync.

David

> 
> David
> 
>>
>> Regards,
>>
>> Hans
> 
> 

Reply via email to