[mythtv] [Mythtv 0.25pre] Cross sourcing of EIT for usage with set top boxes

Lincoln Rogers lincoln at performaplus.co.nz
Sun Apr 29 22:31:08 UTC 2012

Hi all. I'm new to the mailing list so I hope I am going about this
the right way... feel free to correct me if I'm not.

In New Zealand there is 8 days of good DVB-S guide data.
Since about 0.21 I have modified my mythbackend in each release so
that my DVB-S card gets EIT guide data for my set top box (on another
videosource) as well as its own dvb-s source. This works well but my
patch has always been more of a hack and required tweaking the
database. In the 0.25 version I thought I would do it properly and try
and submit the changes.

The objectives of my changes is to
 * modify mythtv-setup so that you can scan and add channels to an
analogue input source (ie, stb) using a digital dvb-s card - this way,
all the digital transport information required for getting EIT guide
data will be entered into the database.

 * modify mythbackend and libmythtv so that when an active eit scan is
run, the card will get channels from multiple sources so that all
relevant transponders for more than one sourceid would be scanned.

Note: EITcache already applies the eit guide data across multiple
videosources provided than channel.serviceid and channel.mplex idea
are specified. The only current problem is that not all transponders
are necessarily scanned.

So far:
I have added a videosourcemap table to the database. This links a
cardinputid to a sourceid with a maptype (either all, eit, or scan).
This table is populated by mythtv-setup -> input connections and also
by a 'Cross Sourcing" listing grabber that I've added to videosource.

I have yet to make changes to allow for the cross source dtv channel scanning.

In mythbackend, I was planning to adjust the database query in
EITScanner::StartActiveScan and then have the EITScanner::run thread
pass a flag kFlagEITScan to SetChannel (tv_rec.cpp) and this will
control the 'map type' of the videosourcemap to get from the database.

So thats it so far. I'm no expert C++ programmer but have been slowly
working through the task.
Does anyone have any thoughts or suggestions?


More information about the mythtv-dev mailing list