Пример #1
0
void
sane_cancel (SANE_Handle handle)
{
  V4L_Scanner *s = handle;

  DBG (2, "sane_cancel\n");

  /* ??? buffer isn't checked in sane_read? */
  if (buffer)
    {
      if (s->is_mmap)
	v4l1_munmap(buffer, s->mbuf.size);
      else
	free (buffer);

      buffer = NULL;
    }
}
Пример #2
0
Файл: v4l1.c Проект: Jeija/ZBar
static int v4l1_cleanup (zbar_video_t *vdo)
{
#ifdef HAVE_SYS_MMAN_H
    /* FIXME should avoid holding onto mmap'd buffers so long? */
    if(vdo->iomode == VIDEO_MMAP && vdo->buf) {
        if(v4l1_munmap(vdo->buf, vdo->buflen))
            return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
                               "unmapping video frame buffers"));
        vdo->buf = NULL;
        /* FIXME reset image */
    }
#endif

    /* close open device */
    if(vdo->fd >= 0) {
        v4l1_close(vdo->fd);
        vdo->fd = -1;
    }
    return(0);
}
Пример #3
0
LIBV4L_PUBLIC int munmap(void *start, size_t length)
{
	return v4l1_munmap(start, length);
}