From 5fa97bb196c5e176e5930037668b85fb8368c314 Mon Sep 17 00:00:00 2001 From: josh Date: Fri, 7 Aug 2009 23:24:18 +0000 Subject: [PATCH] calling VIDIOC_STREAMON - webcam light blinks! git-svn-id: svn://anubis/misc/WebcamTracker@122 bd8a9e45-a331-0410-811e-c64571078777 --- WebcamTracker.cc | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/WebcamTracker.cc b/WebcamTracker.cc index 3bf1b7b..9890e5e 100644 --- a/WebcamTracker.cc +++ b/WebcamTracker.cc @@ -81,6 +81,35 @@ WebcamTracker::WebcamTracker(const char * device) cerr << " (ENOMEM)"; cerr << endl; } + + v4l2_buffer qbuf; + qbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + qbuf.memory = V4L2_MEMORY_MMAP; + qbuf.index = 0; + ret = ioctl(m_fd, VIDIOC_QBUF, &qbuf); + if (ret != 0) + { + cerr << "VIDIOC_QBUF failed! errno = " << errno; + if (errno == EAGAIN) + cerr << " (EAGAIN)"; + if (errno == EINVAL) + cerr << " (EINVAL)"; + if (errno == ENOMEM) + cerr << " (ENOMEM)"; + if (errno == EIO) + cerr << " (EIO)"; + cerr << endl; + } + + int type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + ret = ioctl(m_fd, VIDIOC_STREAMON, &type); + if (ret != 0) + { + cerr << "VIDIOC_STREAMON ioctl failed! errno = " << errno; + if (errno == EINVAL) + cerr << " (EINVAL)"; + cerr << endl; + } } else {