holaz
ho un problemino ...
sto scrivendo un software di acqusizione video su linux e sto usando dei buffer per acquisire i dati dalla scheda d'acquisizione video alla memoria
il codice è questo
codice:
if (ioctl(video_fd, VIDIOC_QUERYBUF, &buffer) == -1)
{
perror("VIDIOC_QUERYBUF");
exit(EXIT_FAILURE);
}
buffers[i].length = buffer.length;
printf("%2i: %i/%li\n", i, buffer.length, sz);
buffers[i].start = mmap(NULL, buffer.length, PROT_READ | PROT_WRITE, MAP_SHARED, video_fd, sz);
if (buffers[i].start == MAP_FAILED)
{
perror("mmap");
exit(EXIT_FAILURE);
}
l'errore che mi restituisce perror è
mmap: Permission denied (ci sta l'mmap davanti per via di perror)
ovvero errno è impostato su 13
i parametri buffer.length e sz corrispondono rispettivamente a 233472 e 4096
video_fd è il File Descriptor del device e funziona perfettamente perché eseguo tutto le operazioni senza problemi
ora non so proprio cosa possa essere