[mythtv] DVB EIT in mythtv-eit

Janne Grunau janne-mythtv at grunau.be
Mon May 1 20:43:41 UTC 2006


On Monday 01 May 2006 21:32, Daniel Kristjansson wrote:
> 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.

It works quite well, except that I see very few EIT data.  
>
> 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.

I think it's a problem how we handle partial packets. It is not limited 
to EIT since I also see failed CRC checks.

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

I saw it. Thanks.

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

No, only NetworkID and TSID together have to be unique. It would be 
sensible if the TSID in PAT and SDT match. I haven't checked since the 
SDT monitoring does not to slow down the tuning much.

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

I fear I'm the only person who tried it. I'll try to convince some guys 
in IRC to test the branch. But we should solve the issues with the 
PESPackets for the SI tables first.

Janne


More information about the mythtv-dev mailing list