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

Janne Grunau janne-mythtv at grunau.be
Tue Dec 14 17:58:33 UTC 2010


On Tue, Dec 14, 2010 at 01:19:35AM +0100, Karl Dietz wrote:
> Hi,
> 
> find attached a small patch for your consideration to remove clutter
> from the backend log.
> 
> It should surpress the message, which seems to have distracted many
> people in the past 3 years when looking for real errors.
> 
> "PESPacket: Failed CRC check 0xVARIABLE != 0xCONSTANT for StreamID = 0x70"
> 
> Regards,
> Karl

> From fea52a636c13be2a2e9446d8e0e5f03a806ac07e Mon Sep 17 00:00:00 2001
> From: Karl Dietz <dekarl at users.sourceforge.net>
> Date: Tue, 14 Dec 2010 00:59:34 +0100
> Subject: [PATCH] surpress false positive in CRC check in PESPacket (we really want the check in PSIPTable)
> 
> The real solution would involve making sure that TS Packets for PID 0x14
> end up in the derived class instead of the base class.
> 
> fixes: #5013
> ---
>  mythtv/libs/libmythtv/mpeg/pespacket.cpp |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/mythtv/libs/libmythtv/mpeg/pespacket.cpp b/mythtv/libs/libmythtv/mpeg/pespacket.cpp
> index d536f5e..597d72d 100644
> --- a/mythtv/libs/libmythtv/mpeg/pespacket.cpp
> +++ b/mythtv/libs/libmythtv/mpeg/pespacket.cpp
> @@ -152,7 +152,7 @@ uint PESPacket::CalcCRC(void) const
>  bool PESPacket::VerifyCRC(void) const
>  {
>      bool ret = !HasCRC() || (CalcCRC() == CRC());
> -    if (!ret)
> +    if (!ret && (StreamID() != 0x70)) /* no false positive for TDT tables */

there is no need to calculate the CRC if we know that we will not use
it, I'll move the streamid check

Thanks.

Janne



More information about the mythtv-dev mailing list