Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > e79030446230d2d885f6f301a2507b4f > files > 1

wmwebcam-0.3.5-3.mga3.src.rpm

*** wmwebcam.c.orig	2001-01-27 17:24:44.000000000 +0100
--- wmwebcam.c	2012-01-15 12:41:09.000000000 +0100
***************
*** 32,38 ****
  #include <fcntl.h>
  #include <unistd.h>
  #include <linux/types.h>
! #include <linux/videodev.h>
  
  #include <jpeglib.h>
  
--- 32,38 ----
  #include <fcntl.h>
  #include <unistd.h>
  #include <linux/types.h>
! #include <libv4l1.h>
  
  #include <jpeglib.h>
  
***************
*** 155,172 ****
  	char *map;
  	int len;
  
! 	if (ioctl (dev, VIDIOCGCAP, &vid_caps) == -1) {
  		perror ("ioctl (VIDIOCGCAP)");
  		return (NULL);
  	}
  
! 	if (ioctl (dev, VIDIOCGMBUF, &vid_buf) == -1) {
  		struct video_window vid_win;
  
! 		if (ioctl (dev, VIDIOCGWIN, &vid_win) != -1) {
  			vid_win.width  = width;
  			vid_win.height = height;
! 			if (ioctl (dev, VIDIOCSWIN, &vid_win) == -1)
  				return (NULL);
  		}
  
--- 155,172 ----
  	char *map;
  	int len;
  
! 	if (v4l1_ioctl (dev, VIDIOCGCAP, &vid_caps) == -1) {
  		perror ("ioctl (VIDIOCGCAP)");
  		return (NULL);
  	}
  
! 	if (v4l1_ioctl (dev, VIDIOCGMBUF, &vid_buf) == -1) {
  		struct video_window vid_win;
  
! 		if (v4l1_ioctl (dev, VIDIOCGWIN, &vid_win) != -1) {
  			vid_win.width  = width;
  			vid_win.height = height;
! 			if (v4l1_ioctl (dev, VIDIOCSWIN, &vid_win) == -1)
  				return (NULL);
  		}
  
***************
*** 177,183 ****
  		return (map);
  	}
  
! 	map = mmap (0, vid_buf.size, PROT_READ|PROT_WRITE,MAP_SHARED,dev,0);
  	if ((unsigned char *)-1 == (unsigned char *)map) {
  		perror ("mmap()");
  		return (NULL);
--- 177,183 ----
  		return (map);
  	}
  
! 	map = v4l1_mmap (0, vid_buf.size, PROT_READ|PROT_WRITE,MAP_SHARED,dev,0);
  	if ((unsigned char *)-1 == (unsigned char *)map) {
  		perror ("mmap()");
  		return (NULL);
***************
*** 187,200 ****
  	vid_mmap.frame = 0;
  	vid_mmap.width = width;
  	vid_mmap.height = height;
! 	if (ioctl (dev, VIDIOCMCAPTURE, &vid_mmap) == -1) {
  		perror ("VIDIOCMCAPTURE");
! 		munmap (map, vid_buf.size);
  		return (NULL);
  	}
! 	if (ioctl (dev, VIDIOCSYNC, &vid_mmap) == -1) {
  		perror ("VIDIOCSYNC");
! 		munmap (map, vid_buf.size);
  		return (NULL);
  	}
  	*size = vid_buf.size;
--- 187,200 ----
  	vid_mmap.frame = 0;
  	vid_mmap.width = width;
  	vid_mmap.height = height;
! 	if (v4l1_ioctl (dev, VIDIOCMCAPTURE, &vid_mmap) == -1) {
  		perror ("VIDIOCMCAPTURE");
! 		v4l1_munmap (map, vid_buf.size);
  		return (NULL);
  	}
! 	if (v4l1_ioctl (dev, VIDIOCSYNC, &vid_mmap) == -1) {
  		perror ("VIDIOCSYNC");
! 		v4l1_munmap (map, vid_buf.size);
  		return (NULL);
  	}
  	*size = vid_buf.size;
***************
*** 302,308 ****
  
  while (1) {
  	while (max_try) {
! 		dev = open (device, O_RDWR);
  		if (dev == -1) {
  			if (!--max_try) {
  				fprintf (stderr, "Can't open device %s\n", VIDEO_DEV);
--- 302,308 ----
  
  while (1) {
  	while (max_try) {
! 		dev = v4l1_open (device, O_RDWR);
  		if (dev == -1) {
  			if (!--max_try) {
  				fprintf (stderr, "Can't open device %s\n", VIDEO_DEV);
***************
*** 339,346 ****
          redraw_window();
  
  		if (size) {
! 			munmap (image, size);
! 			close (dev);
  		} else if (image) {
  			free (image);
  		}
--- 339,346 ----
          redraw_window();
  
  		if (size) {
! 			v4l1_munmap (image, size);
! 			v4l1_close (dev);
  		} else if (image) {
  			free (image);
  		}