diff --git a/CONTRIBUTORS b/CONTRIBUTORS index c2b28b64..e22f321d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1122,6 +1122,7 @@ Rolf Ahrenberg for replacing all calls to sleep() with cCondWait::SleepMs() for fixing cDvbSubtitleConverter::SetOsdData() for adding support for DVB-T2 to libsi + for adding support for handling DVB-T2 transponders Ralf Klueber for reporting a bug in cutting a recording if there is only a single editing mark diff --git a/HISTORY b/HISTORY index 3e3a896f..9c308a62 100644 --- a/HISTORY +++ b/HISTORY @@ -6810,3 +6810,4 @@ Video Disk Recorder Revision History - Fixed cListBase::Move() in case From and To are equal (reported by Sundararaj Reel). - Added support for DVB-T2 to libsi (thanks to Rolf Ahrenberg). +- Added support for handling DVB-T2 transponders (thanks to Rolf Ahrenberg). diff --git a/dvbdevice.c b/dvbdevice.c index acd71264..92f6a72d 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 2.52 2012/01/08 14:30:04 kls Exp $ + * $Id: dvbdevice.c 2.53 2012/01/11 12:31:06 kls Exp $ */ #include "dvbdevice.h" @@ -44,9 +44,12 @@ const tDvbParameterMap InversionValues[] = { }; const tDvbParameterMap BandwidthValues[] = { - { 6, 6000000, "6 MHz" }, - { 7, 7000000, "7 MHz" }, - { 8, 8000000, "8 MHz" }, + { 5, 5000000, "5 MHz" }, + { 6, 6000000, "6 MHz" }, + { 7, 7000000, "7 MHz" }, + { 8, 8000000, "8 MHz" }, + { 10, 10000000, "10 MHz" }, + { 1712, 1712000, "1.712 MHz" }, { -1, 0, NULL } }; @@ -75,9 +78,12 @@ const tDvbParameterMap ModulationValues[] = { { 2, QPSK, "QPSK" }, { 5, PSK_8, "8PSK" }, { 6, APSK_16, "16APSK" }, + { 7, APSK_32, "32APSK" }, { 10, VSB_8, "VSB8" }, { 11, VSB_16, "VSB16" }, + { 12, DQPSK, "DQPSK" }, { 998, QAM_AUTO, "QAMAUTO" }, + { 999, QAM_AUTO, trNOOP("auto") }, { -1, 0, NULL } }; @@ -97,18 +103,25 @@ const tDvbParameterMap SystemValuesTerr[] = { }; const tDvbParameterMap TransmissionValues[] = { + { 1, TRANSMISSION_MODE_1K, "1K" }, { 2, TRANSMISSION_MODE_2K, "2K" }, + { 4, TRANSMISSION_MODE_4K, "4K" }, { 8, TRANSMISSION_MODE_8K, "8K" }, + { 16, TRANSMISSION_MODE_16K, "16K" }, + { 32, TRANSMISSION_MODE_32K, "32K" }, { 999, TRANSMISSION_MODE_AUTO, trNOOP("auto") }, { -1, 0, NULL } }; const tDvbParameterMap GuardValues[] = { - { 4, GUARD_INTERVAL_1_4, "1/4" }, - { 8, GUARD_INTERVAL_1_8, "1/8" }, - { 16, GUARD_INTERVAL_1_16, "1/16" }, - { 32, GUARD_INTERVAL_1_32, "1/32" }, - { 999, GUARD_INTERVAL_AUTO, trNOOP("auto") }, + { 4, GUARD_INTERVAL_1_4, "1/4" }, + { 8, GUARD_INTERVAL_1_8, "1/8" }, + { 16, GUARD_INTERVAL_1_16, "1/16" }, + { 32, GUARD_INTERVAL_1_32, "1/32" }, + { 128, GUARD_INTERVAL_1_128, "1/128" }, + { 19128, GUARD_INTERVAL_19_128, "19/128" }, + { 19256, GUARD_INTERVAL_19_256, "19/256" }, + { 999, GUARD_INTERVAL_AUTO, trNOOP("auto") }, { -1, 0, NULL } }; @@ -193,6 +206,7 @@ cDvbTransponderParameters::cDvbTransponderParameters(const char *Parameters) guard = GUARD_INTERVAL_AUTO; hierarchy = HIERARCHY_AUTO; rollOff = ROLLOFF_AUTO; + plpId = 0; Parse(Parameters); } @@ -215,7 +229,8 @@ cString cDvbTransponderParameters::ToString(char Type) const ST("ACST") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues)); ST("ACST") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues)); ST(" S ") q += PrintParameter(q, 'O', MapToUser(rollOff, RollOffValues)); - ST(" S ") q += PrintParameter(q, 'S', MapToUser(system, SystemValuesSat)); // we only need the numerical value, so Sat or Terr doesn't matter + ST(" T") q += PrintParameter(q, 'P', plpId); + ST(" ST") q += PrintParameter(q, 'S', MapToUser(system, SystemValuesSat)); // we only need the numerical value, so Sat or Terr doesn't matter ST(" T") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues)); ST(" T") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues)); return buffer; @@ -228,7 +243,7 @@ const char *cDvbTransponderParameters::ParseParameter(const char *s, int &Value, errno = 0; int n = strtol(s, &p, 10); if (!errno && p != s) { - Value = MapToDriver(n, Map); + Value = Map ? MapToDriver(n, Map) : n; if (Value >= 0) return p; } @@ -250,6 +265,7 @@ bool cDvbTransponderParameters::Parse(const char *s) case 'L': polarization = *s++; break; case 'M': s = ParseParameter(s, modulation, ModulationValues); break; case 'O': s = ParseParameter(s, rollOff, RollOffValues); break; + case 'P': s = ParseParameter(s, plpId); break; case 'R': polarization = *s++; break; case 'S': s = ParseParameter(s, system, SystemValuesSat); break; // we only need the numerical value, so Sat or Terr doesn't matter case 'T': s = ParseParameter(s, transmission, TransmissionValues); break; @@ -792,8 +808,8 @@ bool cDvbTuner::SetFrontend(void) tuneTimeout = DVBC_TUNE_TIMEOUT; lockTimeout = DVBC_LOCK_TIMEOUT; } - else if (frontendType == SYS_DVBT) { - // DVB-T + else if (frontendType == SYS_DVBT || frontendType == SYS_DVBT2) { + // DVB-T/DVB-T2 (common parts) SETCMD(DTV_FREQUENCY, FrequencyToHz(channel.Frequency())); SETCMD(DTV_INVERSION, dtp.Inversion()); SETCMD(DTV_BANDWIDTH_HZ, dtp.Bandwidth()); @@ -803,6 +819,10 @@ bool cDvbTuner::SetFrontend(void) SETCMD(DTV_TRANSMISSION_MODE, dtp.Transmission()); SETCMD(DTV_GUARD_INTERVAL, dtp.Guard()); SETCMD(DTV_HIERARCHY, dtp.Hierarchy()); + if (frontendType == SYS_DVBT2) { + // DVB-T2 + SETCMD(DTV_DVBT2_PLP_ID, dtp.PlpId()); + } tuneTimeout = DVBT_TUNE_TIMEOUT; lockTimeout = DVBT_LOCK_TIMEOUT; @@ -933,7 +953,7 @@ cOsdItem *cDvbSourceParam::GetOsdItem(void) #define ST(s) if (strchr(s, type)) switch (param++) { case 0: ST(" S ") return new cMenuEditChrItem( tr("Polarization"), &dtp.polarization, "HVLR"); else return GetOsdItem(); - case 1: ST(" S ") return new cMenuEditMapItem( tr("System"), &dtp.system, SystemValues); else return GetOsdItem(); + case 1: ST(" ST") return new cMenuEditMapItem( tr("System"), &dtp.system, SystemValues); else return GetOsdItem(); case 2: ST(" CS ") return new cMenuEditIntItem( tr("Srate"), &srate); else return GetOsdItem(); case 3: ST("ACST") return new cMenuEditMapItem( tr("Inversion"), &dtp.inversion, InversionValues); else return GetOsdItem(); case 4: ST(" CST") return new cMenuEditMapItem( tr("CoderateH"), &dtp.coderateH, CoderateValues); else return GetOsdItem(); @@ -944,6 +964,7 @@ cOsdItem *cDvbSourceParam::GetOsdItem(void) case 9: ST(" T") return new cMenuEditMapItem( tr("Guard"), &dtp.guard, GuardValues); else return GetOsdItem(); case 10: ST(" T") return new cMenuEditMapItem( tr("Hierarchy"), &dtp.hierarchy, HierarchyValues); else return GetOsdItem(); case 11: ST(" S ") return new cMenuEditMapItem( tr("Rolloff"), &dtp.rollOff, RollOffValues); else return GetOsdItem(); + case 12: ST(" T") return new cMenuEditIntItem( tr("PlpId"), &dtp.plpId, 0, 255); else return GetOsdItem(); default: return NULL; } return NULL; @@ -1138,7 +1159,10 @@ bool cDvbDevice::QueryDeliverySystems(int fd_frontend) if (frontendInfo.caps & FE_CAN_2G_MODULATION) deliverySystems[numDeliverySystems++] = SYS_DVBS2; break; - case FE_OFDM: deliverySystems[numDeliverySystems++] = SYS_DVBT; break; + case FE_OFDM: deliverySystems[numDeliverySystems++] = SYS_DVBT; + if (frontendInfo.caps & FE_CAN_2G_MODULATION) + deliverySystems[numDeliverySystems++] = SYS_DVBT2; + break; case FE_QAM: deliverySystems[numDeliverySystems++] = SYS_DVBC_ANNEX_AC; break; case FE_ATSC: deliverySystems[numDeliverySystems++] = SYS_ATSC; break; default: esyslog("ERROR: unknown frontend type %d on frontend %d/%d", frontendInfo.type, adapter, frontend); @@ -1363,7 +1387,7 @@ bool cDvbDevice::ProvidesSource(int Source) const || type == cSource::stAtsc && ProvidesDeliverySystem(SYS_ATSC) || type == cSource::stCable && (ProvidesDeliverySystem(SYS_DVBC_ANNEX_AC) || ProvidesDeliverySystem(SYS_DVBC_ANNEX_B)) || type == cSource::stSat && (ProvidesDeliverySystem(SYS_DVBS) || ProvidesDeliverySystem(SYS_DVBS2)) - || type == cSource::stTerr && ProvidesDeliverySystem(SYS_DVBT); + || type == cSource::stTerr && (ProvidesDeliverySystem(SYS_DVBT) || ProvidesDeliverySystem(SYS_DVBT2)); } bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const diff --git a/dvbdevice.h b/dvbdevice.h index eb1054d0..8e9b5c35 100644 --- a/dvbdevice.h +++ b/dvbdevice.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.h 2.19 2012/01/06 13:29:46 kls Exp $ + * $Id: dvbdevice.h 2.20 2012/01/11 12:08:49 kls Exp $ */ #ifndef __DVBDEVICE_H @@ -14,8 +14,8 @@ #include #include "device.h" -#if DVB_API_VERSION < 5 -#error VDR requires Linux DVB driver API version 5.0 or higher! +#if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 3) +#error VDR requires Linux DVB driver API version 5.3 or higher! #endif #define MAXDVBDEVICES 8 @@ -68,8 +68,9 @@ private: int guard; int hierarchy; int rollOff; + int plpId; int PrintParameter(char *p, char Name, int Value) const; - const char *ParseParameter(const char *s, int &Value, const tDvbParameterMap *Map); + const char *ParseParameter(const char *s, int &Value, const tDvbParameterMap *Map = NULL); public: cDvbTransponderParameters(const char *Parameters = NULL); char Polarization(void) const { return polarization; } @@ -83,6 +84,7 @@ public: int Guard(void) const { return guard; } int Hierarchy(void) const { return hierarchy; } int RollOff(void) const { return rollOff; } + int PlpId(void) const { return plpId; } void SetPolarization(char Polarization) { polarization = Polarization; } void SetInversion(int Inversion) { inversion = Inversion; } void SetBandwidth(int Bandwidth) { bandwidth = Bandwidth; } @@ -94,6 +96,7 @@ public: void SetGuard(int Guard) { guard = Guard; } void SetHierarchy(int Hierarchy) { hierarchy = Hierarchy; } void SetRollOff(int RollOff) { rollOff = RollOff; } + void SetPlpId(int PlpId) { plpId = PlpId; } cString ToString(char Type) const; bool Parse(const char *s); }; diff --git a/nit.c b/nit.c index e9e91fe4..b8c4d642 100644 --- a/nit.c +++ b/nit.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: nit.c 2.7 2012/01/06 12:45:39 kls Exp $ + * $Id: nit.c 2.8 2012/01/11 12:16:33 kls Exp $ */ #include "nit.h" @@ -245,10 +245,11 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length cDvbTransponderParameters dtp; int Source = cSource::FromData(cSource::stTerr); int Frequency = Frequencies[0] = sd->getFrequency() * 10; - static int Bandwidths[] = { 8000000, 7000000, 6000000, 0, 0, 0, 0, 0 }; + static int Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 0, 0, 0, 0 }; dtp.SetBandwidth(Bandwidths[sd->getBandwidth()]); static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO }; dtp.SetModulation(Constellations[sd->getConstellation()]); + dtp.SetSystem(DVB_SYSTEM_1); static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO }; dtp.SetHierarchy(Hierarchies[sd->getHierarchy()]); static int CodeRates[] = { FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_AUTO, FEC_AUTO, FEC_AUTO }; @@ -256,7 +257,7 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length dtp.SetCoderateL(CodeRates[sd->getCodeRateLP()]); static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 }; dtp.SetGuard(GuardIntervals[sd->getGuardInterval()]); - static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_AUTO, TRANSMISSION_MODE_AUTO }; + static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_4K, TRANSMISSION_MODE_AUTO }; dtp.SetTransmission(TransmissionModes[sd->getTransmissionMode()]); if (ThisNIT >= 0) { for (int n = 0; n < NumFrequencies; n++) { @@ -302,6 +303,36 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } } break; + case SI::ExtensionDescriptorTag: { + SI::ExtensionDescriptor *sd = (SI::ExtensionDescriptor *)d; + switch (sd->getExtensionDescriptorTag()) { + case SI::T2DeliverySystemDescriptorTag: { + for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { + int Source = cSource::FromData(cSource::stTerr); + if (!Channel->GroupSep() && Channel->Source() == Source && Channel->Nid() == ts.getOriginalNetworkId() && Channel->Tid() == ts.getTransportStreamId()) { + SI::T2DeliverySystemDescriptor *td = (SI::T2DeliverySystemDescriptor *)d; + int Frequency = Channel->Frequency(); + int SymbolRate = Channel->Srate(); + cDvbTransponderParameters dtp(Channel->Parameters()); + dtp.SetSystem(DVB_SYSTEM_1); + dtp.SetPlpId(td->getPlpId()); + if (td->getExtendedDataFlag()) { + static int T2Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000, 0, 0 }; + dtp.SetBandwidth(T2Bandwidths[td->getBandwidth()]); + static int T2GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4, GUARD_INTERVAL_1_128, GUARD_INTERVAL_19_128, GUARD_INTERVAL_19_256, 0 }; + dtp.SetGuard(T2GuardIntervals[td->getGuardInterval()]); + static int T2TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_4K, TRANSMISSION_MODE_1K, TRANSMISSION_MODE_16K, TRANSMISSION_MODE_32K, TRANSMISSION_MODE_AUTO, TRANSMISSION_MODE_AUTO }; + dtp.SetTransmission(T2TransmissionModes[td->getTransmissionMode()]); + } + Channel->SetTransponderData(Source, Frequency, SymbolRate, dtp.ToString('T')); + } + } + } + break; + default: ; + } + } + break; default: ; } delete d; diff --git a/po/ar.po b/po/ar.po index c936078d..7482b22c 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-10-16 11:16-0400\n" "Last-Translator: Osama Alrawab \n" "Language-Team: Arabic \n" @@ -79,6 +79,9 @@ msgstr "الهرمية" msgid "Rolloff" msgstr "ايقاف" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "EPG ا لبدء بالبحث على دليل القنوات الالكترونى " diff --git a/po/ca_ES.po b/po/ca_ES.po index d609cda7..86ff70f7 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n" "Last-Translator: Luca Olivetti \n" "Language-Team: Catalan \n" @@ -76,6 +76,9 @@ msgstr "Jerarquia" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Iniciant exploraci EPG" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index eef82571..a2cf9504 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-05-06 11:00+0200\n" "Last-Translator: Radek Šťastný \n" "Language-Team: Czech \n" @@ -75,6 +75,9 @@ msgstr "Hierarchický mód" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Začíná prohledávání EPG" diff --git a/po/da_DK.po b/po/da_DK.po index db6b3987..ca99eaa7 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Mogens Elneff \n" "Language-Team: Danish \n" @@ -73,6 +73,9 @@ msgstr "Hierarki" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Starter EPG skanning" diff --git a/po/de_DE.po b/po/de_DE.po index 4a475d7d..100c3ef5 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-01-16 16:46+0100\n" "Last-Translator: Klaus Schmidinger \n" "Language-Team: German \n" @@ -73,6 +73,9 @@ msgstr "Hierarchie" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "PlpId" + msgid "Starting EPG scan" msgstr "Aktualisiere EPG-Daten" diff --git a/po/el_GR.po b/po/el_GR.po index 64300f08..244189d0 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Dimitrios Dimitrakos \n" "Language-Team: Greek \n" @@ -73,6 +73,9 @@ msgstr " msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr " EPG" diff --git a/po/es_ES.po b/po/es_ES.po index 288ad699..968bf282 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n" "Last-Translator: Luca Olivetti \n" "Language-Team: Spanish \n" @@ -74,6 +74,9 @@ msgstr "Jerarqu msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Iniciando la exploracin de EPG" diff --git a/po/et_EE.po b/po/et_EE.po index c12f31fe..7e6a1c99 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Arthur Konovalov \n" "Language-Team: Estonian \n" @@ -73,6 +73,9 @@ msgstr "Hierarhia" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "EPG skaneerimine kivitatud" diff --git a/po/fi_FI.po b/po/fi_FI.po index 9c17d8d6..91128bfa 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2007-08-15 15:52+0200\n" "Last-Translator: Rolf Ahrenberg \n" "Language-Team: Finnish \n" @@ -76,6 +76,9 @@ msgstr "Hierarkia" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "PLP-tunniste" + msgid "Starting EPG scan" msgstr "Ohjelmaoppaan päivitys aloitettu" diff --git a/po/fr_FR.po b/po/fr_FR.po index 5f8b4113..c65bdba5 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-02-27 18:14+0100\n" "Last-Translator: Jean-Claude Repetto \n" "Language-Team: French \n" @@ -79,6 +79,9 @@ msgstr "Hi msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Mise jour du guide des programmes" diff --git a/po/hr_HR.po b/po/hr_HR.po index 681cb791..50720334 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-03-17 19:00+0100\n" "Last-Translator: Adrian Caval \n" "Language-Team: Croatian \n" @@ -75,6 +75,9 @@ msgstr "Hijerarhija" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Poinjem EPG pretragu" diff --git a/po/hu_HU.po b/po/hu_HU.po index 862ce8a3..fb39ac02 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-11-19 16:01+0200\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2012-01-02 11:54+0200\n" "Last-Translator: Istvn Fley \n" "Language-Team: Hungarian \n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" msgid "*** Invalid Channel ***" msgstr "*** rvnytelen csatorna ***" @@ -76,6 +76,9 @@ msgstr "Hierarhia" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "EPG adatok aktualizlsa" @@ -965,6 +968,14 @@ msgstr "Als msgid "Setup.LNB$High LNB frequency (MHz)" msgstr "Fels LNB-frekvencia (MHz)" +#, c-format +msgid "Setup.LNB$Device %d connected to sat cable" +msgstr "" + +#, fuzzy +msgid "Setup.LNB$own" +msgstr "DiSEqC hasznlata" + msgid "CAM reset" msgstr "CAM jraindts" diff --git a/po/it_IT.po b/po/it_IT.po index 6015881f..95318b32 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-06-13 00:30+0100\n" "Last-Translator: Diego Pierotto \n" "Language-Team: Italian \n" @@ -80,6 +80,9 @@ msgstr "Gerarchia" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Inizio scansione EPG" diff --git a/po/lt_LT.po b/po/lt_LT.po index 53d24226..2bf2cde5 100644 --- a/po/lt_LT.po +++ b/po/lt_LT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.16\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-10-30 11:55+0200\n" "Last-Translator: Valdemaras Pipiras \n" "Language-Team: Lithuanian \n" @@ -73,6 +73,9 @@ msgstr "Hierarchija" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Pradedamas EPG skanavimas" diff --git a/po/mk_MK.po b/po/mk_MK.po index 5fa36345..2683dc85 100644 --- a/po/mk_MK.po +++ b/po/mk_MK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR-1.7.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-03-11 00:54+0100\n" "Last-Translator: Dimitar Petrovski \n" "Language-Team: Macedonian \n" @@ -74,6 +74,9 @@ msgstr "Хиерархија" msgid "Rolloff" msgstr "Рол-оф" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Започнувам скенирање на EPG" diff --git a/po/nl_NL.po b/po/nl_NL.po index 65aaba71..a88ecfd1 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-02-26 17:20+0100\n" "Last-Translator: Johan Schuring \n" "Language-Team: Dutch \n" @@ -77,6 +77,9 @@ msgstr "Hierarchie" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Bezig met starten EPG scan" diff --git a/po/nn_NO.po b/po/nn_NO.po index a8ea942d..e7348adb 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Truls Slevigen \n" "Language-Team: Norwegian Nynorsk \n" @@ -74,6 +74,9 @@ msgstr "Hierarchy" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "" diff --git a/po/pl_PL.po b/po/pl_PL.po index 94ba6921..1fad557a 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-03-09 12:59+0100\n" "Last-Translator: Michael Rakowski \n" "Language-Team: Polish \n" @@ -74,6 +74,9 @@ msgstr "Hierarchia" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Rozpoczynam skanowanie EPG" diff --git a/po/pt_PT.po b/po/pt_PT.po index 272ab75b..7a49ac2c 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-03-28 22:49+0100\n" "Last-Translator: Cris Silva \n" "Language-Team: Portuguese \n" @@ -74,6 +74,9 @@ msgstr "Hierarquia" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "A iniciar a busca do EPG" diff --git a/po/ro_RO.po b/po/ro_RO.po index 414ade19..59ee967b 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2011-03-10 23:52+0100\n" "Last-Translator: Lucian Muresan \n" "Language-Team: Romanian \n" @@ -76,6 +76,9 @@ msgstr "Ierarhie" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Pornesc achiziia EPG" diff --git a/po/ru_RU.po b/po/ru_RU.po index a4eaca5b..ac024d95 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-12-15 14:37+0100\n" "Last-Translator: Oleg Roitburd \n" "Language-Team: Russian \n" @@ -74,6 +74,9 @@ msgstr " msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr " EPG-" diff --git a/po/sk_SK.po b/po/sk_SK.po index 176673f2..af14119b 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.16\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2011-02-15 16:29+0100\n" "Last-Translator: Milan Hrala \n" "Language-Team: Slovak \n" @@ -73,6 +73,9 @@ msgstr "Hierarchia" msgid "Rolloff" msgstr "Rolloff" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Zana prehadva EPG" diff --git a/po/sl_SI.po b/po/sl_SI.po index 696e953e..2adf6298 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-02-28 19:44+0100\n" "Last-Translator: Matjaz Thaler \n" "Language-Team: Slovenian \n" @@ -74,6 +74,9 @@ msgstr "Hierarhija" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Prienjam EPG-scan" diff --git a/po/sr_SR.po b/po/sr_SR.po index 62c07d38..bb610467 100644 --- a/po/sr_SR.po +++ b/po/sr_SR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2011-01-09 15:57+0100\n" "Last-Translator: Milan Cvijanovi \n" "Language-Team: Serbian \n" @@ -74,6 +74,9 @@ msgstr "Hijerarhija" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Poinjem EPG pretragu" diff --git a/po/sv_SE.po b/po/sv_SE.po index ae6d72ff..b90dd200 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-03-12 18:25+0100\n" "Last-Translator: Magnus Andersson \n" "Language-Team: Swedish \n" @@ -76,6 +76,9 @@ msgstr "Hierarchy" msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Pbrjar EPG skanning" diff --git a/po/tr_TR.po b/po/tr_TR.po index 946ab421..90d229c4 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2008-02-28 00:33+0100\n" "Last-Translator: Oktay Yolgeen \n" "Language-Team: Turkish \n" @@ -73,6 +73,9 @@ msgstr "Hiyerar msgid "Rolloff" msgstr "" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "EPG tarama balyor" diff --git a/po/uk_UA.po b/po/uk_UA.po index c383af8c..444bc71d 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2010-04-25 16:35+0200\n" "Last-Translator: Yarema aka Knedlyk \n" "Language-Team: Ukrainian \n" @@ -73,6 +73,9 @@ msgstr "Ієрархія" msgid "Rolloff" msgstr "Крен" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "Починаю EPG-сканування" diff --git a/po/zh_CN.po b/po/zh_CN.po index 43a5ea56..67825e88 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-12-03 16:25+0100\n" +"POT-Creation-Date: 2012-01-11 13:47+0100\n" "PO-Revision-Date: 2009-09-23 23:50+0800\n" "Last-Translator: Nan Feng \n" "Language-Team: Chinese (simplified) \n" @@ -76,6 +76,9 @@ msgstr "层次" msgid "Rolloff" msgstr "越零率" +msgid "PlpId" +msgstr "" + msgid "Starting EPG scan" msgstr "开始节目单扫描" diff --git a/vdr.5 b/vdr.5 index 7f069679..198c9531 100644 --- a/vdr.5 +++ b/vdr.5 @@ -8,7 +8,7 @@ .\" License as specified in the file COPYING that comes with the .\" vdr distribution. .\" -.\" $Id: vdr.5 2.26 2011/09/25 13:51:34 kls Exp $ +.\" $Id: vdr.5 2.27 2012/01/11 13:16:57 kls Exp $ .\" .TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files" .SH NAME @@ -87,32 +87,33 @@ meaning (and allowed values) are .TS tab (@); l l. -\fBB\fR@Bandwidth (6, 7, 8) +\fBB\fR@Bandwidth (1712, 5, 6, 7, 8, 10) \fBC\fR@Code rate high priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, 910) \fBD\fR@coDe rate low priority (0, 12, 23, 34, 35, 45, 56, 67, 78, 89, 910) -\fBG\fR@Guard interval (4, 8, 16, 32) +\fBG\fR@Guard interval (4, 8, 16, 32, 128, 19128, 19256) \fBH\fR@Horizontal polarization \fBI\fR@Inversion (0, 1) \fBL\fR@Left circular polarization \fBM\fR@Modulation (2, 5, 6, 10, 11, 16, 32, 64, 128, 256, 998) \fBO\fR@rollOff (0, 20, 25, 35) +\fBP\fR@Plp id (0-255) \fBR\fR@Right circular polarization \fBS\fR@delivery System (0, 1) -\fBT\fR@Transmission mode (2, 8) +\fBT\fR@Transmission mode (1, 2, 4, 8, 16, 32) \fBV\fR@Vertical polarization \fBY\fR@hierarchY (0, 1, 2, 4) .TE -\fBBandwidth:\fR The bandwidth of the channel in MHz (DVB-T only). +\fBBandwidth:\fR The bandwidth of the channel in MHz (1712 in kHz): (DVB-T/DVB-T2 only). -\fBCode rate high priority:\fR Forward Error Correction (FEC) of the high priority stream (DVB-T). +\fBCode rate high priority:\fR Forward Error Correction (FEC) of the high priority stream (DVB-T/DVB-T2). For DVB-S/DVB-S2 this parameter specifies the inner FEC scheme. 12 = 1/2, 23 = 2/3, 34 = 3/4, ... -\fBCode rate low priority:\fR Forward Error Correction (FEC) of the low priority stream (DVB-T only). +\fBCode rate low priority:\fR Forward Error Correction (FEC) of the low priority stream (DVB-T/DVB-T2 only). If no hierarchy is used, set to 0. -\fBGuard interval:\fR The guard interval value (DVB-T only): 4 = 1/4, 8 = 1/8, 16 = 1/16, 32 = 1/32. +\fBGuard interval:\fR The guard interval value (DVB-T only): 4 = 1/4, 8 = 1/8, 16 = 1/16, 32 = 1/32, 128 = 1/128, 19128 = 19/128, 19256 = 19/256. \fBInversion:\fR Specifies whether the DVB frontend needs spectral inversion (DVB-T and DVB-C only). This is frontend specific, if in doubt, omit. @@ -120,26 +121,30 @@ If no hierarchy is used, set to 0. .TS tab (@); l l. -\fB2\fR@QPSK (DVB-S, DVB-S2, DVB-T) +\fB2\fR@QPSK (DVB-S, DVB-S2, DVB-T, DVB-T2, ISDB-T) \fB5\fR@8PSK (DVB-S2) \fB6\fR@16APSK (DVB-S2) +\fB7\fR@32APSK (DVB-S2) \fB10\fR@VSB8 (ATSC aerial) \fB11\fR@VSB16 (ATSC aerial) -\fB16\fR@QAM16 (DVB-T) -\fB64\fR@QAM64 (DVB-C, DVB-T) +\fB12\fR@DQPSK (ISDB-T) +\fB16\fR@QAM16 (DVB-T, DVB-T2, ISDB-T) +\fB64\fR@QAM64 (DVB-C, DVB-T, DVB-T2, ISDB-T) \fB128\fR@QAM128 (DVB-C) -\fB256\fR@QAM256 (DVB-C) +\fB256\fR@QAM256 (DVB-C, DVB-T2) .TE \fBRolloff:\fR The Nyquist filter rolloff factor for DVB-S (\fB35\fR) and DVB-S2 (\fB35\fR, 25, 20), 35 = 0.35, 25 = 0.25, 20 = 0.20, DVB-S/DVB-S2 default value is 0.35 -\fBTransmission mode:\fR Number of DVB-T OFDM carriers, 8 = 8k, 2 = 2k. If in doubt, try 8k. +\fBPLP id:\fR Physical Layer Pipe (PLP) id (\fB0\fR-255) for DVB-T2 multiplex (DVB-T2 only). + +\fBTransmission mode:\fR Number of DVB-T OFDM carriers, 32 = 32k, 16 = 16k, 8 = 8k, 4 = 4k, 2 = 2k, 1 = 1k. If in doubt, try 8k. \fBHierarchy:\fR If set to 1, this transponder uses two streams, high priority and low priority. -If in doubt, try 0 (off). (DVB-T only). +If in doubt, try 0 (off). (DVB-T/DVB-T2 only). -\fBDelivery System:\fR The satellite delivery system (0 = DVB-S, 1 = DVB-S2). +\fBDelivery System:\fR The delivery system (0 = "first generation" (DVB-S/DVB-T), 1 = "second generation" (DVB-S2/DVB-T2). \fBPolarization:\fR Satellite antenna polarization. H = horizontal, V = vertical, R = circular right, L = circular left. @@ -152,16 +157,19 @@ The special value \fB999\fR is used for "automatic", which means the driver will automatically determine the proper value (if possible). An example of a parameter field for a DVB-T channel might look like this: -\fBB8C23D12G8M16T8Y0\fR +\fBB8C23D12G8M16T8Y0S0\fR + +An example of a parameter field for a DVB-T2 channel might look like this: +\fBB8C23D12G8M16T8Y0P0S1\fR An example of a parameter field for a DVB-C channel might look like this: \fBC0M64\fR An example of a parameter field for a DVB-S channel might look like this: -\fBhC56M2O35S0\fR +\fBHC56M2O35S0\fR An example of a parameter field for a DVB-S2 channel might look like this: -\fBhC910M2O35S1\fR +\fBHC910M2O35S1\fR Plugins that implement devices that need their own set of parameters may store those in the parameters string in arbitrary format (not necessarily