Re: [patch] EIT decoder problem
Christophe Massiot <[email protected]>
| Newsgroups | gmane.comp.video.videolan.libdvbpsi.devel |
|---|---|
| Message-ID | <20070408174559.GA28062__28099.7649221264$1176054510$gmane$org@via.ecp.fr> |
On Sat, Apr 07, 2007, Johann Hanne wrote: > there seems to be a problem with the EIT decoder. [...] > I.e. if it has not received *every* section_number from 0 to > last_section_number, it will discard everything. This seems to be the correct > thing for every PSI table but the EIT. ETSI EN 300 468 V1.5.1 (2003-01) says > the following for the section_number of an EIT: > -- > section_number: This 8-bit field gives the number of the section. The > section_number of the first section in the sub_table shall be "0x00". The > section_number shall be incremented by 1 with each additional section with > the same table_id, service_id, transport_stream_id, and original_network_id. > In this case, the sub_table may be structured as a number of segments. 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. > -- > The point seems to be "a gap in numbering is permitted". To be honest, I don't > understand the whole paragraph: As far as I understand, PSI tables are put [...] Your reasoning is quite correct - libdvbpsi's behaviour is indeed non-compliant. But for a better understanding, you should have looked a few paragraphs below : segment_last_section_number: This 8-bit field specifies the number of the last section of this segment of the sub_table. For sub_tables which are not segmented, this field shall be set to the same value as the last_section_number field. So when a section with section_number == segment_last_section_number arrives, there may be a gap after this section. But it can't be anywhere in the sub_table, and it particular section_number must still start at 0. A gap is only allowed after a section with section_number == segment_last_section is received. So please fix your patch consequently. Thanks for the report, -- Christophe Massiot. -- This is the libdvbpsi-devel mailing-list, see http://developers.videolan.org/ To unsubscribe, go to: http://developers.videolan.org/lists.html