linux下V4L2编程,ioctl VIDIOC_DQBUF时,为什么总是返回-1呢?如何解决?
奋斗的小Q 2011-09-26 09:14:37 linux下V4L2编程,
// 开始录制
enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ret = ioctl( camerafd, VIDIOC_STREAMON, &type);
if (ret < 0)
{
printf("VIDIOC_STREAMON failed (%d)\n", ret);
return ret;
}
// Get frame
ret = ioctl( camerafd, VIDIOC_DQBUF, &buf);
if (ret < 0)
{
qDebug()<<"VIDIOC_DQBUF failed 001234500(%d)"<<ret;
//printf("VIDIOC_DQBUF failed 0000(%d)\n", ret);
return ret;
}
执行ret = ioctl( camerafd, VIDIOC_DQBUF, &buf);这句是,返回值总是-1
请问这是什么原因,要怎么解决啊?
求高人指点~~~~~ 先谢谢大家啦