Patrick Boettcher wrote: > I'm playing around with a si-parser and encountered a strangeness. > > I supposed when using the section-demux-API and providing a large enough > buffer for reading, I always get a complete (valid?) section. Indeed, this > works most of the time. The following example is a section I received > yesterday: > > The first 8 bytes of the table header: > > 68 61 6E 20 68 65 69 72 han heir > > obviously trash, it is part of the section maybe... the binary data goes > on: "aten wo.lgn, macht di. Sache ni.ht besser" > > and what the parser made of it: > > table_id = 68 104 (is a valid EIT table_id, but not on PID 0x12?) > section_syntax_indicator = 0 0 invalid -> drop it > reserved_future_use0 = 1 1 > reserved0 = 2 2 > section_length = 16e 366 (valid, the packet is 369 bytes) > service_id = 2068 8296 > reserved1 = 1 1 > > Who should take card about such problems? The parser or the section-dmx of > the DVB API? IIRC the DMX_CHECK_CRC flag only checks it the CRC if the section_syntax_indicator == 1. If you receive a section with a broken section_syntax_indicator the check is not performed and you must drop it. EN 300 468 specifies that ssi must be set in the EIT. Johannes