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. Regards, Duncan _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
