Hi Paulo,

On Thursday 01 October 2009 10:47:08 Paulo Assis wrote:
> Laurent,
> 
> > I wanted to answer atleast gspca, but that seems to have been fixed :)
> > So maybe I'm wrong and now a days most drivers do support the unrequest.
> 
> I have set some warnings in case this fails and like Hans said it
> works fine with the last gspca, but it fails for uvc with EINVAL in
> 2.6.31 kernel.
> I'm using the same v4l2_requestbuffers struct that I use for the first
> ioctl(VIDIOC_REQBUFS) ( type = V4L2_BUF_TYPE_VIDEO_CAPTURE and  memory
> = V4L2_MEMORY_MMAP) but with count field set to 0.
> 
> This is done after ioctl(VIDIOC_STREAMOFF) and munmap()

I can't see how that could happen. The only reason why VIDIOC_REQBUFS could 
fail with -EINVAL is (uvc_v4l2.c, line 857)

                if (rb->type != video->streaming->type ||
                    rb->memory != V4L2_MEMORY_MMAP)

video->streaming->type is set only once when parsing the USB descriptors. It 
doesn't change at runtime.

Can you double-check that the v4l2_requestbuffers structure is properly 
initialized ?

-- 
Regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to