hi Laurent: thanks for your kind reply :) >> Dear all: >> I try to fix the uvc driver on my mips platform. >> But I got the messages as I append at the end of letter, the messages >> are triggered by capture.c the sample c code at the official website. >> I have some questions: >> 1. why the uvc resend the urb in uvc_video_complete? > > Because the USB core doesn't resubmit URBs automatically. If the driver didn't > do it there, it would only receive a few URBs (currently hardcoded to 5 in the > driver) and then stop. I find the place where you mention and it seems we use a recursive method to send urbs in UVC, right?
> >> 2. from the log, it seems uvc keep catching when the VIDIOC_STREAMON >> passed from v4l2 to uvc. > > I'm not sure to get what you mean. > >> 3. if the answer of 1 is yes; what will uvc does when he get >> VIDIOC_QBUF and VIDIOC_DQBUF ? >> ( in my opinion, uvc should starting catpureing when he receives >> VIDIOC_QBUF and stop when the buffer is full. Then it pass the buffer >> above when he got VIDIOC_DQBUF. But from the log below, it start >> captureing when he got VIDIOC_STREAMON. Am i right?) > > THe driver instructs the device to start sending data when it receives > VIDIOC_STREAMON. If there's no buffer queued the data will just be discarded. > >> 4. if my assumption above is correct, uvc start capture at >> VIDIOC_DQBUF and stop when buffer full. it should stop capture when >> frame complete in the log appears. > > It could, but just discarding the data is enough. > >> VIDIOC_STREAMON >> uvcvideo: Failed to resubmit video URB (-38). >> uvcvideo: Failed to resubmit video URB (-38). > > -38 is -ENOSYS, and that error is returned by very few USB host controller > drivers. Which controller are you using on your platform ? Chances are you > might need to fix it. EHCI controller and I am wondering whether the error comes from my slowly cpu. My cpu is running at 400Mhz > >> uvcvideo: Frame complete (overflow). >> uvcvideo: Dropping payload (out of sync). >> uvcvideo: Dropping payload (out of sync). >> uvcvideo: Dropping payload (out of sync). >> uvcvideo: Dropping payload (out of sync). >> uvcvideo: Dropping payload (out of sync). > BTW, if I look at the correct place in the driver, why uvc doesn't support r/w io and userptr? thanks for your kind help, miloody _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
