On Sat, Jun 11, 2011 at 6:43 AM, Theodore Kilgore <kilgota@xxxxxxxxxxxxxxxxxxxxxx> wrote: >> If the linux community decided to put webcam functionality in kernel and >> still image functionality on a completely separate driver, that's >> entirely our problem. > > As I understand, the basic reason why webcam functionality needs to be in > the kernel is speed. Quick reaction time, and faster data transmission. > Most but not all webcams use isochronous data transport. The ones which do > not, cannot get as high a rate of frames per second. Isochronous data > transport has historically seemed to need kernel support in order to work > properly. Related to this, libusb has not supported isochronous data > transport. But still cameras use bulk transport. This is natural because > one needs to move data which is stored on the camera to a place on the > computer where it can be processed (if needed) and stored. There is no > impediment to userspace talking to a USB device, so why not go ahead and > do the job that way if the kernel is not needed? Just one comment, libusb-1.0 does support isochronous transfer. http://libusb.sourceforge.net/api-1.0/group__asyncio.html Whether you want to use libusb-1.0 for the webcam functionality is another story. > The second thing to mention is that libgphoto2 at this point is supporting > well over 1,000 cameras. True, there are not 1,000 driver libraries, but > there are quite a few. My impression is that nobody wants to put stuff > like that in the kernel unless it is absolutely necessary, just because > some of those cameras are dual-mode cameras. Don't people complain on a > fairly regular basis about kernel code bloat? -- Xiaofan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html