[mythtv] Re : [Q]: how to hook a proprietary eit parser correctly

Daniel Kristjansson danielk at cuymedia.net
Fri Jun 13 17:04:52 UTC 2008


On Thu, 2008-06-12 at 15:31 -0400, manu wrote:
> Le 08.06.2008 06:03:16, Daniel Kristjansson a écrit :
> > On Mon, 2008-06-02 at 21:57 -0400, manu wrote:
> > > So my question: what should I do? From which classes should I 
> > derive
> > 
> > > mines. For the short tables (only on section) isn't it easier to
> > just 
> > > have a class for the table?
> > 
> > If these are very similar to the DVB tables derive from those,
> > otherwise
> > from the raw PSIPTable or even TSTable if it is always in a single TS
> > packet.
> 
> There is one table that is very long and then it is spread across 
> several section (with the same table ID obviously). If I understand 
> things correctly one PSIPTable contains only one section right?

Yes

> Also how do I provide a method to "emit" the DB events to fill the 
> database. Moreover the summaries are in different tables than the 
> titles/showings, so is it possible to submit them later on? 

The {ATSC,DVB}StreamData classes currently call EITHelper::AddEIT()
functions whenever they have a complete section assembled. But, if 
you need to, you can wait until you have all the sections cached 
before calling an AddEIT() function, there are conventions for caching
sections which you can see by looking at the ProgramMapTable handling.
"Table" is in fact a misnomer, each "Table" is in fact just a section,
but we have a pmt_cache in MPEGStreamData which contains all the
sections seen so far. The key for the table is program_number * 256 +
section_number, there is also a HasCachedAllPMT(program_number) function
which tells you if the entire table is cached, where each section
pointer maps to a "ProgramMapTable" type.

-- Daniel



More information about the mythtv-dev mailing list