summaryrefslogtreecommitdiff
path: root/libsi/headers.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-02-20 13:54:14 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2004-02-20 13:54:14 +0100
commit402184b9da571d8bed4e6c118074d451c6b355f1 (patch)
treef60f8c5ce2ca989062899663a989c748b77bb078 /libsi/headers.h
parentc817c341cead8ddbb8f544d6dd5e4dbe4050af19 (diff)
downloadvdr-402184b9da571d8bed4e6c118074d451c6b355f1.tar.gz
vdr-402184b9da571d8bed4e6c118074d451c6b355f1.tar.bz2
Added subtable ID and TSDT handling to 'libsi'
Diffstat (limited to 'libsi/headers.h')
-rw-r--r--libsi/headers.h47
1 files changed, 44 insertions, 3 deletions
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