[mythtv] DVB EIT in mythtv-eit

Janne Grunau janne-mythtv at grunau.be
Mon May 1 00:00:14 UTC 2006


On Sunday 30 April 2006 19:58, Daniel Kristjansson wrote:
> On Sat, 2006-04-29 at 21:53 +0200, Janne Grunau wrote:
> This looks like a different problem actually. The PMT problem had to
> do with multiple PMT's being stuffed into a single TS packet. Here
> the problem appears to be that InitPESPacket is being called on TS
> Packets that don't have the payload start bit set. Basically, we
> should be using AddTSPacket() not InitPESPacket(). I'll look at this
> more carefully in the coming week.

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. 

> > > I'll add the "AddListeningPID()" hack until someone gets around
> > > to implementing proper DVB table monitoring. Where did you put
> > > this?
> >
> > In ProcessPMT but I might be faster in adding DVB table monitoring.
> > Tried that 2 or 3 weeks ago.
>
> 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.

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

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

> Finally, TVRec::SetupDTVSignalMonitor() needs to tell the
> DVBStreamData about the networkid and serviceid and require the SDT
> for DVB streams, just like it requires sets the major and minor
> channel and requires the VCT for ATSC streams. (Just add a "Check if
> this is a DVB Channel" section between the "ATSC Channel" and "MPEG
> Channel" sections, currently non-ATSC channels just fall though to
> "MPEG Channel").

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.

> We will also want to keep this info in the channel 
> class like we do with ATSC and MPEG tuning data, but this doesn't
> need to be done right away, you can just use DVBChannel::GetChanID()
> and a DB query to get the networkid and serviceid for now.

Implemented that already.

> > > I'm assuming this means you are able to change channels, record,
> > > etc?
> >
> > I haven't tried. Setting up a test box now.
>
> Let me know, that is my top worry for DVB at the moment :)

Except for a little cut'n'paste error it worked. I'll add the patch to 
ticket 1728.

Janne


More information about the mythtv-dev mailing list