summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS11
-rw-r--r--HISTORY17
-rw-r--r--PLUGINS/src/sky/HISTORY8
-rw-r--r--PLUGINS/src/sky/sky.c8
-rw-r--r--channels.c171
-rw-r--r--channels.h10
-rw-r--r--config.h6
-rw-r--r--device.c16
-rw-r--r--device.h5
-rw-r--r--dvbdevice.c191
-rw-r--r--dvbdevice.h9
-rw-r--r--menu.c4
-rw-r--r--menuitems.c6
-rw-r--r--nit.c37
-rw-r--r--po/ca_ES.po23
-rw-r--r--po/cs_CZ.po23
-rw-r--r--po/da_DK.po23
-rw-r--r--po/de_DE.po23
-rw-r--r--po/el_GR.po23
-rw-r--r--po/es_ES.po23
-rw-r--r--po/et_EE.po23
-rw-r--r--po/fi_FI.po23
-rw-r--r--po/fr_FR.po23
-rw-r--r--po/hr_HR.po23
-rw-r--r--po/hu_HU.po23
-rw-r--r--po/it_IT.po23
-rw-r--r--po/nl_NL.po23
-rw-r--r--po/nn_NO.po21
-rw-r--r--po/pl_PL.po23
-rw-r--r--po/pt_PT.po23
-rw-r--r--po/ro_RO.po23
-rw-r--r--po/ru_RU.po23
-rw-r--r--po/sl_SI.po23
-rw-r--r--po/sv_SE.po23
-rw-r--r--po/tr_TR.po23
-rw-r--r--po/uk_UA.po23
-rw-r--r--po/zh_CN.po23
-rw-r--r--remux.c37
-rw-r--r--remux.h8
-rw-r--r--vdr.516
40 files changed, 473 insertions, 614 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index acab6b2..ea21273 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -656,6 +656,8 @@ Oliver Endriss <o.endriss@gmx.de>
for making VDR no longer stop removing empty directories if an error occurs
for reporting a bug in handling relative volume settings that unmute the audio in
the call to cStatus::MsgSetVolume()
+ for providing a driver patch that allows replaying TS->PES converted video in
+ Transfer Mode
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'
@@ -2375,3 +2377,12 @@ Michael Nork <mnork0@gmx.net>
Winfried Khler <w_koehl@gmx.de>
for fixing wrong value for TableIdBAT in libsi/si.h
+
+Igor M. Liplianin <liplianin@tut.by>
+ for a patch that was used to convert VDR to the S2API driver API
+
+Niels Wagenaar <n.wagenaar@xs4all.nl>
+ for a patch that was used to convert VDR to the S2API driver API
+
+Edgar Hucek <gimli@dark-green.com>
+ for a patch that was used to convert VDR to the S2API driver API
diff --git a/HISTORY b/HISTORY
index 0994e1b..239e00b 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5831,3 +5831,20 @@ Video Disk Recorder Revision History
- Fixed wrong value for TableIdBAT in libsi/si.h (thanks to Winfried Khler).
- Removed unneeded include files <linux/dvb/dmx.h> und <time.h> from remux.h
(reported by Tobias Grimm).
+
+2008-12-14: Version 1.7.2
+
+- Added a note about 'Id' being obsolete to the description of cDevice::PlayAudio().
+- Switched to the new S2API driver API, which was decided to become the official
+ DVB API in the kernel (based on patches from Igor M. Liplianin, Niels Wagenaar
+ and Edgar Hucek). VDR now uses the S2API driver from http://linuxtv.org/hg/v4l-dvb.
+ In order to correctly detect DVB-S2 capable devices, you need to apply the patch
+ from ftp://ftp.cadsoft.de/vdr/Developer/v4l-dvb-s2api-add-s2-capability.diff to
+ the driver source, because the S2API doesn't provide a way of telling whether a
+ device can handle DVB-S2 transponders.
+- The cDvbTuner::IsTunedTo() function now also checks the symbol rate in case of
+ DVB-S and DVB-C.
+- Improved handling PES video packets with zero length when converting from TS to PES.
+ For good replay in Transfer Mode on full featured DVB cards you may want to apply
+ the patch from ftp://ftp.cadsoft.de/vdr/Developer/av7110_v4ldvb_api5_audiobuf_test_1.diff
+ to the driver (thanks to Oliver Endriss).
diff --git a/PLUGINS/src/sky/HISTORY b/PLUGINS/src/sky/HISTORY
index b39b65d..25b8fc8 100644
--- a/PLUGINS/src/sky/HISTORY
+++ b/PLUGINS/src/sky/HISTORY
@@ -55,12 +55,16 @@ VDR Plugin 'sky' Revision History
as a query string.
- The getskyepg.pl script now replaces "&amp;" with "&".
-2007-08-15:Version 0.3.6
+2007-08-15: Version 0.3.6
- Moved the "all" target in the Makefile before the "Implicit rules",
so that a plain "make" will compile everything.
-2008-03-22:Version 0.3.7
+2008-03-22: Version 0.3.7
- Removed the full path from the 'logger' call in the getskyepg.pl script (this
program is apparently "on the move" through the file system...).
+
+2008-09-07: Version 0.3.8
+
+- Fixed renamed constants (thanks to Udo Richter).
diff --git a/PLUGINS/src/sky/sky.c b/PLUGINS/src/sky/sky.c
index cb9b9c5..75bd9ec 100644
--- a/PLUGINS/src/sky/sky.c
+++ b/PLUGINS/src/sky/sky.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: sky.c 2.0 2008/03/22 10:19:32 kls Exp $
+ * $Id: sky.c 2.1 2008/09/07 11:54:07 kls Exp $
*/
#include <sys/socket.h>
@@ -15,7 +15,7 @@
#include <vdr/plugin.h>
#include <vdr/sources.h>
-static const char *VERSION = "0.3.7";
+static const char *VERSION = "0.3.8";
static const char *DESCRIPTION = "Sky Digibox interface";
// --- cDigiboxDevice --------------------------------------------------------
@@ -160,12 +160,12 @@ bool cDigiboxDevice::GetTSPacket(uchar *&Data)
Data = tsBuffer->Get();
if (Data) {
// insert the actual PIDs:
- int Pid = (((uint16_t)Data[1] & PID_MASK_HI) << 8) | Data[2];
+ int Pid = (((uint16_t)Data[1] & TS_PID_MASK_HI) << 8) | Data[2];
if (Pid == DUMMYAPID)
Pid = apid;
else if (Pid == DUMMYVPID)
Pid = vpid;
- Data[1] = ((Pid >> 8) & 0xFF) | (Data[1] & ~PID_MASK_HI);
+ Data[1] = ((Pid >> 8) & 0xFF) | (Data[1] & ~TS_PID_MASK_HI);
Data[2] = Pid & 0xFF;
}
return true;
diff --git a/channels.c b/channels.c
index 134c19e..b4fea76 100644
--- a/channels.c
+++ b/channels.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: channels.c 2.3 2008/07/06 12:59:41 kls Exp $
+ * $Id: channels.c 2.4 2008/12/13 11:42:15 kls Exp $
*/
#include "channels.h"
@@ -21,114 +21,86 @@
// --- Channel Parameter Maps ------------------------------------------------
const tChannelParameterMap InversionValues[] = {
- { 0, DVBFE_INVERSION_OFF, trNOOP("off") },
- { 1, DVBFE_INVERSION_ON, trNOOP("on") },
- { 999, DVBFE_INVERSION_AUTO },
+ { 0, INVERSION_OFF, trNOOP("off") },
+ { 1, INVERSION_ON, trNOOP("on") },
+ { 999, INVERSION_AUTO, trNOOP("auto") },
{ -1 }
};
const tChannelParameterMap BandwidthValues[] = {
- { 5, DVBFE_BANDWIDTH_5_MHZ, "5 MHz" },
- { 6, DVBFE_BANDWIDTH_6_MHZ, "6 MHz" },
- { 7, DVBFE_BANDWIDTH_7_MHZ, "7 MHz" },
- { 8, DVBFE_BANDWIDTH_8_MHZ, "8 MHz" },
- { 999, DVBFE_BANDWIDTH_AUTO },
+ { 6, 6000000, "6 MHz" },
+ { 7, 7000000, "7 MHz" },
+ { 8, 8000000, "8 MHz" },
{ -1 }
};
const tChannelParameterMap CoderateValues[] = {
- { 0, DVBFE_FEC_NONE, trNOOP("none") },
- { 12, DVBFE_FEC_1_2, "1/2" },
- { 13, DVBFE_FEC_1_3, "1/3" },
- { 14, DVBFE_FEC_1_4, "1/4" },
- { 23, DVBFE_FEC_2_3, "2/3" },
- { 25, DVBFE_FEC_2_5, "2/5" },
- { 34, DVBFE_FEC_3_4, "3/4" },
- { 35, DVBFE_FEC_3_5, "3/5" },
- { 45, DVBFE_FEC_4_5, "4/5" },
- { 56, DVBFE_FEC_5_6, "5/6" },
- { 67, DVBFE_FEC_6_7, "6/7" },
- { 78, DVBFE_FEC_7_8, "7/8" },
- { 89, DVBFE_FEC_8_9, "8/9" },
- { 910, DVBFE_FEC_9_10, "9/10" },
- { 999, DVBFE_FEC_AUTO },
+ { 0, FEC_NONE, trNOOP("none") },
+ { 12, FEC_1_2, "1/2" },
+ { 23, FEC_2_3, "2/3" },
+ { 34, FEC_3_4, "3/4" },
+ { 35, FEC_3_5, "3/5" },
+ { 45, FEC_4_5, "4/5" },
+ { 56, FEC_5_6, "5/6" },
+ { 67, FEC_6_7, "6/7" },
+ { 78, FEC_7_8, "7/8" },
+ { 89, FEC_8_9, "8/9" },
+ { 910, FEC_9_10, "9/10" },
+ { 999, FEC_AUTO, trNOOP("auto") },
{ -1 }
};
const tChannelParameterMap ModulationValues[] = {
- { 0, DVBFE_MOD_NONE, trNOOP("none") },
- { 4, DVBFE_MOD_QAM4, "QAM4" },
- { 16, DVBFE_MOD_QAM16, "QAM16" },
- { 32, DVBFE_MOD_QAM32, "QAM32" },
- { 64, DVBFE_MOD_QAM64, "QAM64" },
- { 128, DVBFE_MOD_QAM128, "QAM128" },
- { 256, DVBFE_MOD_QAM256, "QAM256" },
- { 512, DVBFE_MOD_QAM512, "QAM512" },
- {1024, DVBFE_MOD_QAM1024, "QAM1024" },
- { 1, DVBFE_MOD_BPSK, "BPSK" },
- { 2, DVBFE_MOD_QPSK, "QPSK" },
- { 3, DVBFE_MOD_OQPSK, "OQPSK" },
- { 5, DVBFE_MOD_8PSK, "8PSK" },
- { 6, DVBFE_MOD_16APSK, "16APSK" },
- { 7, DVBFE_MOD_32APSK, "32APSK" },
- { 8, DVBFE_MOD_OFDM, "OFDM" },
- { 9, DVBFE_MOD_COFDM, "COFDM" },
- { 10, DVBFE_MOD_VSB8, "VSB8" },
- { 11, DVBFE_MOD_VSB16, "VSB16" },
- { 998, DVBFE_MOD_QAMAUTO, "QAMAUTO" },
- { 999, DVBFE_MOD_AUTO },
+ { 16, QAM_16, "QAM16" },
+ { 32, QAM_32, "QAM32" },
+ { 64, QAM_64, "QAM64" },
+ { 128, QAM_128, "QAM128" },
+ { 256, QAM_256, "QAM256" },
+ { 2, QPSK, "QPSK" },
+ { 5, PSK_8, "8PSK" },
+ { 6, APSK_16, "16APSK" },
+ { 10, VSB_8, "VSB8" },
+ { 11, VSB_16, "VSB16" },
+ { 998, QAM_AUTO, "QAMAUTO" },
{ -1 }
};
const tChannelParameterMap SystemValues[] = {
- { 0, DVBFE_DELSYS_DVBS, "DVB-S" },
- { 1, DVBFE_DELSYS_DVBS2, "DVB-S2" },
+ { 0, SYS_DVBS, "DVB-S" },
+ { 1, SYS_DVBS2, "DVB-S2" },
{ -1 }
};
const tChannelParameterMap TransmissionValues[] = {
- { 2, DVBFE_TRANSMISSION_MODE_2K, "2K" },
- { 4, DVBFE_TRANSMISSION_MODE_4K, "4K" },
- { 8, DVBFE_TRANSMISSION_MODE_8K, "8K" },
- { 999, DVBFE_TRANSMISSION_MODE_AUTO },
+ { 2, TRANSMISSION_MODE_2K, "2K" },
+ { 8, TRANSMISSION_MODE_8K, "8K" },
+ { 999, TRANSMISSION_MODE_AUTO, trNOOP("auto") },
{ -1 }
};
const tChannelParameterMap GuardValues[] = {
- { 4, DVBFE_GUARD_INTERVAL_1_4, "1/4" },
- { 8, DVBFE_GUARD_INTERVAL_1_8, "1/8" },
- { 16, DVBFE_GUARD_INTERVAL_1_16, "1/16" },
- { 32, DVBFE_GUARD_INTERVAL_1_32, "1/32" },
- { 999, DVBFE_GUARD_INTERVAL_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" },
+ { 999, GUARD_INTERVAL_AUTO, trNOOP("auto") },
{ -1 }
};
const tChannelParameterMap HierarchyValues[] = {
- { 0, DVBFE_HIERARCHY_OFF, trNOOP("off") },
- { 1, DVBFE_HIERARCHY_ON, trNOOP("on") },
- { 999, DVBFE_HIERARCHY_AUTO },
- { -1 }
- };
-
-const tChannelParameterMap AlphaValues[] = {
- { 0, 0 },
- { 1, DVBFE_ALPHA_1 },
- { 2, DVBFE_ALPHA_2 },
- { 4, DVBFE_ALPHA_4 },
- { -1 }
- };
-
-const tChannelParameterMap PriorityValues[] = {
- { 0, DVBFE_STREAM_PRIORITY_HP, trNOOP("high") },
- { 1, DVBFE_STREAM_PRIORITY_LP, trNOOP("low") },
+ { 0, HIERARCHY_NONE, trNOOP("none") },
+ { 1, HIERARCHY_1, "1" },
+ { 2, HIERARCHY_2, "2" },
+ { 4, HIERARCHY_4, "4" },
+ { 999, HIERARCHY_AUTO, trNOOP("auto") },
{ -1 }
};
const tChannelParameterMap RollOffValues[] = {
- { 0, DVBFE_ROLLOFF_UNKNOWN },
- { 20, DVBFE_ROLLOFF_20, "0.20" },
- { 25, DVBFE_ROLLOFF_25, "0.25" },
- { 35, DVBFE_ROLLOFF_35, "0.35" },
+ { 0, ROLLOFF_AUTO, trNOOP("auto") },
+ { 20, ROLLOFF_20, "0.20" },
+ { 25, ROLLOFF_25, "0.25" },
+ { 35, ROLLOFF_35, "0.35" },
{ -1 }
};
@@ -217,18 +189,16 @@ cChannel::cChannel(void)
provider = strdup("");
portalName = strdup("");
memset(&__BeginData__, 0, (char *)&__EndData__ - (char *)&__BeginData__);
- inversion = DVBFE_INVERSION_AUTO;
- bandwidth = DVBFE_BANDWIDTH_AUTO;
- coderateH = DVBFE_FEC_AUTO;
- coderateL = DVBFE_FEC_AUTO;
- modulation = DVBFE_MOD_AUTO;
- system = DVBFE_DELSYS_DVBS;
- transmission = DVBFE_TRANSMISSION_MODE_AUTO;
- guard = DVBFE_GUARD_INTERVAL_AUTO;
- hierarchy = DVBFE_HIERARCHY_AUTO;
- alpha = 0;
- priority = DVBFE_STREAM_PRIORITY_HP;
- rollOff = DVBFE_ROLLOFF_UNKNOWN;
+ inversion = INVERSION_AUTO;
+ bandwidth = 8000000;
+ coderateH = FEC_AUTO;
+ coderateL = FEC_AUTO;
+ modulation = QPSK;
+ system = SYS_DVBS;
+ transmission = TRANSMISSION_MODE_AUTO;
+ guard = GUARD_INTERVAL_AUTO;
+ hierarchy = HIERARCHY_AUTO;
+ rollOff = ROLLOFF_AUTO;
modification = CHANNELMOD_NONE;
schedule = NULL;
linkChannels = NULL;
@@ -335,8 +305,6 @@ void cChannel::CopyTransponderData(const cChannel *Channel)
transmission = Channel->transmission;
guard = Channel->guard;
hierarchy = Channel->hierarchy;
- alpha = Channel->alpha;
- priority = Channel->priority;
rollOff = Channel->rollOff;
}
}
@@ -394,9 +362,9 @@ bool cChannel::SetCableTransponderData(int Source, int Frequency, int Modulation
return true;
}
-bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CoderateH, int CoderateL, int Guard, int Transmission, int Alpha, int Priority)
+bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CoderateH, int CoderateL, int Guard, int Transmission)
{
- if (source != Source || frequency != Frequency || bandwidth != Bandwidth || modulation != Modulation || hierarchy != Hierarchy || coderateH != CoderateH || coderateL != CoderateL || guard != Guard || transmission != Transmission || alpha != Alpha || priority != Priority) {
+ if (source != Source || frequency != Frequency || bandwidth != Bandwidth || modulation != Modulation || hierarchy != Hierarchy || coderateH != CoderateH || coderateL != CoderateL || guard != Guard || transmission != Transmission) {
cString OldTransponderData = TransponderDataToString();
source = Source;
frequency = Frequency;
@@ -407,8 +375,6 @@ bool cChannel::SetTerrTransponderData(int Source, int Frequency, int Bandwidth,
coderateL = CoderateL;
guard = Guard;
transmission = Transmission;
- alpha = Alpha;
- priority = Priority;
schedule = NULL;
if (Number()) {
dsyslog("changing transponder data of channel %d from %s to %s", Number(), *OldTransponderData, *TransponderDataToString());
@@ -670,7 +636,6 @@ cString cChannel::ParametersToString(void) const
char *q = buffer;
*q = 0;
ST(" S ") q += sprintf(q, "%c", polarization);
- ST(" T") q += PrintParameter(q, 'A', MapToUser(alpha, AlphaValues));
ST(" T") q += PrintParameter(q, 'B', MapToUser(bandwidth, BandwidthValues));
ST("CST") q += PrintParameter(q, 'C', MapToUser(coderateH, CoderateValues));
ST(" T") q += PrintParameter(q, 'D', MapToUser(coderateL, CoderateValues));
@@ -678,7 +643,6 @@ cString cChannel::ParametersToString(void) const
ST("CST") q += PrintParameter(q, 'I', MapToUser(inversion, InversionValues));
ST("CST") q += PrintParameter(q, 'M', MapToUser(modulation, ModulationValues));
ST(" S ") q += PrintParameter(q, 'O', MapToUser(rollOff, RollOffValues));
- ST(" T") q += PrintParameter(q, 'P', MapToUser(priority, PriorityValues));
ST(" S ") q += PrintParameter(q, 'S', MapToUser(system, SystemValues));
ST(" T") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues));
ST(" T") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues));
@@ -701,11 +665,18 @@ static const char *ParseParameter(const char *s, int &Value, const tChannelParam
return NULL;
}
+static const char *SkipDigits(const char *s)
+{
+ while (*++s && isdigit(*s))
+ ;
+ return s;
+}
+
bool cChannel::StringToParameters(const char *s)
{
while (s && *s) {
switch (toupper(*s)) {
- case 'A': s = ParseParameter(s, alpha, AlphaValues); break;
+ case 'A': s = SkipDigits(s); break; // for compatibility with the "multiproto" approach - may be removed in future versions
case 'B': s = ParseParameter(s, bandwidth, BandwidthValues); break;
case 'C': s = ParseParameter(s, coderateH, CoderateValues); break;
case 'D': s = ParseParameter(s, coderateL, CoderateValues); break;
@@ -714,14 +685,14 @@ bool cChannel::StringToParameters(const char *s)
case 'I': s = ParseParameter(s, inversion, InversionValues); break;
case 'L': polarization = *s++; break;
case 'M': s = ParseParameter(s, modulation, ModulationValues); break;
- case 'Z':// for compatibility with the original DVB-S2 patch - may be removed in future versions
case 'O': s = ParseParameter(s, rollOff, RollOffValues); break;
- case 'P': s = ParseParameter(s, priority, PriorityValues); break;
+ case 'P': s = SkipDigits(s); break; // for compatibility with the "multiproto" approach - may be removed in future versions
case 'R': polarization = *s++; break;
case 'S': s = ParseParameter(s, system, SystemValues); break;
case 'T': s = ParseParameter(s, transmission, TransmissionValues); break;
case 'V': polarization = *s++; break;
case 'Y': s = ParseParameter(s, hierarchy, HierarchyValues); break;
+ case 'Z': s = SkipDigits(s); break; // for compatibility with the original DVB-S2 patch - may be removed in future versions
default: esyslog("ERROR: unknown parameter key '%c'", *s);
return false;
}
diff --git a/channels.h b/channels.h
index 0bf0288..a3c1d43 100644
--- a/channels.h
+++ b/channels.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: channels.h 2.3 2008/07/06 11:49:37 kls Exp $
+ * $Id: channels.h 2.4 2008/11/22 13:35:52 kls Exp $
*/
#ifndef __CHANNELS_H
@@ -66,8 +66,6 @@ extern const tChannelParameterMap SystemValues[];
extern const tChannelParameterMap TransmissionValues[];
extern const tChannelParameterMap GuardValues[];
extern const tChannelParameterMap HierarchyValues[];
-extern const tChannelParameterMap AlphaValues[];
-extern const tChannelParameterMap PriorityValues[];
extern const tChannelParameterMap RollOffValues[];
struct tChannelID {
@@ -149,8 +147,6 @@ private:
int transmission;
int guard;
int hierarchy;
- int alpha;
- int priority;
int rollOff;
int __EndData__;
int modification;
@@ -209,8 +205,6 @@ public:
int Transmission(void) const { return transmission; }
int Guard(void) const { return guard; }
int Hierarchy(void) const { return hierarchy; }
- int Alpha(void) const { return alpha; }
- int Priority(void) const { return priority; }
int RollOff(void) const { return rollOff; }
const cLinkChannels* LinkChannels(void) const { return linkChannels; }
const cChannel *RefChannel(void) const { return refChannel; }
@@ -223,7 +217,7 @@ public:
void CopyTransponderData(const cChannel *Channel);
bool SetSatTransponderData(int Source, int Frequency, char Polarization, int Srate, int CoderateH, int Modulation, int System, int RollOff);
bool SetCableTransponderData(int Source, int Frequency, int Modulation, int Srate, int CoderateH);
- bool SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CodeRateH, int CodeRateL, int Guard, int Transmission, int Alpha, int Priority);
+ bool SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CodeRateH, int CodeRateL, int Guard, int Transmission);
void SetId(int Nid, int Tid, int Sid, int Rid = 0);
void SetName(const char *Name, const char *ShortName, const char *Provider);
void SetPortalName(const char *PortalName);
diff --git a/config.h b/config.h
index 12a4e12..8b672ff 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 2.3 2008/09/06 14:06:56 kls Exp $
+ * $Id: config.h 2.4 2008/09/14 13:46:13 kls Exp $
*/
#ifndef __CONFIG_H
@@ -22,8 +22,8 @@
// VDR's own version number:
-#define VDRVERSION "1.7.1"
-#define VDRVERSNUM 10701 // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION "1.7.2"
+#define VDRVERSNUM 10702 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
diff --git a/device.c b/device.c
index 06f6864..7d42a5e 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c 2.3 2008/07/06 13:22:21 kls Exp $
+ * $Id: device.c 2.4 2008/12/13 14:30:28 kls Exp $
*/
#include "device.h"
@@ -1228,13 +1228,13 @@ int cDevice::PlayTsVideo(const uchar *Data, int Length)
// Video PES has no explicit length, so we can only determine the end of
// a PES packet when the next TS packet that starts a payload comes in:
if (TsPayloadStart(Data)) {
- if (const uchar *p = tsToPesVideo.GetPes(Length)) {
- int w = PlayVideo(p, Length);
- if (w > 0)
- tsToPesVideo.Reset();
- else
- return w;
- }
+ int l;
+ while (const uchar *p = tsToPesVideo.GetPes(l)) {
+ int w = PlayVideo(p, l);
+ if (w < 0)
+ return w;
+ }
+ tsToPesVideo.Reset();
}
tsToPesVideo.PutTs(Data, Length);
return Length;
diff --git a/device.h b/device.h
index 8924aa9..2ce658c 100644
--- a/device.h
+++ b/device.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.h 2.2 2008/07/06 11:25:42 kls Exp $
+ * $Id: device.h 2.3 2008/09/14 13:44:54 kls Exp $
*/
#ifndef __DEVICE_H
@@ -494,6 +494,9 @@ protected:
///< Plays the given data block as audio.
///< Data points to exactly one complete PES packet of the given Length.
///< Id indicates the type of audio data this packet holds.
+ ///< Note that as of version 1.7.1 Id is obsolete and may be 0 (in case of
+ ///< TS replay). Plugins that need to know this Id shall read it from the
+ ///< actual PES data (it's the 4th byte).
///< PlayAudio() shall process the packet either as a whole (returning
///< Length) or not at all (returning 0 or -1 and setting 'errno' to EAGAIN).
///< \return Returns the number of bytes actually taken from Data, or -1
diff --git a/dvbdevice.c b/dvbdevice.c
index 4047926..e0b05a1 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.4 2008/07/06 13:58:56 kls Exp $
+ * $Id: dvbdevice.c 2.6 2008/12/13 14:38:07 kls Exp $
*/
#include "dvbdevice.h"
@@ -27,6 +27,13 @@
#include "status.h"
#include "transfer.h"
+// FIXME: temporary workaround until the S2API driver supports detecting
+// S2 capability in a clean way. This macro allows compiling VDR with an
+// unpatched driver. However, with an unpatched driver it will not support
+// DVB-S2 hardware. If you have DVB-S2 hardware you need to either patch
+// the driver or modify the line that uses this macro in cDvbDevice::cDvbDevice().
+#define FE_CAN_2ND_GEN_MODULATION 0x10000000
+
#define DO_REC_AND_PLAY_ON_PRIMARY_DEVICE 1
#define DO_MULTIPLE_RECORDINGS 1
@@ -76,7 +83,7 @@ private:
int tuneTimeout;
int lockTimeout;
time_t lastTimeoutReport;
- dvbfe_delsys frontendType;
+ fe_delivery_system frontendType;
cChannel channel;
const char *diseqcCommands;
eTunerStatus tunerStatus;
@@ -87,14 +94,14 @@ private:
bool SetFrontend(void);
virtual void Action(void);
public:
- cDvbTuner(int Fd_Frontend, int CardIndex, dvbfe_delsys FrontendType);
+ cDvbTuner(int Fd_Frontend, int CardIndex, fe_delivery_system FrontendType);
virtual ~cDvbTuner();
bool IsTunedTo(const cChannel *Channel) const;
void Set(const cChannel *Channel, bool Tune);
bool Locked(int TimeoutMs = 0);
};
-cDvbTuner::cDvbTuner(int Fd_Frontend, int CardIndex, dvbfe_delsys FrontendType)
+cDvbTuner::cDvbTuner(int Fd_Frontend, int CardIndex, fe_delivery_system FrontendType)
{
fd_frontend = Fd_Frontend;
cardIndex = CardIndex;
@@ -104,7 +111,7 @@ cDvbTuner::cDvbTuner(int Fd_Frontend, int CardIndex, dvbfe_delsys FrontendType)
lastTimeoutReport = 0;
diseqcCommands = NULL;
tunerStatus = tsIdle;
- if (frontendType & (DVBFE_DELSYS_DVBS | DVBFE_DELSYS_DVBS2))
+ if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2)
CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_13)); // must explicitly turn on LNB power
SetDescription("tuner on device %d", cardIndex + 1);
Start();
@@ -127,7 +134,6 @@ bool cDvbTuner::IsTunedTo(const cChannel *Channel) const
char Type = **cSource::ToString(Channel->Source());
#define ST(s, p) if (strchr(s, Type)) if (channel.p() != Channel->p()) return false;
// Polarization is already checked as part of the Transponder.
- ST(" T", Alpha);
ST(" T", Bandwidth);
ST("CST", CoderateH);
ST(" T", CoderateL);
@@ -135,8 +141,8 @@ bool cDvbTuner::IsTunedTo(const cChannel *Channel) const
ST("CST", Inversion);
ST("CST", Modulation);
ST(" S ", RollOff);
- ST(" T", Priority);
ST(" S ", System);
+ ST("CS ", Srate);
ST(" T", Transmission);
ST(" T", Hierarchy);
return true;
@@ -192,10 +198,27 @@ static unsigned int FrequencyToHz(unsigned int f)
bool cDvbTuner::SetFrontend(void)
{
- dvbfe_params Frontend;
+#define MAXFRONTENDCMDS 16
+#define SETCMD(c, d) { Frontend[CmdSeq.num].cmd = (c);\
+ Frontend[CmdSeq.num].u.data = (d);\
+ if (CmdSeq.num++ > MAXFRONTENDCMDS) {\
+ esyslog("ERROR: too many tuning commands on frontend %d", cardIndex);\
+ return false;\
+ }\
+ }
+ dtv_property Frontend[MAXFRONTENDCMDS];
memset(&Frontend, 0, sizeof(Frontend));
+ dtv_properties CmdSeq;
+ memset(&CmdSeq, 0, sizeof(CmdSeq));
+ CmdSeq.props = Frontend;
+ SETCMD(DTV_CLEAR, 0);
+ if (ioctl(fd_frontend, FE_SET_PROPERTY, &CmdSeq) < 0) {
+ esyslog("ERROR: frontend %d: %m", cardIndex);
+ return false;
+ }
+ CmdSeq.num = 0;
- if (frontendType & (DVBFE_DELSYS_DVBS | DVBFE_DELSYS_DVBS2)) {
+ if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2) {
unsigned int frequency = channel.Frequency();
if (Setup.DiSEqC) {
cDiseqc *diseqc = Diseqcs.Get(channel.Source(), channel.Frequency(), channel.Polarization());
@@ -249,48 +272,56 @@ bool cDvbTuner::SetFrontend(void)
}
frequency = abs(frequency); // Allow for C-band, where the frequency is less than the LOF
- Frontend.delivery = dvbfe_delsys(channel.System());
- Frontend.frequency = frequency * 1000UL;
- Frontend.inversion = fe_spectral_inversion_t(channel.Inversion());
- if (Frontend.delivery == DVBFE_DELSYS_DVBS) {
- Frontend.delsys.dvbs.modulation = dvbfe_modulation(channel.Modulation());
- Frontend.delsys.dvbs.symbol_rate = channel.Srate() * 1000UL;
- Frontend.delsys.dvbs.fec = dvbfe_fec(channel.CoderateH());
+ // DVB-S/DVB-S2 (common parts)
+ SETCMD(DTV_DELIVERY_SYSTEM, channel.System());
+ SETCMD(DTV_FREQUENCY, frequency * 1000UL);
+ SETCMD(DTV_MODULATION, channel.Modulation());
+ SETCMD(DTV_SYMBOL_RATE, channel.Srate() * 1000UL);
+ SETCMD(DTV_INNER_FEC, channel.CoderateH());
+ SETCMD(DTV_INVERSION, channel.Inversion());
+ if (channel.System() == SYS_DVBS2) {
+ if (frontendType == SYS_DVBS2) {
+ // DVB-S2
+ SETCMD(DTV_PILOT, PILOT_AUTO);
+ SETCMD(DTV_ROLLOFF, channel.RollOff());
+ }
+ else {
+ esyslog("ERROR: frontend %d doesn't provide DVB-S2", cardIndex);
+ return false;
+ }
}
else {
- Frontend.delsys.dvbs2.modulation = dvbfe_modulation(channel.Modulation());
- Frontend.delsys.dvbs2.symbol_rate = channel.Srate() * 1000UL;
- Frontend.delsys.dvbs2.fec = dvbfe_fec(channel.CoderateH());
- Frontend.delsys.dvbs2.rolloff = dvbfe_rolloff(channel.RollOff());
+ // DVB-S
+ SETCMD(DTV_ROLLOFF, ROLLOFF_35); // DVB-S always has a ROLLOFF of 0.35
}
tuneTimeout = DVBS_TUNE_TIMEOUT;
lockTimeout = DVBS_LOCK_TIMEOUT;
}
- else if (frontendType & DVBFE_DELSYS_DVBC) {
- Frontend.delivery = DVBFE_DELSYS_DVBC;
- Frontend.frequency = FrequencyToHz(channel.Frequency());
- Frontend.inversion = fe_spectral_inversion_t(channel.Inversion());
- Frontend.delsys.dvbc.symbol_rate = channel.Srate() * 1000UL;
- Frontend.delsys.dvbc.fec = dvbfe_fec(channel.CoderateH());
- Frontend.delsys.dvbc.modulation = dvbfe_modulation(channel.Modulation());
+ else if (frontendType == SYS_DVBC_ANNEX_AC || frontendType == SYS_DVBC_ANNEX_B) {
+ // DVB-C
+ SETCMD(DTV_DELIVERY_SYSTEM, frontendType);
+ SETCMD(DTV_FREQUENCY, FrequencyToHz(channel.Frequency()));
+ SETCMD(DTV_INVERSION, channel.Inversion());
+ SETCMD(DTV_SYMBOL_RATE, channel.Srate() * 1000UL);
+ SETCMD(DTV_INNER_FEC, channel.CoderateH());
+ SETCMD(DTV_MODULATION, channel.Modulation());
tuneTimeout = DVBC_TUNE_TIMEOUT;
lockTimeout = DVBC_LOCK_TIMEOUT;
}
- else if (frontendType & DVBFE_DELSYS_DVBT) {
- Frontend.delivery = DVBFE_DELSYS_DVBT;
- Frontend.frequency = FrequencyToHz(channel.Frequency());
- Frontend.inversion = fe_spectral_inversion_t(channel.Inversion());
- Frontend.delsys.dvbt.bandwidth = dvbfe_bandwidth(channel.Bandwidth());
- Frontend.delsys.dvbt.code_rate_HP = dvbfe_fec(channel.CoderateH());
- Frontend.delsys.dvbt.code_rate_LP = dvbfe_fec(channel.CoderateL());
- Frontend.delsys.dvbt.constellation = dvbfe_modulation(channel.Modulation());
- Frontend.delsys.dvbt.transmission_mode = dvbfe_transmission_mode(channel.Transmission());
- Frontend.delsys.dvbt.guard_interval = dvbfe_guard_interval(channel.Guard());
- Frontend.delsys.dvbt.hierarchy = dvbfe_hierarchy(channel.Hierarchy());
- Frontend.delsys.dvbt.alpha = dvbfe_alpha(channel.Alpha());
- Frontend.delsys.dvbt.priority = dvbfe_stream_priority(channel.Priority());
+ else if (frontendType == SYS_DVBT) {
+ // DVB-T
+ SETCMD(DTV_DELIVERY_SYSTEM, frontendType);
+ SETCMD(DTV_FREQUENCY, FrequencyToHz(channel.Frequency()));
+ SETCMD(DTV_INVERSION, channel.Inversion());
+ SETCMD(DTV_BANDWIDTH_HZ, channel.Bandwidth());
+ SETCMD(DTV_CODE_RATE_HP, channel.CoderateH());
+ SETCMD(DTV_CODE_RATE_LP, channel.CoderateL());
+ SETCMD(DTV_MODULATION, channel.Modulation());
+ SETCMD(DTV_TRANSMISSION_MODE, channel.Transmission());
+ SETCMD(DTV_GUARD_INTERVAL, channel.Guard());
+ SETCMD(DTV_HIERARCHY, channel.Hierarchy());
tuneTimeout = DVBT_TUNE_TIMEOUT;
lockTimeout = DVBT_LOCK_TIMEOUT;
@@ -299,8 +330,8 @@ bool cDvbTuner::SetFrontend(void)
esyslog("ERROR: attempt to set channel with unknown DVB frontend type");
return false;
}
- CHECK(ioctl(fd_frontend, DVBFE_SET_DELSYS, &Frontend.delivery));
- if (ioctl(fd_frontend, DVBFE_SET_PARAMS, &Frontend) < 0) {
+ SETCMD(DTV_TUNE, 0);
+ if (ioctl(fd_frontend, FE_SET_PROPERTY, &CmdSeq) < 0) {
esyslog("ERROR: frontend %d: %m", cardIndex);
return false;
}
@@ -372,13 +403,22 @@ int cDvbDevice::devVideoOffset = -1;
int cDvbDevice::setTransferModeForDolbyDigital = 1;
const char *DeliverySystems[] = {
- "DVBS",
+ "UNDEFINED",
+ "DVB-C",
+ "DVB-C",
+ "DVB-T",
"DSS",
- "DVBS2",
- "DVBC",
- "DVBT",
- "DVBH",
+ "DVB-S",
+ "DVB-S2",
+ "DVB-H",
+ "ISDBT",
+ "ISDBS",
+ "ISDBC",
"ATSC",
+ "ATSCMH",
+ "DMBTH",
+ "CMMB",
+ "DAB",
NULL
};
@@ -386,7 +426,7 @@ cDvbDevice::cDvbDevice(int n)
{
ciAdapter = NULL;
dvbTuner = NULL;
- frontendType = DVBFE_DELSYS_DUMMY;
+ frontendType = SYS_UNDEFINED;
numProvidedSystems = 0;
spuDecoder = NULL;
digitalAudio = false;
@@ -449,26 +489,24 @@ cDvbDevice::cDvbDevice(int n)
// We only check the devices that must be present - the others will be checked before accessing them://XXX
if (fd_frontend >= 0) {
- if (ioctl(fd_frontend, DVBFE_GET_DELSYS, &frontendType) >= 0) {
- const char **DeliverySystem = DeliverySystems;
- cString ds;
- for (int i = 0; i < 32; i++) {
- if (frontendType & (1u << i)) {
- numProvidedSystems++;
- if (*DeliverySystem)
- ds = cString::sprintf("%s %s", *ds ? *ds : "", *DeliverySystem);
- else
- esyslog("ERROR: unknown delivery system %d", i);
- }
- if (*DeliverySystem)
- DeliverySystem++;
- }
- if (*ds)
- isyslog("device %d provides:%s", CardIndex() + 1, *ds);
- dvbTuner = new cDvbTuner(fd_frontend, CardIndex(), frontendType);
+ if (ioctl(fd_frontend, FE_GET_INFO, &frontendInfo) >= 0) {
+ switch (frontendInfo.type) {
+ case FE_QPSK: frontendType = (frontendInfo.caps & FE_CAN_2ND_GEN_MODULATION) ? SYS_DVBS2 : SYS_DVBS; break;
+ case FE_OFDM: frontendType = SYS_DVBT; break;
+ case FE_QAM: frontendType = SYS_DVBC_ANNEX_AC; break;
+ case FE_ATSC: frontendType = SYS_ATSC; break;
+ default: esyslog("ERROR: unknown frontend type %d on device %d", frontendInfo.type, CardIndex() + 1);
+ }
}
else
LOG_ERROR;
+ if (frontendType != SYS_UNDEFINED) {
+ numProvidedSystems++;
+ if (frontendType == SYS_DVBS2)
+ numProvidedSystems++;
+ isyslog("device %d provides %s (\"%s\")", CardIndex() + 1, DeliverySystems[frontendType], frontendInfo.name);
+ dvbTuner = new cDvbTuner(fd_frontend, CardIndex(), frontendType);
+ }
}
else
esyslog("ERROR: can't open DVB device %d", n);
@@ -789,9 +827,9 @@ bool cDvbDevice::ProvidesSource(int Source) const
{
int type = Source & cSource::st_Mask;
return type == cSource::stNone
- || type == cSource::stCable && (frontendType & DVBFE_DELSYS_DVBC)
- || type == cSource::stSat && (frontendType & (DVBFE_DELSYS_DVBS | DVBFE_DELSYS_DVBS2))
- || type == cSource::stTerr && (frontendType & DVBFE_DELSYS_DVBT);
+ || type == cSource::stCable && (frontendType == SYS_DVBC_ANNEX_AC || frontendType == SYS_DVBC_ANNEX_B)
+ || type == cSource::stSat && (frontendType == SYS_DVBS || frontendType == SYS_DVBS2)
+ || type == cSource::stTerr && (frontendType == SYS_DVBT);
}
bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const
@@ -800,7 +838,7 @@ bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const
return false; // doesn't provide source
if (!cSource::IsSat(Channel->Source()))
return true; // source is sufficient for non sat
- if (!(frontendType & Channel->System()))
+ if (frontendType == SYS_DVBS && Channel->System() == SYS_DVBS2)
return false; // requires modulation system which frontend doesn't provide
return !Setup.DiSEqC || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization());
}
@@ -1228,18 +1266,25 @@ bool cDvbDevice::Flush(int TimeoutMs)
int cDvbDevice::PlayVideo(const uchar *Data, int Length)
{
- return WriteAllOrNothing(fd_video, Data, Length, 1000, 10);
+ int w;
+ do {
+ w = WriteAllOrNothing(fd_video, Data, Length, 1000, 10);
+ } while (w != Length);
+ return w;
}
int cDvbDevice::PlayAudio(const uchar *Data, int Length, uchar Id)
{
- return WriteAllOrNothing(fd_audio, Data, Length, 1000, 10);
+ int w;
+ do {
+ w = WriteAllOrNothing(fd_audio, Data, Length, 1000, 10);
+ } while (w != Length);
+ return w;
}
int cDvbDevice::PlayTsVideo(const uchar *Data, int Length)
{
- Length = TsGetPayload(&Data);
- return PlayVideo(Data, Length);
+ return cDevice::PlayTsVideo(Data, Length);
}
int cDvbDevice::PlayTsAudio(const uchar *Data, int Length)
diff --git a/dvbdevice.h b/dvbdevice.h
index bb219d4..c3b0ced 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.2 2008/06/01 09:48:04 kls Exp $
+ * $Id: dvbdevice.h 2.3 2008/12/06 13:31:12 kls Exp $
*/
#ifndef __DVBDEVICE_H
@@ -15,8 +15,8 @@
#include "device.h"
#include "dvbspu.h"
-#if DVB_API_VERSION != 3 || DVB_API_VERSION_MINOR != 3
-#error VDR requires Linux DVB driver API version 3.3!
+#if DVB_API_VERSION != 5 || DVB_API_VERSION_MINOR != 0
+#error VDR requires Linux DVB driver API version 5.0!
#endif
#define MAXDVBDEVICES 8
@@ -35,8 +35,9 @@ public:
///< Must be called before accessing any DVB functions.
///< \return True if any devices are available.
private:
- dvbfe_delsys frontendType;
+ dvb_frontend_info frontendInfo;
int numProvidedSystems;
+ fe_delivery_system frontendType;
int fd_osd, fd_audio, fd_video, fd_dvr, fd_stc, fd_ca;
protected:
virtual void MakePrimaryDevice(bool On);
diff --git a/menu.c b/menu.c
index 7fa1e3f..58ea2dd 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 2.2 2008/05/01 14:37:24 kls Exp $
+ * $Id: menu.c 2.3 2008/11/22 15:18:00 kls Exp $
*/
#include "menu.h"
@@ -252,8 +252,6 @@ void cMenuEditChannel::Setup(void)
ST(" T") Add(new cMenuEditMapItem( tr("Transmission"), &data.transmission, TransmissionValues));
ST(" T") Add(new cMenuEditMapItem( tr("Guard"), &data.guard, GuardValues));
ST(" T") Add(new cMenuEditMapItem( tr("Hierarchy"), &data.hierarchy, HierarchyValues));
- ST(" T") Add(new cMenuEditMapItem( tr("Alpha"), &data.alpha, AlphaValues));
- ST(" T") Add(new cMenuEditMapItem( tr("Priority"), &data.priority, PriorityValues));
ST(" S ") Add(new cMenuEditMapItem( tr("Rolloff"), &data.rollOff, RollOffValues));
SetCurrent(Get(current));
diff --git a/menuitems.c b/menuitems.c
index 200834e..82d5082 100644
--- a/menuitems.c
+++ b/menuitems.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menuitems.c 2.1 2008/04/12 12:05:25 kls Exp $
+ * $Id: menuitems.c 2.2 2008/12/13 11:35:31 kls Exp $
*/
#include "menuitems.h"
@@ -951,9 +951,7 @@ void cMenuEditMapItem::Set(void)
{
const char *s = NULL;
int n = MapToUser(*value, map, &s);
- if (n == 999)
- SetValue(tr("auto"));
- else if (n == 0 && zeroString)
+ if (n == 0 && zeroString)
SetValue(zeroString);
else if (n >= 0) {
if (s)
diff --git a/nit.c b/nit.c
index 7f0154a..5155f2a 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.1 2008/04/12 12:06:40 kls Exp $
+ * $Id: nit.c 2.2 2008/12/06 15:46:50 kls Exp $
*/
#include "nit.h"
@@ -127,13 +127,13 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
int Frequency = Frequencies[0] = BCD2INT(sd->getFrequency()) / 100;
static char Polarizations[] = { 'h', 'v', 'l', 'r' };
char Polarization = Polarizations[sd->getPolarization()];
- static int CodeRates[] = { DVBFE_FEC_NONE, DVBFE_FEC_1_2, DVBFE_FEC_2_3, DVBFE_FEC_3_4, DVBFE_FEC_5_6, DVBFE_FEC_7_8, DVBFE_FEC_8_9, DVBFE_FEC_3_5, DVBFE_FEC_4_5, DVBFE_FEC_9_10, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_NONE };
+ static int CodeRates[] = { FEC_NONE, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
int CodeRate = CodeRates[sd->getFecInner()];
- static int Modulations[] = { DVBFE_MOD_AUTO, DVBFE_MOD_QPSK, DVBFE_MOD_8PSK, DVBFE_MOD_QAM16 };
+ static int Modulations[] = { QPSK, PSK_8, QAM_16 };
int Modulation = Modulations[sd->getModulationType()];
- int System = sd->getModulationSystem() ? DVBFE_DELSYS_DVBS2 : DVBFE_DELSYS_DVBS;
- static int RollOffs[] = { DVBFE_ROLLOFF_35, DVBFE_ROLLOFF_25, DVBFE_ROLLOFF_20, DVBFE_ROLLOFF_UNKNOWN };
- int RollOff = sd->getModulationSystem() ? RollOffs[sd->getRollOff()] : DVBFE_ROLLOFF_UNKNOWN;
+ int System = sd->getModulationSystem() ? SYS_DVBS2 : SYS_DVBS;
+ static int RollOffs[] = { ROLLOFF_35, ROLLOFF_25, ROLLOFF_20, ROLLOFF_AUTO };
+ int RollOff = sd->getModulationSystem() ? RollOffs[sd->getRollOff()] : ROLLOFF_AUTO;
int SymbolRate = BCD2INT(sd->getSymbolRate()) / 10;
if (ThisNIT >= 0) {
for (int n = 0; n < NumFrequencies; n++) {
@@ -181,9 +181,9 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
int Source = cSource::FromData(cSource::stCable);
int Frequency = Frequencies[0] = BCD2INT(sd->getFrequency()) / 10;
//XXX FEC_outer???
- static int CodeRates[] = { DVBFE_FEC_NONE, DVBFE_FEC_1_2, DVBFE_FEC_2_3, DVBFE_FEC_3_4, DVBFE_FEC_5_6, DVBFE_FEC_7_8, DVBFE_FEC_8_9, DVBFE_FEC_3_5, DVBFE_FEC_4_5, DVBFE_FEC_9_10, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_NONE };
+ static int CodeRates[] = { FEC_NONE, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
int CodeRate = CodeRates[sd->getFecInner()];
- static int Modulations[] = { DVBFE_MOD_NONE, DVBFE_MOD_QAM16, DVBFE_MOD_QAM32, DVBFE_MOD_QAM64, DVBFE_MOD_QAM128, DVBFE_MOD_QAM256, QAM_AUTO };
+ static int Modulations[] = { QPSK, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256, QAM_AUTO };
int Modulation = Modulations[min(sd->getModulation(), 6)];
int SymbolRate = BCD2INT(sd->getSymbolRate()) / 10;
if (ThisNIT >= 0) {
@@ -231,22 +231,19 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
SI::TerrestrialDeliverySystemDescriptor *sd = (SI::TerrestrialDeliverySystemDescriptor *)d;
int Source = cSource::FromData(cSource::stTerr);
int Frequency = Frequencies[0] = sd->getFrequency() * 10;
- static int Bandwidths[] = { DVBFE_BANDWIDTH_8_MHZ, DVBFE_BANDWIDTH_7_MHZ, DVBFE_BANDWIDTH_6_MHZ, DVBFE_BANDWIDTH_5_MHZ, DVBFE_BANDWIDTH_AUTO, DVBFE_BANDWIDTH_AUTO, DVBFE_BANDWIDTH_AUTO, DVBFE_BANDWIDTH_AUTO };
+ static int Bandwidths[] = { 8000000, 7000000, 6000000, 0, 0, 0, 0, 0 };
int Bandwidth = Bandwidths[sd->getBandwidth()];
- static int Constellations[] = { DVBFE_MOD_QPSK, DVBFE_MOD_QAM16, DVBFE_MOD_QAM64, DVBFE_MOD_AUTO };
+ static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO };
int Constellation = Constellations[sd->getConstellation()];
- static int CodeRates[] = { DVBFE_FEC_1_2, DVBFE_FEC_2_3, DVBFE_FEC_3_4, DVBFE_FEC_5_6, DVBFE_FEC_7_8, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO, DVBFE_FEC_AUTO };
+ static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO };
+ int Hierarchy = 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 };
int CodeRateHP = CodeRates[sd->getCodeRateHP()];
int CodeRateLP = CodeRates[sd->getCodeRateLP()];
- static int GuardIntervals[] = { DVBFE_GUARD_INTERVAL_1_32, DVBFE_GUARD_INTERVAL_1_16, DVBFE_GUARD_INTERVAL_1_8, DVBFE_GUARD_INTERVAL_1_4 };
+ static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 };
int GuardInterval = GuardIntervals[sd->getGuardInterval()];
- static int TransmissionModes[] = { DVBFE_TRANSMISSION_MODE_2K, DVBFE_TRANSMISSION_MODE_8K, DVBFE_TRANSMISSION_MODE_4K, DVBFE_TRANSMISSION_MODE_AUTO };
+ static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_AUTO, TRANSMISSION_MODE_AUTO };
int TransmissionMode = TransmissionModes[sd->getTransmissionMode()];
- static int Priorities[] = { DVBFE_STREAM_PRIORITY_LP, DVBFE_STREAM_PRIORITY_HP };
- int Priority = Priorities[sd->getPriority()];
- static int Alphas[] = { 0, DVBFE_ALPHA_1, DVBFE_ALPHA_2, DVBFE_ALPHA_4 };
- int Alpha = Alphas[sd->getHierarchy() & 3];
- int Hierarchy = Alpha ? DVBFE_HIERARCHY_ON : DVBFE_HIERARCHY_OFF;
if (ThisNIT >= 0) {
for (int n = 0; n < NumFrequencies; n++) {
if (ISTRANSPONDER(Frequencies[n] / 1000000, Transponder())) {
@@ -272,14 +269,14 @@ void cNitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
}
if (ISTRANSPONDER(Frequency / 1000000, Transponder())) // only modify channels if we're actually receiving this transponder
- Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode, Alpha, Priority);
+ Channel->SetTerrTransponderData(Source, Frequency, Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode);
}
}
if (!found) {
for (int n = 0; n < NumFrequencies; n++) {
cChannel *Channel = new cChannel;
Channel->SetId(ts.getOriginalNetworkId(), ts.getTransportStreamId(), 0, 0);
- if (Channel->SetTerrTransponderData(Source, Frequencies[n], Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode, Alpha, Priority))
+ if (Channel->SetTerrTransponderData(Source, Frequencies[n], Bandwidth, Constellation, Hierarchy, CodeRateHP, CodeRateLP, GuardInterval, TransmissionMode))
EITScanner.AddTransponder(Channel);
else
delete Channel;
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 0fd4091..d86ebc4 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalanian\n"
@@ -24,15 +24,12 @@ msgstr "off"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "cap"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Canal incorrecte ***"
@@ -321,12 +318,6 @@ msgstr "Protegir"
msgid "Hierarchy"
msgstr "Jerarquia"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioritat"
-
msgid "Rolloff"
msgstr ""
@@ -375,6 +366,9 @@ msgstr "Fi"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioritat"
+
msgid "Lifetime"
msgstr "Durada"
@@ -909,9 +903,6 @@ msgstr "Sobrescriure"
msgid "Button$Insert"
msgstr "Inserir"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index dd0ced3..cd5b66b 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-02-28 15:00+0200\n"
"Last-Translator: Vladimr Brta <vladimir.barta@k2atmitec.cz>, Ji Dobr <jdobry@centrum.cz>\n"
"Language-Team: Czech\n"
@@ -22,15 +22,12 @@ msgstr "vyp."
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "dn"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Neplatn kanl ***"
@@ -319,12 +316,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarchy"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Priorita"
-
msgid "Rolloff"
msgstr ""
@@ -373,6 +364,9 @@ msgstr "Konec"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Priorita"
+
msgid "Lifetime"
msgstr "ivotnost"
@@ -907,9 +901,6 @@ msgstr "Pepsat"
msgid "Button$Insert"
msgstr "Vloit"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Modul"
diff --git a/po/da_DK.po b/po/da_DK.po
index 53633b2..ffe5a8d 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish\n"
@@ -21,15 +21,12 @@ msgstr "fra"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "automatisk"
+
msgid "none"
msgstr "ingen"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Ugyldig kanal! ***"
@@ -318,12 +315,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarki"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioritet"
-
msgid "Rolloff"
msgstr ""
@@ -372,6 +363,9 @@ msgstr "Stop"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioritet"
+
msgid "Lifetime"
msgstr "Levetid"
@@ -906,9 +900,6 @@ msgstr "Overskriv"
msgid "Button$Insert"
msgstr "Indst"
-msgid "auto"
-msgstr "automatisk"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/de_DE.po b/po/de_DE.po
index f53e810..0dba2b4 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-11-25 15:19+0200\n"
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
"Language-Team: German\n"
@@ -21,15 +21,12 @@ msgstr "aus"
msgid "on"
msgstr "ein"
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "keine"
-msgid "high"
-msgstr "hoch"
-
-msgid "low"
-msgstr "niedrig"
-
msgid "*** Invalid Channel ***"
msgstr "*** Ungltiger Kanal ***"
@@ -318,12 +315,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarchie"
-msgid "Alpha"
-msgstr "Alpha"
-
-msgid "Priority"
-msgstr "Prioritt"
-
msgid "Rolloff"
msgstr "Rolloff"
@@ -372,6 +363,9 @@ msgstr "Ende"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioritt"
+
msgid "Lifetime"
msgstr "Lebensdauer"
@@ -906,9 +900,6 @@ msgstr "berschreiben"
msgid "Button$Insert"
msgstr "Einfgen"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/el_GR.po b/po/el_GR.po
index 337c6b0..7446e8a 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek\n"
@@ -21,15 +21,12 @@ msgstr ""
msgid "on"
msgstr ""
+msgid "auto"
+msgstr ""
+
msgid "none"
msgstr ""
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** ***"
@@ -318,12 +315,6 @@ msgstr ""
msgid "Hierarchy"
msgstr ""
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr ""
-
msgid "Rolloff"
msgstr ""
@@ -372,6 +363,9 @@ msgstr ""
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr ""
+
msgid "Lifetime"
msgstr " "
@@ -906,9 +900,6 @@ msgstr ""
msgid "Button$Insert"
msgstr ""
-msgid "auto"
-msgstr ""
-
msgid "Plugin"
msgstr ""
diff --git a/po/es_ES.po b/po/es_ES.po
index 61c8717..ef50496 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish\n"
@@ -22,15 +22,12 @@ msgstr "off"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "ninguno"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Canal no vlido ***"
@@ -319,12 +316,6 @@ msgstr "Int.Guarda"
msgid "Hierarchy"
msgstr "Jerarqua"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioridad"
-
msgid "Rolloff"
msgstr ""
@@ -373,6 +364,9 @@ msgstr "Fin"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioridad"
+
msgid "Lifetime"
msgstr "Duracin"
@@ -907,9 +901,6 @@ msgstr "Sobreescribir"
msgid "Button$Insert"
msgstr "Insertar"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/et_EE.po b/po/et_EE.po
index 70d59be..dcbe854 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
"Language-Team: Estonian\n"
@@ -21,15 +21,12 @@ msgstr "vljas"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "automaatne"
+
msgid "none"
msgstr "puudu"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Vigane kanal ***"
@@ -318,12 +315,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarhia"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioriteet"
-
msgid "Rolloff"
msgstr ""
@@ -372,6 +363,9 @@ msgstr "Stopp"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioriteet"
+
msgid "Lifetime"
msgstr "Eluiga"
@@ -906,9 +900,6 @@ msgstr "Asenda (OVR)"
msgid "Button$Insert"
msgstr "Lisa (INS)"
-msgid "auto"
-msgstr "automaatne"
-
msgid "Plugin"
msgstr "Laiendusmoodul"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 6be05ef..76df2cf 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n"
@@ -24,15 +24,12 @@ msgstr "poissa"
msgid "on"
msgstr "pll"
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "tyhj"
-msgid "high"
-msgstr "korkea"
-
-msgid "low"
-msgstr "matala"
-
msgid "*** Invalid Channel ***"
msgstr "*** Virheellinen kanavavalinta ***"
@@ -321,12 +318,6 @@ msgstr "Suojavli"
msgid "Hierarchy"
msgstr "Hierarkia"
-msgid "Alpha"
-msgstr "Alpha"
-
-msgid "Priority"
-msgstr "Prioriteetti"
-
msgid "Rolloff"
msgstr "Rolloff"
@@ -375,6 +366,9 @@ msgstr "Lopetus"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioriteetti"
+
msgid "Lifetime"
msgstr "Elinik"
@@ -909,9 +903,6 @@ msgstr "Korvaa"
msgid "Button$Insert"
msgstr "Lis"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Laajennos"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index db88663..706f56f 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
"Language-Team: French\n"
@@ -27,15 +27,12 @@ msgstr "off"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "aucun"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Chane invalide ! ***"
@@ -324,12 +321,6 @@ msgstr "Intervalle de garde"
msgid "Hierarchy"
msgstr "Hirarchie"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Priorit"
-
msgid "Rolloff"
msgstr ""
@@ -378,6 +369,9 @@ msgstr "Fin"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Priorit"
+
msgid "Lifetime"
msgstr "Dure de vie"
@@ -912,9 +906,6 @@ msgstr "Ecraser"
msgid "Button$Insert"
msgstr "Insrer"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index 69c2ee4..afddcef 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian\n"
@@ -23,15 +23,12 @@ msgstr "iskljui"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "automatski"
+
msgid "none"
msgstr "nita"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Neispravan Program ***"
@@ -320,12 +317,6 @@ msgstr "Zatita"
msgid "Hierarchy"
msgstr "Hijerarhija"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioritet"
-
msgid "Rolloff"
msgstr ""
@@ -374,6 +365,9 @@ msgstr "Kraj"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioritet"
+
msgid "Lifetime"
msgstr "Trajanje"
@@ -908,9 +902,6 @@ msgstr "Prepii"
msgid "Button$Insert"
msgstr "Umetni"
-msgid "auto"
-msgstr "automatski"
-
msgid "Plugin"
msgstr "Dodatak"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index e2629e8..b9821d5 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-12-01 21:42+0200\n"
"Last-Translator: Istvn Fley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian\n"
@@ -24,15 +24,12 @@ msgstr "ki"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "semmi"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** rvnytelen csatorna ***"
@@ -321,12 +318,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarhia"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Priorits"
-
msgid "Rolloff"
msgstr ""
@@ -375,6 +366,9 @@ msgstr "Vge"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Priorits"
+
msgid "Lifetime"
msgstr "lettartam"
@@ -909,9 +903,6 @@ msgstr "trni"
msgid "Button$Insert"
msgstr "Beilleszteni"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/it_IT.po b/po/it_IT.po
index 0b8852b..944b80d 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-08-25 02:36+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian\n"
@@ -25,15 +25,12 @@ msgstr "off"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "automatico"
+
msgid "none"
msgstr "nessuno"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Canale NON valido ***"
@@ -322,12 +319,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Gerarchia"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Priorit"
-
msgid "Rolloff"
msgstr ""
@@ -376,6 +367,9 @@ msgstr "Fine"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Priorit"
+
msgid "Lifetime"
msgstr "Scadenza"
@@ -910,9 +904,6 @@ msgstr "Sovrascrivi"
msgid "Button$Insert"
msgstr "Inserisci"
-msgid "auto"
-msgstr "automatico"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 547df25..17a0953 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch\n"
@@ -25,15 +25,12 @@ msgstr "uit"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "geen"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Ongeldig kanaal ***"
@@ -322,12 +319,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarchie"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioriteit"
-
msgid "Rolloff"
msgstr ""
@@ -376,6 +367,9 @@ msgstr "Einde"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioriteit"
+
msgid "Lifetime"
msgstr "Bewaarduur"
@@ -910,9 +904,6 @@ msgstr "Overschrijven"
msgid "Button$Insert"
msgstr "Invoegen"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index 670f0dd..06f6b87 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian\n"
@@ -22,13 +22,10 @@ msgstr ""
msgid "on"
msgstr ""
-msgid "none"
-msgstr ""
-
-msgid "high"
+msgid "auto"
msgstr ""
-msgid "low"
+msgid "none"
msgstr ""
msgid "*** Invalid Channel ***"
@@ -319,12 +316,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarchy"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioritet"
-
msgid "Rolloff"
msgstr ""
@@ -373,6 +364,9 @@ msgstr "Slutt"
msgid "VPS"
msgstr ""
+msgid "Priority"
+msgstr "Prioritet"
+
msgid "Lifetime"
msgstr "Levetid"
@@ -907,9 +901,6 @@ msgstr ""
msgid "Button$Insert"
msgstr ""
-msgid "auto"
-msgstr ""
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/pl_PL.po b/po/pl_PL.po
index e5bcd37..ea70463 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish\n"
@@ -22,15 +22,12 @@ msgstr "wycz"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "auto"
+
msgid "none"
msgstr "brak"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Niepoprawny kana ***"
@@ -319,12 +316,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarchia"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Priorytet"
-
msgid "Rolloff"
msgstr ""
@@ -373,6 +364,9 @@ msgstr "Koniec"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Priorytet"
+
msgid "Lifetime"
msgstr "Czas ycia"
@@ -907,9 +901,6 @@ msgstr "Nadpisz"
msgid "Button$Insert"
msgstr "Wstaw"
-msgid "auto"
-msgstr "auto"
-
msgid "Plugin"
msgstr "Wtyczka"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 143d0e9..2182f66 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-18 17:04+0100\n"
"Last-Translator: anonymous\n"
"Language-Team: Portuguese\n"
@@ -21,15 +21,12 @@ msgstr "off"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "Automtico"
+
msgid "none"
msgstr "nenhum"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Canal invlido ***"
@@ -318,12 +315,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarquia"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioridade"
-
msgid "Rolloff"
msgstr ""
@@ -372,6 +363,9 @@ msgstr "Fim"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioridade"
+
msgid "Lifetime"
msgstr "Durao"
@@ -906,9 +900,6 @@ msgstr "Substituir"
msgid "Button$Insert"
msgstr "Inserir"
-msgid "auto"
-msgstr "Automtico"
-
msgid "Plugin"
msgstr "Plugin"
diff --git a/po/ro_RO.po b/po/ro_RO.po
index 9236f2d..b7a5ca9 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-02-25 00:39+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian\n"
@@ -24,15 +24,12 @@ msgstr "inactiv"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "automat"
+
msgid "none"
msgstr "niciuna(ul)"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Canal invalid ***"
@@ -321,12 +318,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Ierarhie"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioritate"
-
msgid "Rolloff"
msgstr ""
@@ -375,6 +366,9 @@ msgstr "Sfrit"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioritate"
+
msgid "Lifetime"
msgstr "Timp de pstrare"
@@ -909,9 +903,6 @@ msgstr "Suprascrie"
msgid "Button$Insert"
msgstr "Insereaz"
-msgid "auto"
-msgstr "automat"
-
msgid "Plugin"
msgstr "Plugin (modul adiional)"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 0938736..a6d8a4f 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-02-15 16:37+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian\n"
@@ -22,15 +22,12 @@ msgstr ""
msgid "on"
msgstr ""
+msgid "auto"
+msgstr ""
+
msgid "none"
msgstr ""
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** ***"
@@ -319,12 +316,6 @@ msgstr ""
msgid "Hierarchy"
msgstr ""
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr ""
-
msgid "Rolloff"
msgstr ""
@@ -373,6 +364,9 @@ msgstr ""
msgid "VPS"
msgstr "VPS "
+msgid "Priority"
+msgstr ""
+
msgid "Lifetime"
msgstr " "
@@ -907,9 +901,6 @@ msgstr ""
msgid "Button$Insert"
msgstr ""
-msgid "auto"
-msgstr ""
-
msgid "Plugin"
msgstr ""
diff --git a/po/sl_SI.po b/po/sl_SI.po
index 5e4ef3b..6f3d041 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+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\n"
@@ -22,15 +22,12 @@ msgstr "izklop"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "avtomatsko"
+
msgid "none"
msgstr "nobeden"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Neznan kanal ***"
@@ -319,12 +316,6 @@ msgstr "Zaita"
msgid "Hierarchy"
msgstr "Hierarhija"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioriteta"
-
msgid "Rolloff"
msgstr ""
@@ -373,6 +364,9 @@ msgstr "Konec"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioriteta"
+
msgid "Lifetime"
msgstr "Veljavnost"
@@ -907,9 +901,6 @@ msgstr "Prepii"
msgid "Button$Insert"
msgstr "Vstavi"
-msgid "auto"
-msgstr "avtomatsko"
-
msgid "Plugin"
msgstr "Vstavek"
diff --git a/po/sv_SE.po b/po/sv_SE.po
index 92613d0..5f8d20d 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
"Language-Team: Swedish\n"
@@ -24,15 +24,12 @@ msgstr "av"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "automatisk"
+
msgid "none"
msgstr "ingen"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Felaktig kanal ***"
@@ -321,12 +318,6 @@ msgstr "Guard"
msgid "Hierarchy"
msgstr "Hierarchy"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "Prioritet"
-
msgid "Rolloff"
msgstr ""
@@ -375,6 +366,9 @@ msgstr "Slutar"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "Prioritet"
+
msgid "Lifetime"
msgstr "Livstid"
@@ -909,9 +903,6 @@ msgstr "Skriv ver"
msgid "Button$Insert"
msgstr "Infoga"
-msgid "auto"
-msgstr "automatisk"
-
msgid "Plugin"
msgstr "Modul"
diff --git a/po/tr_TR.po b/po/tr_TR.po
index 9e7251a..a5496d3 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish\n"
@@ -21,15 +21,12 @@ msgstr "kapal"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "otomatik"
+
msgid "none"
msgstr "hi"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** Geersiz kanal ***"
@@ -318,12 +315,6 @@ msgstr "Koruma"
msgid "Hierarchy"
msgstr "Hiyerari"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "ncelik"
-
msgid "Rolloff"
msgstr ""
@@ -372,6 +363,9 @@ msgstr "Biti"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "ncelik"
+
msgid "Lifetime"
msgstr "mr"
@@ -906,9 +900,6 @@ msgstr "stne yaz"
msgid "Button$Insert"
msgstr "Ekle"
-msgid "auto"
-msgstr "otomatik"
-
msgid "Plugin"
msgstr "Eklenti"
diff --git a/po/uk_UA.po b/po/uk_UA.po
index fb734de..9fe0013 100644
--- a/po/uk_UA.po
+++ b/po/uk_UA.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-07 14:17+0200\n"
"Last-Translator: Yarema Aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian\n"
@@ -21,15 +21,12 @@ msgstr ""
msgid "on"
msgstr ""
+msgid "auto"
+msgstr ""
+
msgid "none"
msgstr ""
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "*** ***"
@@ -318,12 +315,6 @@ msgstr ""
msgid "Hierarchy"
msgstr ""
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr ""
-
msgid "Rolloff"
msgstr ""
@@ -372,6 +363,9 @@ msgstr ""
msgid "VPS"
msgstr "VPS "
+msgid "Priority"
+msgstr ""
+
msgid "Lifetime"
msgstr " "
@@ -906,9 +900,6 @@ msgstr ""
msgid "Button$Insert"
msgstr ""
-msgid "auto"
-msgstr ""
-
msgid "Plugin"
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 5ff19cf..04d16ce 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@cadsoft.de>\n"
-"POT-Creation-Date: 2008-04-12 14:19+0200\n"
+"POT-Creation-Date: 2008-12-14 16:10+0100\n"
"PO-Revision-Date: 2008-03-21 08:44+0800\n"
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
"Language-Team: Chinese\n"
@@ -24,15 +24,12 @@ msgstr "关"
msgid "on"
msgstr ""
+msgid "auto"
+msgstr "自动"
+
msgid "none"
msgstr "无"
-msgid "high"
-msgstr ""
-
-msgid "low"
-msgstr ""
-
msgid "*** Invalid Channel ***"
msgstr "***无效频道 ***"
@@ -321,12 +318,6 @@ msgstr "防护"
msgid "Hierarchy"
msgstr "层次"
-msgid "Alpha"
-msgstr ""
-
-msgid "Priority"
-msgstr "优先"
-
msgid "Rolloff"
msgstr ""
@@ -375,6 +366,9 @@ msgstr "停止"
msgid "VPS"
msgstr "VPS"
+msgid "Priority"
+msgstr "优先"
+
msgid "Lifetime"
msgstr "终生"
@@ -909,9 +903,6 @@ msgstr "覆盖"
msgid "Button$Insert"
msgstr "插入"
-msgid "auto"
-msgstr "自动"
-
msgid "Plugin"
msgstr "插件"
diff --git a/remux.c b/remux.c
index 8312a74..1938549 100644
--- a/remux.c
+++ b/remux.c
@@ -11,7 +11,7 @@
* The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>,
* and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
*
- * $Id: remux.c 2.1 2008/08/15 14:49:34 kls Exp $
+ * $Id: remux.c 2.2 2008/12/13 14:30:15 kls Exp $
*/
#include "remux.h"
@@ -2578,7 +2578,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
cTsToPes::cTsToPes(void)
{
data = NULL;
- size = length = 0;
+ size = length = offset = 0;
synced = false;
}
@@ -2602,12 +2602,35 @@ void cTsToPes::PutTs(const uchar *Data, int Length)
length += Length;
}
+#define MAXPESLENGTH 0xFFF0
+
const uchar *cTsToPes::GetPes(int &Length)
{
- if (PesLongEnough(length)) {
- Length = PesLength(data);
- if (Length <= length) {
- Length = length; // in case the PES packet has no explicit length, as is the case for video PES
+ if (offset < length && PesLongEnough(length)) {
+ if (!PesHasLength(data)) // this is a video PES packet with undefined length
+ offset = 6; // trigger setting PES length for initial slice
+ if (offset) {
+ uchar *p = data + offset - 6;
+ if (p != data) {
+ p -= 3;
+ memmove(p, data, 4);
+ }
+ int l = min(length - offset, MAXPESLENGTH);
+ offset += l;
+ if (p != data) {
+ l += 3;
+ p[6] = 0x80;
+ p[7] = 0x00;
+ p[8] = 0x00;
+ }
+ p[4] = l / 256;
+ p[5] = l & 0xFF;
+ Length = l + 6;
+ return p;
+ }
+ else {
+ Length = PesLength(data);
+ offset = Length; // to make sure we break out in case of garbage data
return data;
}
}
@@ -2616,7 +2639,7 @@ const uchar *cTsToPes::GetPes(int &Length)
void cTsToPes::Reset(void)
{
- length = 0;
+ length = offset = 0;
}
// --- Some helper functions for debugging -----------------------------------
diff --git a/remux.h b/remux.h
index fe792eb..f471504 100644
--- a/remux.h
+++ b/remux.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remux.h 2.2 2008/09/06 14:48:28 kls Exp $
+ * $Id: remux.h 2.3 2008/12/13 13:55:07 kls Exp $
*/
#ifndef __REMUX_H
@@ -138,6 +138,11 @@ inline bool PesLongEnough(int Length)
return Length >= 6;
}
+inline bool PesHasLength(const uchar *p)
+{
+ return p[4] | p[5];
+}
+
inline int PesLength(const uchar *p)
{
return 6 + p[4] * 256 + p[5];
@@ -241,6 +246,7 @@ private:
uchar *data;
int size;
int length;
+ int offset;
bool synced;
public:
cTsToPes(void);
diff --git a/vdr.5 b/vdr.5
index ee8fe61..384ab70 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.4 2008/07/06 13:00:19 kls Exp $
+.\" $Id: vdr.5 2.5 2008/11/22 15:23:10 kls Exp $
.\"
.TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files"
.SH NAME
@@ -83,22 +83,20 @@ meaning (and allowed values) are
.TS
tab (@);
l l.
-\fBA\fR@Alpha (0, 1, 2, 4)
-\fBB\fR@Bandwidth (5, 6, 7, 8)
-\fBC\fR@Code rate high priority (0, 12, 13, 14, 23, 25, 34, 35, 45, 56, 67, 78, 89, 910)
-\fBD\fR@coDe rate low priority (0, 12, 13, 14, 23, 25, 34, 35, 45, 56, 67, 78, 89, 910)
+\fBB\fR@Bandwidth (6, 7, 8)
+\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)
\fBH\fR@Horizontal polarization
\fBI\fR@Inversion (0, 1)
\fBL\fR@Left circular polarization
-\fBM\fR@Modulation (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 32, 64, 128, 256, 512, 998, 1024)
+\fBM\fR@Modulation (2, 5, 6, 10, 11, 16, 32, 64, 128, 256, 998)
\fBO\fR@rollOff (0, 20, 25, 35)
-\fBP\fR@Priority (0, 1)
\fBR\fR@Right circular polarization
\fBS\fR@delivery System (0, 1)
-\fBT\fR@Transmission mode (2, 4, 8)
+\fBT\fR@Transmission mode (2, 8)
\fBV\fR@Vertical polarization
-\fBY\fR@hierarchY (0, 1)
+\fBY\fR@hierarchY (0, 1, 2, 4)
.TE
The polarization parameters have no integer numbers following them. This is for