Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ivtv: devel

cx18: cx18_dvb_start_feed() precludes MythTV from starting an analog capture

 

 

ivtv devel RSS feed   Index | Next | Previous | View Threaded


awalls at radix

May 21, 2008, 5:21 PM

Post #1 of 2 (1457 views)
Permalink
cx18: cx18_dvb_start_feed() precludes MythTV from starting an analog capture

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
ivtv-devel [at] ivtvdriver
http://ivtvdriver.org/mailman/listinfo/ivtv-devel


hverkuil at xs4all

May 21, 2008, 11:03 PM

Post #2 of 2 (1317 views)
Permalink
Re: cx18: cx18 dvb start feed() precludes MythTV from starting an analog capture [In reply to]

On Thursday 22 May 2008 02:21:58 Andy Walls wrote:
> 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.

Argh! I never realized this, but that will indeed fail.

> 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.

Actually, this was my first idea as well. The fix will have to be
something along those lines in any case.

Regards,

Hans

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

ivtv devel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.