Lines 308-313
static int v4l2_init (zbar_video_t *vdo,
Link Here
|
308 |
return(-1); |
308 |
return(-1); |
309 |
if(vdo->iomode == VIDEO_MMAP) |
309 |
if(vdo->iomode == VIDEO_MMAP) |
310 |
return(v4l2_mmap_buffers(vdo)); |
310 |
return(v4l2_mmap_buffers(vdo)); |
|
|
311 |
|
312 |
struct v4l2_requestbuffers rb; |
313 |
memset(&rb, 0, sizeof(rb)); |
314 |
rb.count = vdo->num_images; |
315 |
rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
316 |
rb.memory = V4L2_MEMORY_USERPTR; |
317 |
if(ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0) |
318 |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__, |
319 |
"VIDIOC_REQBUFS")); |
320 |
|
311 |
return(0); |
321 |
return(0); |
312 |
} |
322 |
} |
313 |
|
323 |
|
Lines 315-321
static int v4l2_probe_iomode (zbar_video
Link Here
|
315 |
{ |
325 |
{ |
316 |
struct v4l2_requestbuffers rb; |
326 |
struct v4l2_requestbuffers rb; |
317 |
memset(&rb, 0, sizeof(rb)); |
327 |
memset(&rb, 0, sizeof(rb)); |
318 |
rb.count = vdo->num_images; /* FIXME workaround broken drivers */ |
328 |
rb.count = 0; //vdo->num_images; /* FIXME workaround broken drivers */ |
319 |
rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
329 |
rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
320 |
if(vdo->iomode == VIDEO_MMAP) |
330 |
if(vdo->iomode == VIDEO_MMAP) |
321 |
rb.memory = V4L2_MEMORY_MMAP; |
331 |
rb.memory = V4L2_MEMORY_MMAP; |