On Sat, 2010-11-13 at 15:06 -0500, Andy Walls wrote: > On Sat, 2010-11-13 at 16:59 +0200, Artem Astafyev wrote: > > Hi All,
> > I filed ticket in MythTV trac > > http://svn.mythtv.org/trac/ticket/9191. Could somebody take a look at > > it? > > Since at least Apr 27, 2007, when ivtv went into the mainline kernel, > ivtv has always returned EBUSY for this case. cx18 has always returned > EBUSY for this case as well. > > Unless MythTV doesn't call close() once on the MPEG stream's file handle > before trying to switch standards, I suspect the MythTV devs will close > it without action. MythTV needs to close() the MPEG file descriptor, if > trying to switch standards on ivtv and cx18 type devices. Ah, I found the problem in MythTV 0.21 source code. Look at lib/libmythtv/mpegrecorder.cpp:MpegRecorder::OpenV4L2DeviceAsInput() if (CardUtil::GetV4LInfo(chanfd, card, driver, version)) { if (driver == "ivtv") { usingv4l2 = (version >= IVTV_KERNEL_VERSION(0, 8, 0)); has_v4l2_vbi = (version >= IVTV_KERNEL_VERSION(0, 3, 8)); has_buggy_vbi = true; requires_special_pause = (version >= IVTV_KERNEL_VERSION(0, 10, 0)); } else { VERBOSE(VB_IMPORTANT, "\n\nNot ivtv driver??\n\n"); usingv4l2 = has_v4l2_vbi = true; has_buggy_vbi = requires_special_pause = false; } } Like all modern ivtv driver versions, I'm very confident all cx18 driver versions require requires_special_pause = true; to be set. Then libmythtv will send the VIDIOC_ENC_CMD, V4L2_ENC_CMD_STOP that is required. Although the above code snippet is from 0.21, I suspect it is still the same in 0.23. I'm not sure what "has_buggy_vbi" means and whether or not it needs to be set for the cx18 driver. Hope that helps. Regards, Andy _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
