diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-07-07 04:55:18 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-07-07 04:55:18 +0000 |
commit | a135f8563fea25509d9a92db7c03ac3d08230a3f (patch) | |
tree | e6bb5fb8723790e6b479a3f6a00d19694b5a571d /extra/xawtv/xawtv-3.95-fixes.patch | |
parent | b215b5e985b9310dff8d992510f12a87141fe7cb (diff) |
Thu Jul 7 04:55:18 UTC 2011
Diffstat (limited to 'extra/xawtv/xawtv-3.95-fixes.patch')
-rw-r--r-- | extra/xawtv/xawtv-3.95-fixes.patch | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/extra/xawtv/xawtv-3.95-fixes.patch b/extra/xawtv/xawtv-3.95-fixes.patch deleted file mode 100644 index b6cdf8dec..000000000 --- a/extra/xawtv/xawtv-3.95-fixes.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -up xawtv-3.95.new/libng/plugins/drv0-v4l2.c.fixes xawtv-3.95.new/libng/plugins/drv0-v4l2.c ---- xawtv-3.95.new/libng/plugins/drv0-v4l2.c.fixes 2005-02-11 18:56:24.000000000 +0100 -+++ xawtv-3.95.new/libng/plugins/drv0-v4l2.c 2008-08-03 20:46:32.000000000 +0200 -@@ -91,6 +91,7 @@ struct v4l2_handle { - struct ng_video_fmt fmt_me; - struct v4l2_requestbuffers reqbufs; - struct v4l2_buffer buf_v4l2[WANTED_BUFFERS]; -+ int buf_v4l2_size[WANTED_BUFFERS]; - struct ng_video_buf buf_me[WANTED_BUFFERS]; - unsigned int queue,waiton; - -@@ -166,7 +167,7 @@ xioctl(int fd, int cmd, void *arg, int m - int rc; - - rc = ioctl(fd,cmd,arg); -- if (0 == rc && ng_debug < 2) -+ if (rc >= 0 && ng_debug < 2) - return rc; - if (mayfail && errno == mayfail && ng_debug < 2) - return rc; -@@ -768,6 +769,7 @@ v4l2_waiton(struct v4l2_handle *h) - /* get it */ - memset(&buf,0,sizeof(buf)); - buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; -+ buf.memory = V4L2_MEMORY_MMAP; - if (-1 == xioctl(h->fd,VIDIOC_DQBUF,&buf, 0)) - return -1; - h->waiton++; -@@ -812,6 +814,7 @@ v4l2_start_streaming(struct v4l2_handle - h->buf_v4l2[i].memory = V4L2_MEMORY_MMAP; - if (-1 == xioctl(h->fd, VIDIOC_QUERYBUF, &h->buf_v4l2[i], 0)) - return -1; -+ h->buf_v4l2_size[i] = h->buf_v4l2[i].length; - 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; -@@ -865,12 +868,16 @@ 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_me[i].size)) -+ if (-1 == munmap(h->buf_me[i].data, h->buf_v4l2_size[i])) - perror("munmap"); - } - h->queue = 0; - h->waiton = 0; - -+ /* unrequest buffers (only needed for some drivers) */ -+ h->reqbufs.count = 0; -+ xioctl(h->fd, VIDIOC_REQBUFS, &h->reqbufs, EINVAL); -+ - /* turn on preview (if needed) */ - if (h->ov_on != h->ov_enabled) { - h->ov_on = h->ov_enabled; -@@ -907,6 +914,17 @@ v4l2_setformat(void *handle, struct ng_v - fmt->width = h->fmt_v4l2.fmt.pix.width; - fmt->height = h->fmt_v4l2.fmt.pix.height; - fmt->bytesperline = h->fmt_v4l2.fmt.pix.bytesperline; -+ /* struct v4l2_format.fmt.pix.bytesperline is bytesperline for the -+ main plane for planar formats, where as we want it to be the total -+ bytesperline for all planes */ -+ switch (fmt->fmtid) { -+ case VIDEO_YUV422P: -+ fmt->bytesperline *= 2; -+ break; -+ case VIDEO_YUV420P: -+ fmt->bytesperline = fmt->bytesperline * 3 / 2; -+ break; -+ } - if (0 == fmt->bytesperline) - fmt->bytesperline = fmt->width * ng_vfmt_to_depth[fmt->fmtid] / 8; - h->fmt_me = *fmt; |