Hi Steve, no luck: Starting NVrec.c, version 20011230 (NVrec-20011230). v4lgen core init - Device /dev/v4l/video0 v4l2 core init - Size: 384x288 from /dev/v4l/video0 v4l2 core init - trying format YUV420 v4l2 core init - got 32 buffers v4l2 core init - querybuf failed: Invalid argument Am Sam, 2001-12-29 um 14.38 schrieb Stephen Davies: > > > On 29 Dec 2001, Dirk Meul wrote: > > > Hi Steve, > > > > with changes you mentioned nothing changed for me :-( > > > > Starting NVrec.c, version 20011228 (NVrec-20011228). > > v4lgen core init - Device /dev/v4l/video0 > > v4l2 core init - Size: 384x288 from /dev/v4l/video0 > > v4l2 core init - trying format YUV420 > > v4l2 core init - could not request parameters: Invalid argument > > > > [v4l2_core.c] > > ... > > vct->fd = open(fdev, O_RDWR); > > ... > > vct->bufs[i * vct->planes] = (unsigned char *)mmap(NULL, > > vct->cbuf.length, PROT_READ|PROT_WRITE, MAP_SHARED, vct->fd, > > vct->cbuf.offset); > > ... > > > > Something missed? > > Hi Dirk, > > Sorry - I forgot that I also made some changes in Gerd's bttv 0.8 - to add > an implementation of VIDIOC_G_PARM. > > I though I'd submitted that to Gerd but don't see this in the current > 0.8.31 source, although other adjustments are there. > > Here's a patch to add the VIDIOC_G_PARM for 0.8.31 - needed for NVrec to > work. > > I ported this change forward from the 0.8.28 I use - compiled but not > tested. I also had some changes to mmap flags - but 0.8.31 code has > changed in that area so I can't immediately see if the 0.8.31 has the > changes. Let me know how you get on. > > In the meantime I will clean up and make a proper patch submission to > Gerd. > > Regards, > Steve > ---- > > diff -U3 -r bttv-0.8.31/bttv-driver.c bttv-0.8.31-sld/bttv-driver.c > --- bttv-0.8.31/bttv-driver.c Fri Nov 16 15:13:59 2001 > +++ bttv-0.8.31-sld/bttv-driver.c Sat Dec 29 13:24:49 2001 > @@ -2420,6 +2420,27 @@ > case VIDIOC_S_CTRL: > return set_control(btv,arg); > > + case VIDIOC_G_PARM: > + case VIDIOC_S_PARM: > + { > + struct v4l2_standard std; > + struct v4l2_streamparm *p = arg; > + > + down(&fh->lock); > +#ifdef FIXME > + /* FIXME: BTTV2 code: Where's equivalent info in bttv structures...? */ > + p->type = (btvo->vbi)?V4L2_BUF_TYPE_VBI:V4L2_BUF_TYPE_CAPTURE; > +#else > + p->type = V4L2_BUF_TYPE_CAPTURE; > +#endif > + p->parm.capture.capability = 0; > + p->parm.capture.capturemode = 0; > + v4l2_video_std_construct(&std,bttv_tvnorms[btv->tvnorm].v4l2_id,0); > + p->parm.capture.timeperframe = v4l2_video_std_tpf(&std); > + up(&fh->lock); > + return 0; > + } > + > case VIDIOC_ENUMSTD: > case VIDIOC_G_STD: > case VIDIOC_S_STD: -- Dirk Meul <dirk.meul@xxxxxxxx>