linux v4l2 ioctl(fd, VIDIOC_QUERYBUF, &dev.buffer)出错与返回长度为0的问题

来源:互联网 发布:自动建站系统源码 编辑:程序博客网 时间:2024/06/17 17:46

1.ioctl(fd, VIDIOC_QUERYBUF, &dev.buffer)出错
   修改内核文件v4l2_ioctl.c(drivers/media/video/v4l2-ioctl.c)
     修改:CMDINSIZE(QUERYBUF,  buffer,  type);
      为:CMDINSIZE(QUERYBUF,  buffer,  memory);
2.对于dev.buffer返回长度为0的问题:
  在上层应用中加入:
 format.fmt.pix.priv = 1;这个.
 如下:
 format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 format.fmt.pix.width = 320;
 format.fmt.pix.height = 240;
 format.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
 format.fmt.pix.field = V4L2_FIELD_INTERLACED;
 format.fmt.pix.priv = 1;

0 0