|
|
|
@ -168,7 +168,7 @@ int V4L2_Base::read_frame(char *errmsg)
|
|
|
|
|
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
|
|
buf.memory = V4L2_MEMORY_MMAP;
|
|
|
|
|
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_DTQBUF, &buf)) {
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_DQBUF, &buf)) {
|
|
|
|
|
switch (errno) {
|
|
|
|
|
case EAGAIN:
|
|
|
|
|
return 0;
|
|
|
|
@ -179,7 +179,7 @@ int V4L2_Base::read_frame(char *errmsg)
|
|
|
|
|
/* fall through */
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return errno_exit ("VIDIOC_DTQBUF", errmsg);
|
|
|
|
|
return errno_exit ("VIDIOC_DQBUF", errmsg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -206,8 +206,8 @@ int V4L2_Base::read_frame(char *errmsg)
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_TQBUF, &buf))
|
|
|
|
|
return errno_exit ("VIDIOC_TQBUF", errmsg);
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_QBUF, &buf))
|
|
|
|
|
return errno_exit ("VIDIOC_QBUF", errmsg);
|
|
|
|
|
|
|
|
|
|
if (dropFrame)
|
|
|
|
|
{
|
|
|
|
@ -227,7 +227,7 @@ int V4L2_Base::read_frame(char *errmsg)
|
|
|
|
|
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
|
|
buf.memory = V4L2_MEMORY_USERPTR;
|
|
|
|
|
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_DTQBUF, &buf)) {
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_DQBUF, &buf)) {
|
|
|
|
|
switch (errno) {
|
|
|
|
|
case EAGAIN:
|
|
|
|
|
return 0;
|
|
|
|
@ -238,7 +238,7 @@ int V4L2_Base::read_frame(char *errmsg)
|
|
|
|
|
/* fall through */
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
errno_exit ("VIDIOC_DTQBUF", errmsg);
|
|
|
|
|
errno_exit ("VIDIOC_DQBUF", errmsg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -251,8 +251,8 @@ int V4L2_Base::read_frame(char *errmsg)
|
|
|
|
|
|
|
|
|
|
//process_image ((void *) buf.m.userptr);
|
|
|
|
|
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_TQBUF, &buf))
|
|
|
|
|
errno_exit ("VIDIOC_TQBUF", errmsg);
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_QBUF, &buf))
|
|
|
|
|
errno_exit ("VIDIOC_QBUF", errmsg);
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -309,8 +309,8 @@ int V4L2_Base::start_capturing(char * errmsg)
|
|
|
|
|
buf.memory = V4L2_MEMORY_MMAP;
|
|
|
|
|
buf.index = i;
|
|
|
|
|
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_TQBUF, &buf))
|
|
|
|
|
return errno_exit ("VIDIOC_TQBUF", errmsg);
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_QBUF, &buf))
|
|
|
|
|
return errno_exit ("VIDIOC_QBUF", errmsg);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -336,8 +336,8 @@ int V4L2_Base::start_capturing(char * errmsg)
|
|
|
|
|
buf.m.userptr = (unsigned long) buffers[i].start;
|
|
|
|
|
buf.length = buffers[i].length;
|
|
|
|
|
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_TQBUF, &buf))
|
|
|
|
|
return errno_exit ("VIDIOC_TQBUF", errmsg);
|
|
|
|
|
if (-1 == xioctl (fd, VIDIOC_QBUF, &buf))
|
|
|
|
|
return errno_exit ("VIDIOC_QBUF", errmsg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|