From 9f42c33ef6793482a5c2515f9a87c13c0d189c60 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 25 Feb 2007 18:00:00 +0100 Subject: =?UTF-8?q?Version=201.5.1=20-=20Added=20cDevice::HasCi()=20so=20t?= =?UTF-8?q?hat=20devices=20with=20Common=20Interface=20can=20be=20avoided?= =?UTF-8?q?=20=20=20when=20tuning=20to=20an=20FTA=20channel,=20thus=20pres?= =?UTF-8?q?erving=20the=20CAM=20resources=20even=20on=20budget=20=20=20DVB?= =?UTF-8?q?=20cards=20(suggested=20by=20Petri=20Helin).=20-=20Fixed=20i18n?= =?UTF-8?q?=20characters=20for=20the=20Hungarian=20texts=20(thanks=20to=20?= =?UTF-8?q?Thomas=20G=C3=BCnther).=20-=20Now=20using=20cPipe=20instead=20o?= =?UTF-8?q?f=20popen()=20in=20cCommand::Execute()=20to=20avoid=20problems?= =?UTF-8?q?=20=20=20with=20open=20file=20handles=20when=20starting=20backg?= =?UTF-8?q?round=20commands=20(thanks=20to=20Reinhard=20=20=20Nissl).=20-?= =?UTF-8?q?=20Removed=20'assert(0)'=20from=20cDvbSpuDecoder::setTime()=20(?= =?UTF-8?q?thanks=20to=20Marco=20Schl=C3=BC=C3=9Fler).=20-=20Fixed=20a=20p?= =?UTF-8?q?ossible=20crash=20when=20loading=20an=20invalid=20XPM=20file=20?= =?UTF-8?q?(thanks=20to=20Martin=20Wache).=20-=20Updated=20satellite=20nam?= =?UTF-8?q?es=20in=20'sources.conf'=20(thanks=20to=20Thilo=20Wunderlich).?= =?UTF-8?q?=20-=20Adapted=20'libsi'=20to=20DVB-S2=20(thanks=20to=20Marco?= =?UTF-8?q?=20Schl=C3=BC=C3=9Fler).=20-=20Fixed=20handling=20error=20statu?= =?UTF-8?q?s=20in=20cDvbTuner::GetFrontendStatus()=20(thanks=20to=20=20=20?= =?UTF-8?q?Reinhard=20Nissl).=20-=20Shutdown=20handling=20has=20been=20rew?= =?UTF-8?q?ritten=20(thanks=20to=20Udo=20Richter).=20-=20Plugins=20can=20n?= =?UTF-8?q?ow=20implement=20the=20new=20function=20WakeupTime()=20to=20req?= =?UTF-8?q?uest=20VDR=20to=20wake=20=20=20up=20at=20a=20particular=20time?= =?UTF-8?q?=20(thanks=20to=20Udo=20Richter).=20-=20The=20HUP=20signal=20no?= =?UTF-8?q?w=20forces=20a=20restart=20of=20VDR=20(thanks=20to=20Udo=20Rich?= =?UTF-8?q?ter).=20-=20cThread::EmergencyExit()=20has=20been=20replaced=20?= =?UTF-8?q?by=20ShutdownHandler.RequestEmergencyExit().=20-=20Several=20re?= =?UTF-8?q?ferences=20to=20"button"=20in=20a=20remote=20control=20context?= =?UTF-8?q?=20have=20been=20changed=20=20=20to=20"key"=20(based=20on=20a?= =?UTF-8?q?=20report=20from=20Marko=20M=C3=A4kel=C3=A4=20regarding=20the?= =?UTF-8?q?=20"Menu=20button=20closes"=20=20=20text).=20The=20"MenuButtonC?= =?UTF-8?q?loses"=20parameter=20in=20'setup.conf'=20has=20therefore=20been?= =?UTF-8?q?=20=20=20renamed=20to=20"MenuKeyCloses",=20accordingly.=20This?= =?UTF-8?q?=20will=20result=20in=20an=20"unknown=20config=20=20=20paramete?= =?UTF-8?q?r:=20MenuButtonCloses"=20error=20message=20in=20the=20log=20fil?= =?UTF-8?q?e,=20so=20you=20may=20want=20to=20=20=20remove=20that=20entry?= =?UTF-8?q?=20from=20your=20'setup.conf'=20file.=20-=20Simplified=20the=20?= =?UTF-8?q?error=20handling=20in=20cDvbTuner::GetFrontendStatus()=20(based?= =?UTF-8?q?=20on=20a=20=20=20discussion=20with=20Reinhard=20Nissl).=20-=20?= =?UTF-8?q?Updated=20the=20Finnish=20OSD=20texts=20(thanks=20to=20Rolf=20A?= =?UTF-8?q?hrenberg).=20-=20Increased=20the=20maximum=20number=20of=20DVB?= =?UTF-8?q?=20devices=20to=208=20(thanks=20to=20Rolf=20Ahrenberg).=20-=20T?= =?UTF-8?q?he=20new=20Setup=20parameter=20"Channel=20entry=20timeout"=20ca?= =?UTF-8?q?n=20be=20used=20to=20customize=20the=20time=20=20=20since=20the?= =?UTF-8?q?=20last=20keypress=20until=20a=20numerically=20entered=20channe?= =?UTF-8?q?l=20number=20is=20considered=20=20=20complete,=20and=20the=20ch?= =?UTF-8?q?annel=20is=20switched=20(suggested=20by=20Helmut=20Auer).=20Set?= =?UTF-8?q?ting=20this=20=20=20parameter=20to=200=20turns=20off=20the=20au?= =?UTF-8?q?tomatic=20channel=20switching,=20and=20the=20user=20will=20=20?= =?UTF-8?q?=20have=20to=20confirm=20the=20entry=20by=20pressing=20the=20"O?= =?UTF-8?q?k"=20key.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libsi/headers.h | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 201 insertions(+), 8 deletions(-) (limited to 'libsi/headers.h') 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 -- cgit v1.2.3