[mythtv] Re: DVB Patches Applied from last few weeks. Anything missed?

Taylor Jacob rtjacob at earthlink.net
Sat Mar 26 18:17:58 UTC 2005


Quoting Noone Important <nooneimprt4nt at gmail.com>:
> I didn't really expect you to apply my segmented EIT patch, but if you
> could tell me what the correct way to accomplish the task is, I'd be
> happy to update it.
> I am talking about this:
> http://www.gossamer-threads.com/lists/mythtv/dev/119269

I meant to reply to you, but apparently it fell to the side.. Sorry about that..

A rough idea of how the EIT Emit stuff works currently is as follows:

The SectionTracker class keeps track of versions, sections, etc and assuming all
of the header information is correct should detect if all required tables are
loaded for a service.. When this is true then the Emit takes place and the
Events[] object gets sent over to siscan for db insersion.. Obviously with the
bad header information you have thats the problem..

Moving forward (and on to fixing this issue)..

What I need to do anyway for EIT stuff is make there be an Emit for each table
loaded (similar to what you did) so that data gets placed into the database as
it is loaded and can be freed up from ram instead of holding it all until
SectionTracker says its all there.. This way siscan can clear out the events
object thus freeing ram up.. This way even if there is a header issue like this
it will make it into the database..  There may have to be some locking, or
copying of objects to not hemmorage ram, or segv.. I need to think about this
some more.. Probbably let siparser make a copy of the Events class for the emit
and clear it locally, so that siscan can safely delete the entries.. QT Might
handle this by itself.. Like I said more research is required before I'll put
it in cvs..

The Complete status still does need to be reported properly for down the road,
so we still will need to do some private type entries for your provider.. Do
you have any idea if you can figure out what the LastTable/Last Segment stuff
should be for your network?  If you can figure this out I would great a
dtv_private entry to handle this (unless the ones already there for Swedish DVB
will work just with a new entry)..

The Complete() signal will be used when siscan actually does what the name
means.. Scan for SI.. I need to ensure that the complete() signals for EIT are
accurate so I don't have to rely on a timeout when crawling multiplexes for
EIT..

This make any sense?

I believe this may be what is going on in Germany with Astra..

Taylor


More information about the mythtv-dev mailing list