summaryrefslogtreecommitdiff
path: root/libsi/headers.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2007-02-25 18:00:00 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2007-02-25 18:00:00 +0100
commit9f42c33ef6793482a5c2515f9a87c13c0d189c60 (patch)
tree45025e95c0774761760c9bc6a44f4e69a1baf43b /libsi/headers.h
parent66ab78a40f5b57e20142a33484e32c785a0c4017 (diff)
downloadvdr-patch-lnbsharing-9f42c33ef6793482a5c2515f9a87c13c0d189c60.tar.gz
vdr-patch-lnbsharing-9f42c33ef6793482a5c2515f9a87c13c0d189c60.tar.bz2
Version 1.5.1vdr-1.5.1
- Added cDevice::HasCi() so that devices with Common Interface can be avoided when tuning to an FTA channel, thus preserving the CAM resources even on budget DVB cards (suggested by Petri Helin). - Fixed i18n characters for the Hungarian texts (thanks to Thomas Günther). - Now using cPipe instead of popen() in cCommand::Execute() to avoid problems with open file handles when starting background commands (thanks to Reinhard Nissl). - Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler). - Fixed a possible crash when loading an invalid XPM file (thanks to Martin Wache). - Updated satellite names in 'sources.conf' (thanks to Thilo Wunderlich). - Adapted 'libsi' to DVB-S2 (thanks to Marco Schlüßler). - Fixed handling error status in cDvbTuner::GetFrontendStatus() (thanks to Reinhard Nissl). - Shutdown handling has been rewritten (thanks to Udo Richter). - Plugins can now implement the new function WakeupTime() to request VDR to wake up at a particular time (thanks to Udo Richter). - The HUP signal now forces a restart of VDR (thanks to Udo Richter). - cThread::EmergencyExit() has been replaced by ShutdownHandler.RequestEmergencyExit(). - Several references to "button" in a remote control context have been changed to "key" (based on a report from Marko Mäkelä regarding the "Menu button closes" text). The "MenuButtonCloses" parameter in 'setup.conf' has therefore been renamed to "MenuKeyCloses", accordingly. This will result in an "unknown config parameter: MenuButtonCloses" error message in the log file, so you may want to remove that entry from your 'setup.conf' file. - Simplified the error handling in cDvbTuner::GetFrontendStatus() (based on a discussion with Reinhard Nissl). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Increased the maximum number of DVB devices to 8 (thanks to Rolf Ahrenberg). - The new Setup parameter "Channel entry timeout" can be used to customize the time since the last keypress until a numerically entered channel number is considered complete, and the channel is switched (suggested by Helmut Auer). Setting this parameter to 0 turns off the automatic channel switching, and the user will have to confirm the entry by pressing the "Ok" key.
Diffstat (limited to 'libsi/headers.h')
-rw-r--r--libsi/headers.h209
1 files changed, 201 insertions, 8 deletions
diff --git a/libsi/headers.h b/libsi/headers.h
index ea7824b..db1e261 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.8 2006/09/02 20:25:16 kls Exp $
+ * $Id: headers.h 1.9 2007/02/03 11:45:58 kls Exp $
* *
***************************************************************************/
@@ -942,9 +942,13 @@ struct descr_satellite_delivery_system {
#if BYTE_ORDER == BIG_ENDIAN
u_char west_east_flag :1;
u_char polarization :2;
- u_char modulation :5;
+ u_char roll_off :2;
+ u_char modulation_system :1;
+ u_char modulation_type :2;
#else
- u_char modulation :5;
+ u_char modulation_type :2;
+ u_char modulation_system :1;
+ u_char roll_off :2;
u_char polarization :2;
u_char west_east_flag :1;
#endif
@@ -1349,9 +1353,15 @@ struct descr_terrestrial_delivery {
u_char frequency_lo_lo :8;
#if BYTE_ORDER == BIG_ENDIAN
u_char bandwidth :3;
- u_char reserved1 :5;
+ u_char priority :1;
+ u_char time_slicing_indicator :1;
+ u_char mpe_fec_indicator :1;
+ u_char reserved1 :2;
#else
- u_char reserved1 :5;
+ u_char reserved1 :2;
+ u_char mpe_fec_indicator :1;
+ u_char time_slicing_indicator :1;
+ u_char priority :1;
u_char bandwidth :3;
#endif
#if BYTE_ORDER == BIG_ENDIAN
@@ -1492,10 +1502,10 @@ struct descr_data_broadcast {
/* TBD */
};
-/* 0x65 ca_system_descriptor */
+/* 0x65 scrambling_descriptor */
-#define DESCR_CA_SYSTEM_LEN XX
-struct descr_ca_system {
+#define DESCR_SCRAMBLING_LEN XX
+struct descr_scrambling {
u_char descriptor_tag :8;
u_char descriptor_length :8;
/* TBD */
@@ -1628,6 +1638,189 @@ struct descr_service_identifier {
u_char descriptor_length :8;
};
+/* 0x72 service_availbility_descriptor */
+
+struct descr_service_availbility {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char availability_flag :1;
+ u_char reserved :7;
+#else
+ u_char reserved :7;
+ u_char availability_flag :1;
+#endif
+};
+
+/* 0x73 default_authority_descriptor (ETSI TS 102 323) */
+
+struct descr_default_authority {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+};
+
+/* 0x74 related_content_descriptor (ETSI TS 102 323) */
+
+struct descr_related_content {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+};
+
+/* 0x75 tva_id_descriptor (ETSI TS 102 323) */
+
+struct descr_tva_id {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+};
+
+/* 0x76 content_identifier_descriptor (ETSI TS 102 323) */
+
+struct descr_content_identifier {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+};
+
+/* 0x77 time_slice_fec_identifier_descriptor (ETSI EN 301 192) */
+
+struct descr_time_slice_fec_identifier {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char time_slicing :1;
+ u_char mpe_fec :2;
+ u_char reserved :2;
+ u_char frame_size :3;
+#else
+ u_char frame_size :3;
+ u_char reserved :2;
+ u_char mpe_fec :2;
+ u_char time_slicing :1;
+#endif
+ u_char max_burst_duration :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char max_average_rate :4;
+ u_char time_slice_fec_id :4;
+#else
+ u_char time_slice_fec_id :4;
+ u_char max_average_rate :4;
+#endif
+};
+
+/* 0x78 ecm_repetition_rate_descriptor (ETSI EN 301 192) */
+
+struct descr_ecm_repetition_rate {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+ u_char ca_system_id_hi :8;
+ u_char ca_system_id_lo :8;
+ u_char ecm_repetition_rate_hi :8;
+ u_char ecm_repetition_rate_lo :8;
+};
+
+/* 0x79 s2_satellite_delivery_system_descriptor */
+
+struct descr_s2_satellite_delivery_system {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char scrambling_sequence_selector :1;
+ u_char multiple_input_stream_flag :1;
+ u_char backwards_compatibility_indicator :1;
+ u_char reserved :5;
+#else
+ u_char reserved :5;
+ u_char backwards_compatibility_indicator :1;
+ u_char multiple_input_stream_flag :1;
+ u_char scrambling_sequence_selector :1;
+#endif
+};
+
+struct descr_scrambling_sequence_selector {
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char reserved :6;
+ u_char scrambling_sequence_index_hi_lo :2;
+#else
+ u_char scrambling_sequence_index_hi_lo :2;
+ u_char reserved :6;
+#endif
+ u_char scrambling_sequence_index_lo_hi :8;
+ u_char scrambling_sequence_index_lo_lo :8;
+};
+
+/* 0x7A enhanced_ac3_descriptor */
+
+struct descr_enhanced_ac3 {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char component_type_flag :1;
+ u_char bsid_flag :1;
+ u_char mainid_flag :1;
+ u_char asvc_flag :1;
+ u_char mixinfoexists :1;
+ u_char substream1_flag :1;
+ u_char substream2_flag :1;
+ u_char substream3_flag :1;
+#else
+ u_char substream3_flag :1;
+ u_char substream2_flag :1;
+ u_char substream1_flag :1;
+ u_char mixinfoexists :1;
+ u_char asvc_flag :1;
+ u_char mainid_flag :1;
+ u_char bsid_flag :1;
+ u_char component_type_flag :1;
+#endif
+};
+
+/* 0x7B dts_descriptor */
+
+struct descr_dts {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char sample_rate_code :4;
+ u_char bit_rate_code :6;
+ u_char nblks :7;
+ u_char fsize_hi :6;
+ u_char fsize_lo :8;
+ u_char surround_mode :6;
+ u_char lfe_flag :1;
+ u_char extended_surround_flag :2;
+#else
+ u_char extended_surround_flag :2;
+ u_char lfe_flag :1;
+ u_char surround_mode :6;
+ u_char fsize_lo :8;
+ u_char fsize_hi :6;
+ u_char nblks :7;
+ u_char bit_rate_code :6;
+ u_char sample_rate_code :4;
+#endif
+};
+
+/* 0x7C aac_descriptor */
+
+struct descr_aac {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+ u_char profile_and_level :8;
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char aac_type_flag :1;
+ u_char reserved :7;
+#else
+ u_char reserved :7;
+ u_char aac_type_flag :1;
+#endif
+};
+/* 0x7F extension_descriptor */
+
+struct descr_extension {
+ u_char descriptor_tag :8;
+ u_char descriptor_length :8;
+ u_char descriptor_tag_extension :8;
+};
+
/* MHP 0x00 application_descriptor */
#define DESCR_APPLICATION_LEN 3