On Wed, Nov 23, 2011 at 4:01 PM, Gerd Hoffmann <kra...@redhat.com> wrote:
> On 11/19/11 20:40, Stefan Hajnoczi wrote:
>> I have a Windows 7 VM running a sound driver for a passthrough USB
>> host device.  The driver submits iso in and out urbs to do audio
>> capture and playback at the same time.
>>
>> Audacity running inside the guest freezes and does not record audio
>> unless I move the mouse.  Somehow it seems USB iso urbs aren't being
>> pumped unless I keep moving the mouse.  The VM is using VNC.
>
> I have no idea how moving the mouse could possibly help here.

It may be unrelated :).  This is the only error message I saw in the logs.

>> Checking the QEMU stderr logs I see many occurrences of "husb: out of
>> buffers for iso stream".  Perhaps this message is enough to pinpoint
>> the problem?
>
> It means the number of buffers in flight (on the host side) went down to
> zero, i.e. the stream is interrupted.
>
> usb-host maintains a set of buffers (four by default) per iso endpoint
> to keep the constant data flow up, i.e. pass one buffer to the guest
> while the host fills the next one.  Now the host has no more buffers to
> fill.  Most likely usb-host sits on a bunch of full buffers which it
> hasn't passed to the guest yet.

Okay.  The audio device is designed to fill a 288 byte iso buffer
every millisecond, although applications typically use larger
power-of-2 buffer sizes.

> For starter try a higher number of buffers (isobufs property).
> Also make sure you enable the vnc thread (unless you have already).

Thanks, I'll try this.

Stefan

Reply via email to