[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 =
0x8x"
------------------------------+-----------------------------
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
Comment:
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