summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY1
-rw-r--r--dvbdevice.c56
-rw-r--r--dvbdevice.h11
-rw-r--r--nit.c37
-rw-r--r--po/ar.po5
-rw-r--r--po/ca_ES.po5
-rw-r--r--po/cs_CZ.po5
-rw-r--r--po/da_DK.po5
-rw-r--r--po/de_DE.po5
-rw-r--r--po/el_GR.po5
-rw-r--r--po/es_ES.po5
-rw-r--r--po/et_EE.po5
-rw-r--r--po/fi_FI.po5
-rw-r--r--po/fr_FR.po5
-rw-r--r--po/hr_HR.po5
-rw-r--r--po/hu_HU.po15
-rw-r--r--po/it_IT.po5
-rw-r--r--po/lt_LT.po5
-rw-r--r--po/mk_MK.po5
-rw-r--r--po/nl_NL.po5
-rw-r--r--po/nn_NO.po5
-rw-r--r--po/pl_PL.po5
-rw-r--r--po/pt_PT.po5
-rw-r--r--po/ro_RO.po5
-rw-r--r--po/ru_RU.po5
-rw-r--r--po/sk_SK.po5
-rw-r--r--po/sl_SI.po5
-rw-r--r--po/sr_SR.po5
-rw-r--r--po/sv_SE.po5
-rw-r--r--po/tr_TR.po5
-rw-r--r--po/uk_UA.po5
-rw-r--r--po/zh_CN.po5
-rw-r--r--vdr.544
34 files changed, 230 insertions, 70 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index c2b28b64..e22f321d 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1122,6 +1122,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
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 <ralf.klueber@vodafone.com>
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 <linux/dvb/version.h>
#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: <vdr-bugs@tvdr.de>\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 <alrawab@hotmail.com>\n"
"Language-Team: Arabic <ar@li.org>\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: <vdr-bugs@tvdr.de>\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 <luca@ventoso.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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ý <dedkus@gmail.com>\n"
"Language-Team: Czech <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <luca@ventoso.org>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n"
@@ -74,6 +74,9 @@ msgstr "Jerarqua"
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: <vdr-bugs@tvdr.de>\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 <artlov@gmail.com>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <jc@repetto.org>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
@@ -79,6 +79,9 @@ msgstr "Hirarchie"
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: <vdr-bugs@tvdr.de>\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 <anrxc@sysphere.org>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\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 LNB-frekvencia (MHz)"
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: <vdr-bugs@tvdr.de>\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 <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <dimeptr@gmail.com>\n"
"Language-Team: Macedonian <en@li.org>\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: <vdr-bugs@tvdr.de>\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 <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <mrak@gmx.de>\n"
"Language-Team: Polish <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <hudokkow@gmail.com>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <oleg@roitburd.de>\n"
"Language-Team: Russian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <elcom_cvijo@hotmail.com>\n"
"Language-Team: Serbian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <svankan@bahnhof.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n"
@@ -73,6 +73,9 @@ msgstr "Hiyerari"
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: <vdr-bugs@tvdr.de>\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 <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian <vdr@linuxtv.org>\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: <vdr-bugs@tvdr.de>\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 <nfgx@21cn.com>\n"
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\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