Hello!

After removing #include <linux/times.h> from videodev2.h i'm able to
compile nvrec 20020812-9 but without V4L2 support. Is there a patch for
v4l2_core.c so nvrec will compile with the new V4L2-API?

I fixed some pieces, but following remains:
v4l2_core.c: In function `v4l2_core_next':
v4l2_core.c:121: incompatible types in assignment
v4l2_core.c:125: invalid operands to binary -
v4l2_core.c:129: incompatible types in assignment
v4l2_core.c: In function `v4l2_core_init':
v4l2_core.c:339: storage size of `std' isn't known
v4l2_core.c:339: warning: unused variable `std'
v4l2_core.c:394: structure has no member named `flags'
v4l2_core.c:427: aggregate value used where an integer was expected
v4l2_core.c:457: structure has no member named `offset'

So, how to convert struct v4l2_enumstd in line 339?

Regards,
-- 
Dirk Meul <[EMAIL PROTECTED]>
--- v4l2_core.c.orig    2002-08-12 16:34:02.000000000 +0200
+++ v4l2_core.c 2002-12-08 16:03:35.000000000 +0100
@@ -29,7 +29,7 @@
 
 #include "nvrec.h"
 
-#ifdef V4L2_MAJOR_VERSION
+#ifdef HAVE_V4L2
 
 struct v4l2_core_t {
        int fd;                 // file descriptor
@@ -76,7 +76,7 @@
        ioctl(vct->fd, VIDIOC_S_CTRL, &ctrl);
 
        DXPRINT("setup streamoff\n");
-       i = V4L2_BUF_TYPE_CAPTURE;
+       i = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        DXPRINT("do streamoff\n");
        ioctl(vct->fd, VIDIOC_STREAMOFF, &i);
        
@@ -110,7 +110,7 @@
                        if(r<0)
                                PERROR("Select error");
                }       
-               vct->cbuf.type = V4L2_BUF_TYPE_CAPTURE;
+               vct->cbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                if(ioctl(vct->fd, VIDIOC_DQBUF, &vct->cbuf)!=0) {
                        PERROR("Could not dequeue new buffer");
                        vct->new_index = -1;
@@ -357,7 +357,7 @@
        
        if(freq > 0) {
                int i = (int)(freq * 16.0);
-               if(ioctl(vct->fd, VIDIOC_S_FREQ, &i)) {
+               if(ioctl(vct->fd, VIDIOC_S_FREQUENCY, &i)) {
                        PERROR("Could not set frequency");
                        goto error1;
                }
@@ -387,11 +387,11 @@
                }
 
                memset(&cfmt, 0, sizeof(cfmt));
-               cfmt.type = V4L2_BUF_TYPE_CAPTURE;
+               cfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                cfmt.fmt.pix.width = vct->width;
                cfmt.fmt.pix.height = vct->height;
                cfmt.fmt.pix.pixelformat = vct->pfmt;
-               cfmt.fmt.pix.flags = V4L2_FMT_FLAG_INTERLACED;
+               cfmt.fmt.pix.flags = V4L2_FIELD_INTERLACED;
                if (ioctl(vct->fd, VIDIOC_S_FMT, &cfmt)) {
                        PERROR("s_fmt");
                        pfmt++;
@@ -419,7 +419,7 @@
        }
 
        memset(&cparm, 0, sizeof(cparm));
-       cparm.type = V4L2_BUF_TYPE_CAPTURE;
+       cparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        if (ioctl(vct->fd, VIDIOC_G_PARM, &cparm) != 0) {
                PERROR("Could not request parameters");
                goto error1;
@@ -428,7 +428,7 @@
        IPRINT("Frame period %lluns\n", vct->frame_period);
 
        memset(&crbuf, 0, sizeof(crbuf));
-       crbuf.type = V4L2_BUF_TYPE_CAPTURE;
+       crbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        crbuf.count = N;
        if (ioctl(vct->fd, VIDIOC_REQBUFS, &crbuf) != 0) {
                PERROR("Could not request buffers");
@@ -448,7 +448,7 @@
        IPRINT("Got %i buffers\n", vct->nbufs);
   
        for(i=0; i<vct->nbufs; i++) {
-               vct->cbuf.type = V4L2_BUF_TYPE_CAPTURE;
+               vct->cbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                vct->cbuf.index = i;
                if(ioctl(vct->fd, VIDIOC_QUERYBUF, &vct->cbuf)!=0) {
                        PERROR("Querybuf failed");
@@ -498,7 +498,7 @@
        vct->new_index = -1;
        vct->new_seq = -1;
        
-       i = V4L2_BUF_TYPE_CAPTURE;
+       i = V4L2_BUF_TYPE_VIDEO_CAPTURE;
        if(ioctl(vct->fd, VIDIOC_STREAMON, &i)!=0) {
                PERROR("Could not streamon");
                goto error2;

Reply via email to