Почему не идёт передачи данных? делаю всё по инструкции
http://v4l2spec.bytesex.org/spec/book1.htm
/dev/video0 открылся, на рвзные запросы реагирует, отвечает что всё в порядке. Но потока данных нет
Код:
{
v4l2_requestbuffers reqbuf = {};
//memset (&reqbuf, 0, sizeof (reqbuf));
reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
reqbuf.memory = V4L2_MEMORY_USERPTR;
_logged(ioctl(_hvideo, VIDIOC_REQBUFS, &reqbuf), "request buffers");
v4l2_buffer buffer = {};
// memset (&map_buffer, 0, sizeof (map_buffer));
buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buffer.memory = V4L2_MEMORY_USERPTR;
buffer.m.userptr = reinterpret_cast<long unsigned>(&frame_buffer[0]);
buffer.length = frame_buffer.size()*4;
_logged(ioctl(_hvideo, VIDIOC_STREAMON, &reqbuf), "start stream");
_logged(ioctl(_hvideo, VIDIOC_QBUF, &buffer), "queue buffer");
sleep(10);
//copy(frame_buffer.begin(), frame_buffer.end(), ostream_iterator<long,char>(cout, ", "));
_logged(ioctl(_hvideo, VIDIOC_DQBUF, &buffer), "dequeue buffer");
_logged(ioctl(_hvideo, VIDIOC_STREAMOFF, &reqbuf), "stop stream");
}
между тем камера работает (проверял cheese, ffmpeg)