Hi, On 24/09/2007, Arnon Gilboa <[EMAIL PROTECTED]> wrote: > Attached is an updated patch for supporting isochronous transfers in > redirected host USB devices. The initial goal was supporting USB 1.1 Webcam. > Tested on WinXP guest with several Webcams. Works on USB 1.1 Webcams, as > well as most USB 2.0 Webcams (backward compatibility) on low resolutions. > Some jitter is visible in the video stream, and it will be fixed. > > Notice USE_ASYNCIO, which defines whether to use signal based async io or > polling for receiving urbs. Currently it is disabled, so polling is used, > but it does not seem to affect the performance because it uses the > non-blocking USBDEVFS_REAPURBNDELAY ioctl. In order to use the signal based > async io, the patch to usb-uhci.c should be applied. > > The patch includes parts of previous patches posted in Qemu-devel: > usb_host_update_interfaces (from > qemu-0.9.0-usb-multi-configs.patch), > usb_linux_update_endp_table (qemu-usb-host-async.patch) as well as some > other lines of code. > > I am currently working on the ehci emulation for fully supporting USB 2.0 > isochronous devices. > > Waiting for your comments,
I pushed both patches into CVS, but I haven't tested it with any devices with ISO endpoints yet, so please do. I made some identifiers static and also removed the first qemu_free to avoid double freeing in: ret = usb_linux_update_endp_table(dev); if (ret) { qemu_free(dev); goto fail; } ... fail: if (dev) qemu_free(dev); Regards