From 402184b9da571d8bed4e6c118074d451c6b355f1 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 20 Feb 2004 13:54:14 +0100 Subject: Added subtable ID and TSDT handling to 'libsi' --- libsi/headers.h | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) (limited to 'libsi/headers.h') diff --git a/libsi/headers.h b/libsi/headers.h index d5c11999..26fdb27c 100644 --- a/libsi/headers.h +++ b/libsi/headers.h @@ -10,7 +10,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: headers.h 1.2 2003/12/13 10:43:26 kls Exp $ + * $Id: headers.h 1.3 2004/02/20 13:49:16 kls Exp $ * * ***************************************************************************/ @@ -257,7 +257,48 @@ struct pmt_info { /* * - * 4) Network Information Table (NIT): + * 4) Transport Stream Description Table (TSDT): + * + * - The TSDT carries a loop of descriptors that apply to + * the whole transport stream. The syntax and semantics + * of the TSDT are defined in newer versions of ISO/IEC 13818-1. + * + */ + +#define TSDT_LEN 8 + +struct tsdt { + u_char table_id :8; +#if BYTE_ORDER == BIG_ENDIAN + u_char section_syntax_indicator :1; + u_char dummy :1; // has to be 0 + u_char :2; + u_char section_length_hi :4; +#else + u_char section_length_hi :4; + u_char :2; + u_char dummy :1; // has to be 0 + u_char section_syntax_indicator :1; +#endif + u_char section_length_lo :8; + u_char :8; + u_char :8; +#if BYTE_ORDER == BIG_ENDIAN + u_char :2; + u_char version_number :5; + u_char current_next_indicator :1; +#else + u_char current_next_indicator :1; + u_char version_number :5; + u_char :2; +#endif + u_char section_number :8; + u_char last_section_number :8; +}; + +/* + * + * 5) Network Information Table (NIT): * * - the NIT is intended to provide information about the physical * network. The syntax and semantics of the NIT are defined in @@ -468,7 +509,7 @@ struct eit { u_char original_network_id_hi :8; u_char original_network_id_lo :8; u_char segment_last_section_number :8; - u_char segment_last_table_id :8; + u_char last_table_id :8; }; #define EIT_EVENT_LEN 12 -- cgit v1.2.3