On Saturday 20 October 2007 18:56:22 Duncan Webb wrote:
> Hans Verkuil wrote:
> > On Saturday 20 October 2007 17:02:16 Duncan Webb wrote:
> >> Hans Verkuil wrote:
> >>> On Saturday 20 October 2007 11:31:27 Duncan Webb wrote:
> >>>> Hans Verkuil wrote:
> >>>>> The old IVTV_IOC_S_GOP_END has been removed. Instead use the
> >>>>> new VIDIOC_ENCODER_CMD and VIDIOC_TRY_ENCODER_CMD ioctls if you
> >>>>> want this feature. See the v4l2 spec for more details.
> >>>>
> >>>> Still having a little bit of a problem with VIDIOC_ENCODER_CMD,
> >>>> does this need to be called just before the stream off command,
> >>>> replace it (as I think is correct) or as with IVTV_IOC_S_GOP_END
> >>>> before reading begins?
> >>>
> >>> It replaces STREAMOFF. STREAMOFF was always a half-baked
> >>> implementation at best and was replaced with this command. The
> >>> STREAMON/OFF command are really meant for the V4L2 stream I/O
> >>> API. Since ivtv doesn't support stream I/O the driver's
> >>> VIDIOC_STREAMOFF support was removed.
> >>
> >> Sorry to bug you Hans,
> >>
> >> I can't seem to get VIDIOC_ENCODER_CMD to work, I written a little
> >> test program (attached)
> >>
> >> I would expect that after having sent the VIDIOC_ENCODER_CMD to
> >> stop, that a read would return 0 bytes, but it seems that the
> >> buffer is always full.
> >
> > Hmm, I suddenly remembered that I fixed something related to
> > GOP_END:
> >
> > changeset: 6096:13e00f878706
> > user: Hans Verkuil <[EMAIL PROTECTED]>
> > date: Thu Aug 23 22:51:07 2007 +0200
> > files: linux/drivers/media/video/ivtv/ivtv-fileops.c
> > linux/drivers/media/video/ivtv/ivtv-streams.c
> > description:
> > ivtv: fix V4L2_ENC_CMD_STOP_AT_GOP_END support
> >
> > From: Hans Verkuil <[EMAIL PROTECTED]>
> >
> > Support for V4L2_ENC_CMD_STOP_AT_GOP_END was broken. While the
> > driver correctly waited for the card to capture until the GOP was
> > complete, afterwards the driver buffers were just flushed instead
> > of waiting for the application to read all the pending data.
> >
> > Signed-off-by: Hans Verkuil <[EMAIL PROTECTED]>
> >
> > The fix is in the v4l-dvb repository and will appear in the 2.6.24
> > kernel.
> >
> > Testing you app with the v4l-dvb repository shows that it works
> > fine.
>
> Just installed the v4l-dvb from its repository, I'm not sure if this
> is a valid thing to do with a 2.6.22.5 kernel. But it compiled and
> installed cleanly.
>
> My little app failed with an invalid argument, I'm wonder if there is
> some module that I should have removed.
>
> ioctl V4L2_ENC_CMD_STOP failed: Invalid argument
>
> Sorry to be a pain, I would like this to work because memcoder and
> matroska like complete GOPs otherwise the audio gets out of sync, but
> this could be an encoding option problem.
Are you sure you're not using an old ivtv? The version reported in the
kernel log should be 1.1.0. Your test app runs fine here.
Oh, make sure you are using the right videodev2.h. Check if the
videodev2.h you are including in your test application is up to date.
Regards,
Hans
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel