[mythtv] [Q]: CRC detection for packets
manu
eallaud at yahoo.fr
Tue Jul 15 19:14:29 UTC 2008
Hi all,
I have a problem here. Looking at pespacket.h I see
virtual bool HasCRC() const { return (_pesdata[4] & 0x2) >>
1; }
But here is a packet I need to parse (here I used dvbsnoop to get it):
raw packet:
------------------------------------------------------------
SECT-Packet: 00000024 PID: 276 (0x0114), Length: 2019 (0x07e3)
Time received: Wed 2008-06-04 14:59:54.114
------------------------------------------------------------
0000: 92 f7 e0 00 00 d9 2c 32 f2 49 0a 53 55 52 20
4c ......,2.I.SUR L
0010: 45 20 56 49 46 a0 37 30 2e 08 af 00 2e 40 e6 00 E
VIF.70..... at ..
[snip]
07c0: 0d 20 0d 54 48 45 20 42 41 43 4b 57 4f 4f 44 53 . .THE
BACKWOODS
07d0: b0 64 00 34 02 53 20 34 3a 1c 20 34 41 c7 20 03 .d.4.S 4:.
4A. .
07e0: 86 7d fb
Here is how it is decoded by dvbsnoop:
Guess table from table id...
User_Defined-decoding....
Table_ID: 146 (0x92) [= User private]
Section_syntax_indicator: 1 (0x01)
private_indicator: 1 (0x01)
reserved: 3 (0x03)
private_section_length: 2016 (0x07e0)
table_id_extension: 0 (0x0000)
reserved: 3 (0x03)
Version_number: 12 (0x0c)
Current_next_indicator: 1 (0x01) [= valid now]
Section_number: 44 (0x2c)
Last_section_number: 50 (0x32)
Private Data:
0000: f2 49 0a 53 55 52 20 4c 45 20 56 49 46 a0 37 30 .I.SUR
LE VIF.70
0010: 2e 08 af 00 2e 40 e6 00 19 53 55 52 20 4c 45
53 ..... at ...SUR LES
[snip]
07b0: 48 4f 57 90 19 80 1c 1a 0d 20 0d 54 48 45 20 42
HOW...... .THE B
07c0: 41 43 4b 57 4f 4f 44 53 b0 64 00 34 02 53 20 34
ACKWOODS.d.4.S 4
07d0: 3a 1c 20 34 41 c7 20 :. 4A.
CRC: 59145723 (0x03867dfb)
So as you can see dvbsnoop detects that it has a crc where mythtv
thinks that it does not.
I also have the reverse problem: pespacket discards packets because
they have a bad crc but actually they do not have crc.
So my question: what is the correct method to detect if a packet has a
crc, the one in mythtv seems to be too simplistic.
Thx
Bye
Manu
More information about the mythtv-dev
mailing list