[mythtv] DVB EIT in mythtv-eit

Daniel Kristjansson danielk at cuymedia.net
Mon May 1 19:32:13 UTC 2006

On Mon, 2006-05-01 at 02:00 +0200, Janne Grunau wrote:

> The error message is actually "Error: We started a PES packet, without a 
> payloadStart!". If I get more details I'll post to the list. 
Hmm, in that case this *should* be handled correctly.
Have a look at MPEGStreamData::AssemblePSIP().
If we haven't seen a payload start yet there is a
if (!tspacket->PayloadStart()) test which should ignore any packets.

Then when a payload start is seen a PSIPTable is created and either
saved, if it is one packet of many in the PSIPTable, or returned by
the function if it contains a complete packet. In the latter case we
also check if there is another PES packet after the first one, in
this case we save it. This last part has been verified to work with
multiple PMT sections packed into a TS Packet, but I could be a
problem for EIT sections.

FYI PSIP including PMT and EIT sections are a subset of PES packets,
which can also include video, audio and other non table data.

> > It should be much easier to add DVB table monitoring now.
> It was. My solution worked almost after I merged it to eit-branch (you 
> could only tune once to each channel). Thanks for your comments. I'll 
> add it to ticket 1049.
I've merged it into the EIT branch. I also had to make some modifications
to the ATSC scanning so there wouldn't be conflicts when we don't find
ATSC tables and insert a raw MPEG channel (i.e. for Cable TV.)

> > DVBStreamData needs to know what networkid and serviceid we are
> > looking for, much like the major and minor channel in ATSCStreamData.
> I missed this, so the caching broke my first try. But we need the 
> transportid, the serviceid is equal to the program_number.
Oops sorry, I meant the TSID and NetworkID. The service id is identical
to the program number. BTW is the TSID unique? If so we don't really
need the SDT if we have the PAT right? I'm assuming the TSID in the PAT
is identical to the TSID in the SDT... Even if it isn't 100% unique,
perhaps it should be offered as an option for when it is unique 'enough'
for a particular user's situation? (i.e. all their channels have a
unique TSID.)

> > Also, HandleNIT() and HandleSDT() in DTVSignalMonitor need to be
> > able to set the kDTVSigMon_NITMatch and kDTVSigMon_SDTMatch flags
> > as appropriate, like the kDTVSigMon_MGTMatch and kDTVSigMon_VCTMatch
> > flags are set by HandleMGT() and HandleVCT().
> I added only support for the SDT, since it contains all information we 
> need and the repetition rates of NITs sucks (10s iirc).
Makes sense.

> Please review if split of DVB- and MPEG-channels is correct, I'm unsure 
> wheter I removed too much or less than possible for MPEG-channels.
It was pretty much right, I'd like to support "MPEG-Radio" at some point,
but this needs some support in the scanner first.

> Except for a little cut'n'paste error it worked. I'll add the patch to 
> ticket 1728.
Thanks, I've applied this fix.

I'd like to get a few more reports of success with the EIT branch
and then resync with SVN head before proceeding with more of the
EIT refactor. There are already a few unrelated DVB patches I don't
want to apply to head until we've resynced.

-- Daniel

More information about the mythtv-dev mailing list