[mythtv] Backend crash on tuning to any DVB channel

Daniel Kristjansson danielk at cuymedia.net
Sat Mar 18 17:12:05 UTC 2006


On Fri, 2006-03-17 at 18:10 +0100, Marcus Metzler wrote:
> I don't know if this is related, but I always get a segfault, when the
> backend tries to read the EIT. I trakced it back to the CalcCRC call
> in pespacket.c. Apparently the ProgramAssociationTable class inherits
> the PesPacket class vioa the PSIPTable class and CalcCRC crashes when
> it wants to calculate the Length() of the PesPacket. I haven't traced
> it all through. I guess the reason is that the Finalize call is made
> without checking if there even is a CRC.
Marcus this sounds like a different problem, Daniel Foster's problem
was/is due to a recent SVN resync.

The Finalize() call should only be called on PES packets we construct,
which should always have a CRC. The VerifyCRC() call is called on
packets we read in, but should just return true if there is no CRC.

> I am also not sure if
> treating a TS section as PES is the right choice, but I haven't worked
> through all the classes, so I can't really comment on that.
AddTSPacket was supposed to be a temporary hack until Taylor Jacob
got the pes packet constructor he was using working correctly. But
since he hasn't had time for MythTV coding in a while, so a proper
pes packet assembler is now on my TODO. At the time he had copies
of the MPEG specs, while my AddTSPacket was just reverse engineered
in 20 minutes from the streams I had. I now have a copy of the 
important bits of the MPEG-2 spec, but haven't had a chance to look
at it yet.

-- Daniel




More information about the mythtv-dev mailing list