[libdvbpsi-devel] Bug in EIT PSI section gathering

Sas(o Kiselkov skiselkov at gmail.com
Wed Jan 16 00:30:03 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

I've found a design bug in eit.c: when gathering PSI sections for EIT
decoding, the code assumes that the section numbers must be contiguous
from 0x00 up to i_last_section_number, which isn't the case: ETSI EN 300
468 V1.5.1, p.23, "section_number":

"Within each segment the section_number shall increment by 1 with each
additional section, but a gap in numbering is permitted between the last
section of a segment and the first section of the adjacent segment."

I found that when trying to program an EPG application, the ARTE channel
multiplex on Astra 19.2E would only show me the current and following
events (in table_id 0x4e with just two sections), but none of the
scheduled events (table_id 0x50 - 0x5f, with lots more sections with
gaps between them). I reworked the code in eit.c to call
dvbpsi_DecodeEITSections for each new section received, which made
decode each section one by one, but my solution is a hack and clearly
suboptimal.

Any suggestions on how to patch this behavior?

Regards
- --
Saso
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHjUH6akxhuWWzY78RA9jjAJ9MlXS8o7rzVMj/bj3cDApsBrLcMwCeK6Zr
TRpF6edHAfOJItKAKIXreCw=
=q3v7
-----END PGP SIGNATURE-----



More information about the libdvbpsi-devel mailing list