[mythtv-commits] Ticket #10495: fix "PESPacket: Failed CRC check 0xVARIABLE != 0xVARIABLE for StreamID = 0x8x"

MythTV noreply at mythtv.org
Wed Jun 27 22:18:00 UTC 2012

#10495: fix "PESPacket: Failed CRC check 0xVARIABLE != 0xVARIABLE for StreamID =
 Reporter:  dekarl@…          |          Owner:  danielk
     Type:  Patch - Bug Fix   |         Status:  infoneeded
 Priority:  minor             |      Milestone:  unknown
Component:  MythTV - General  |        Version:  Master Head
 Severity:  medium            |     Resolution:
 Keywords:                    |  Ticket locked:  0
Changes (by danielk):

 * status:  accepted => infoneeded


 I'm wondering if you'd be interested coming up with a more global fix...

 As I see it the problem is that some of the CRC checks really need to know
 the pid the table arrived on. And possibly they need to know if we're
 dealing with DVB, MPEG, ATSC, etc data. But PESPacket construction doesn't
 ensure that we'll always have a pid to lookup.

 We should really create a SectionCommon class from which PSIPTable and
 PESPacket inherit and which provides a factory method for creating
 Sections which always contain a TS header with a valid pid.
 This means we'll never get to take advantage of zero-copy for single TS
 tables, but that is of pretty much nil importance and compicates the code.
 i.e. get rid of all the current constructors for PESPacket/PSIPTable & get
 rid of the View() methods and just provide a factory which assembles and
 returns sections from TS packet[s].

Ticket URL: <http://code.mythtv.org/trac/ticket/10495#comment:6>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center

More information about the mythtv-commits mailing list