diff options
Diffstat (limited to 'extra/xawtv/xawtv-3.95-libv4l2.patch')
-rw-r--r-- | extra/xawtv/xawtv-3.95-libv4l2.patch | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/extra/xawtv/xawtv-3.95-libv4l2.patch b/extra/xawtv/xawtv-3.95-libv4l2.patch deleted file mode 100644 index 45a5e69cb..000000000 --- a/extra/xawtv/xawtv-3.95-libv4l2.patch +++ /dev/null @@ -1,176 +0,0 @@ ---- xawtv-3.95/libng/plugins/Subdir.mk~ 2008-07-30 09:51:01.000000000 +0200 -+++ xawtv-3.95/libng/plugins/Subdir.mk 2008-07-30 09:51:01.000000000 +0200 -@@ -41,6 +41,7 @@ libng/plugins/read-qt.so : LDLIBS := $( - libng/plugins/write-qt.so : LDLIBS := $(QT_LIBS) - libng/plugins/read-dv.so : LDLIBS := $(DV_LIBS) - libng/plugins/write-dv.so : LDLIBS := $(DV_LIBS) -+libng/plugins/drv0-v4l2.so: LDLIBS := -lv4l2 - - # global targets - all:: $(TARGETS-plugins) -diff -up xawtv-3.95/libng/plugins/drv0-v4l2.c.orig xawtv-3.95/libng/plugins/drv0-v4l2.c ---- xawtv-3.95/libng/plugins/drv0-v4l2.c.orig 2008-08-03 21:26:13.000000000 +0200 -+++ xawtv-3.95/libng/plugins/drv0-v4l2.c 2008-08-03 21:27:50.000000000 +0200 -@@ -29,11 +29,26 @@ - #include "struct-dump.h" - #include "struct-v4l2.h" - -+/* FIXME replace with autoconf detection */ -+#define HAVE_LIBV4L -+ -+#ifdef HAVE_LIBV4L -+#include <libv4l2.h> -+#else -+#define v4l2_fd_open(fd, flags) (fd) -+#define v4l2_close close -+#define v4l2_dup dup -+#define v4l2_ioctl ioctl -+#define v4l2_read read -+#define v4l2_mmap mmap -+#define v4l2_munmap munmap -+#endif -+ - /* ---------------------------------------------------------------------- */ - - /* open+close */ --static void* v4l2_open(char *device); --static int v4l2_close(void *handle); -+static void* v4l2_open_handle(char *device); -+static int v4l2_close_handle(void *handle); - - /* attributes */ - static char* v4l2_devname(void *handle); -@@ -111,8 +126,8 @@ struct v4l2_handle { - - struct ng_vid_driver v4l2_driver = { - name: "v4l2", -- open: v4l2_open, -- close: v4l2_close, -+ open: v4l2_open_handle, -+ close: v4l2_close_handle, - - get_devname: v4l2_devname, - capabilities: v4l2_flags, -@@ -166,7 +181,7 @@ xioctl(int fd, int cmd, void *arg, int m - { - int rc; - -- rc = ioctl(fd,cmd,arg); -+ rc = v4l2_ioctl(fd,cmd,arg); - if (rc >= 0 && ng_debug < 2) - return rc; - if (mayfail && errno == mayfail && ng_debug < 2) -@@ -220,7 +235,7 @@ get_device_capabilities(struct v4l2_hand - } - - h->streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; -- ioctl(h->fd,VIDIOC_G_PARM,&h->streamparm); -+ v4l2_ioctl(h->fd,VIDIOC_G_PARM,&h->streamparm); - - /* controls */ - for (i = 0; i < MAX_CTRL; i++) { -@@ -444,10 +459,10 @@ static void v4l2_write_attr(struct ng_at - /* ---------------------------------------------------------------------- */ - - static void* --v4l2_open(char *device) -+v4l2_open_handle(char *device) - { - struct v4l2_handle *h; -- int i; -+ int i, libv4l2_fd; - - h = malloc(sizeof(*h)); - if (NULL == h) -@@ -459,6 +474,16 @@ v4l2_open(char *device) - goto err; - } - -+ /* Note the v4l2_xxx functions are designed so that if they get passed an -+ unknown fd, the will behave exactly as their regular xxx counterparts, so -+ if v4l2_fd_open fails, we continue as normal (missing the libv4l2 custom -+ cam format to normal formats conversion). Chances are big we will still -+ fail then though, as normally v4l2_fd_open only fails if the device is not -+ a v4l2 device. */ -+ libv4l2_fd = v4l2_fd_open(h->fd, 0); -+ if (libv4l2_fd != -1) -+ h->fd = libv4l2_fd; -+ - if (-1 == xioctl(h->fd,VIDIOC_QUERYCAP,&h->cap,EINVAL)) - goto err; - if (ng_debug) -@@ -495,21 +520,21 @@ v4l2_open(char *device) - - err: - if (h->fd != -1) -- close(h->fd); -+ v4l2_close(h->fd); - if (h) - free(h); - return NULL; - } - - static int --v4l2_close(void *handle) -+v4l2_close_handle(void *handle) - { - struct v4l2_handle *h = handle; - - if (ng_debug) - fprintf(stderr, "v4l2: close\n"); - -- close(h->fd); -+ v4l2_close(h->fd); - free(h); - return 0; - } -@@ -818,7 +843,7 @@ v4l2_start_streaming(struct v4l2_handle - h->buf_me[i].fmt = h->fmt_me; - h->buf_me[i].size = h->buf_me[i].fmt.bytesperline * - h->buf_me[i].fmt.height; -- h->buf_me[i].data = mmap(NULL, h->buf_v4l2[i].length, -+ h->buf_me[i].data = v4l2_mmap(NULL, h->buf_v4l2[i].length, - PROT_READ | PROT_WRITE, MAP_SHARED, - h->fd, h->buf_v4l2[i].m.offset); - if (MAP_FAILED == h->buf_me[i].data) { -@@ -859,7 +884,7 @@ v4l2_stop_streaming(struct v4l2_handle * - unsigned int i; - - /* stop capture */ -- if (-1 == ioctl(h->fd,VIDIOC_STREAMOFF,&h->fmt_v4l2.type)) -+ if (-1 == v4l2_ioctl(h->fd,VIDIOC_STREAMOFF,&h->fmt_v4l2.type)) - perror("ioctl VIDIOC_STREAMOFF"); - - /* free buffers */ -@@ -868,7 +893,7 @@ v4l2_stop_streaming(struct v4l2_handle * - ng_waiton_video_buf(&h->buf_me[i]); - if (ng_debug) - print_bufinfo(&h->buf_v4l2[i]); -- if (-1 == munmap(h->buf_me[i].data, h->buf_v4l2_size[i])) -+ if (-1 == v4l2_munmap(h->buf_me[i].data, h->buf_v4l2_size[i])) - perror("munmap"); - } - h->queue = 0; -@@ -989,7 +1014,7 @@ v4l2_nextframe(void *handle) - } else { - size = h->fmt_me.bytesperline * h->fmt_me.height; - buf = ng_malloc_video_buf(&h->fmt_me,size); -- rc = read(h->fd,buf->data,size); -+ rc = v4l2_read(h->fd,buf->data,size); - if (rc != size) { - if (-1 == rc) { - perror("v4l2: read"); -@@ -1023,11 +1048,11 @@ v4l2_getimage(void *handle) - size = h->fmt_me.bytesperline * h->fmt_me.height; - buf = ng_malloc_video_buf(&h->fmt_me,size); - if (h->cap.capabilities & V4L2_CAP_READWRITE) { -- rc = read(h->fd,buf->data,size); -+ rc = v4l2_read(h->fd,buf->data,size); - if (-1 == rc && EBUSY == errno && h->ov_on) { - h->ov_on = 0; - xioctl(h->fd, VIDIOC_OVERLAY, &h->ov_on, 0); -- rc = read(h->fd,buf->data,size); -+ rc = v4l2_read(h->fd,buf->data,size); - h->ov_on = 1; - xioctl(h->fd, VIDIOC_OVERLAY, &h->ov_on, 0); - } |