I've tracked down my EBUSY problem with cx18 and my HVR-1600 when MythTV
tries to start an analog capture.

Because the mythbackend has started up a dvb stream to collect EPG data
from the OTA ATSC broadcasts, the atomic variable cx->capturing is
already incremented via cx18_dvb_start_feed() calling
cx18_start_v4l2_encode_stream().  When MythTV tries to start watching
live TV on the analog side of the HVR-1600, the VIDIOC_S_FMT ioctl() for
a V4L2_BUF_TYPE_VIDEO_CAPTURE fails in cx18_try_or_set_fmt() with an
EBUSY because cx->capturing has already been incremented.  Because of
this EBUSY return from the ioctl(), MythTV won't start an analog capture
on the HVR-1600.

I haven't looked at a proper fix for this yet, but I wanted to write it
down, before I forgot the details.  My first thought was to
simplistically maintain a separate cx->capturing counter for both DVB
and analog.  I'm guessing there some problems with treating active
analog and DVB captures as totally independent though, as they both pass
through the CX23418.

Regards,
Andy




_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to