On Sat, 11 Jun 2011, Xiaofan Chen wrote: > 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. Well, I guess I have not kept up with the latest. It didn't used to do that. I still can't help wondering if isochronous transport through libusb would really work for webcam application, though, because userspace access to a piece of hardware will almost surely be less direct than kernel access. Sort of by instinct, I would say that there would be too many layers of code one on top of the other. This is interesting, though. A good way to try it out would be by doing something small to start with. One could try to add the ability to capture a frame to the libgphoto2 driver for, say, the MR97310A cameras. If frame capture were going to work at all for those cameras, it would have to be done with isochronous support. Thus, the current situation for these cameras is that frame capture has to be done using a webcam app which can grab frames. Theodore Kilgore -- 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