[mythtv] Ticket #5013: Constant PESPacket CRC check failure

Janne Grunau janne-mythtv at grunau.be
Wed Dec 15 10:38:00 UTC 2010


On Wed, Dec 15, 2010 at 01:20:08AM +0100, Karl Dietz wrote:
> >>> The real solution would involve making sure that TS Packets for PID 0x14
> >>> end up in the derived class instead of the base class.
> 
> >> there is no need to calculate the CRC if we know that we will not use
> >> it, I'll move the streamid check
> 
> > Or even better - fix PESPacket::HasCRC(), currently it checks a bit that
> > has nothing to do with CRC in table sections.
> > Also CRC is skipped for TDT because of it size.
> 
> PESPacket is the base class, PSITable a subclass of it. HasCRC is
> implemented in both. But sometimes we end up in the wrong
> implementation because we put a SI table into an instance of PESPacket.
> 
> So the fix will be making sure that the right stuff goes to the right
> pipe, but that's a bit more involved then just making the misleading
> messages go away ;)

The problem is that we handle PSIP data as PES packets which they are
not and expliticly the HasCRC check is wrong.

This check is done before the data is casted into the correct class and
iirc it makes sense to do a CRC check there.

Janne


More information about the mythtv-dev mailing list