我从网上找了一些v4l的测试代码,但是,总会出现一个问题,执行到
if(ioctl(vd->fd,VIDIOCGMBUF,&(vd->mbuf))<0)
{
perror("v4l_get_mbuf:");
//return -1;
}
执行到这一句话是会提示 v4l_get_mbuf:: Invalid argument,这个问题查了好几天了,都没有解决。而且 Invalid argument这两个单词在我这两天调试v4l的过程中经常会出现。
貌似找到问题的所在了。大家看看这里 http://www.ideasonboard.org/uvc/
我把这段话摘出来。
Status
The Linux UVC projects is currently focussing on kernel support for UVC devices. The driver implements the Video4Linux 2 (V4L2) API. Support for V4L1 is not planned.
The following table lists the UVC features supported by the Linux UVC driver.
系统自带的uvc devices只支持v4l2,不支持v4l1。。。欲哭无泪。。。我再试试能用v4l2吧...几天的心血搭进去了...google啊..百度啊...算了,不感慨了。
另外看了下它支持的设备列表...没有我的设备ID。。。不是把...难道只有换摄像头这一条路?可是我用测试软件是可以点亮摄像头的啊,无解,继续啃...