summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Grimm <git@e-tobi.net>2011-08-21 13:52:51 +0200
committerTobias Grimm <git@e-tobi.net>2011-08-21 13:52:51 +0200
commitf5b8f448c0844595fc4f5c2e1da985aa9fe977cb (patch)
tree46dadcc54b08ff543e73d7d240448199cb9d0296
parent95c87c5080ecf35ccef0ffffaa363f6b3f271112 (diff)
downloadvdr-plugin-ttxtsubs-f5b8f448c0844595fc4f5c2e1da985aa9fe977cb.tar.gz
vdr-plugin-ttxtsubs-f5b8f448c0844595fc4f5c2e1da985aa9fe977cb.tar.bz2
Updated patch for VDR 1.7.20 (Closes #689)
-rw-r--r--HISTORY3
-rw-r--r--patches/patch-set.1.7.15/0004-Decrypt-teletext-stream.patch35
-rw-r--r--patches/patch-set.1.7.20/0001-Record-teletext-subtitles.patch (renamed from patches/patch-set.1.7.15/0001-Record-teletext-subtitles.patch)36
-rw-r--r--patches/patch-set.1.7.20/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch (renamed from patches/patch-set.1.7.15/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch)122
-rw-r--r--patches/patch-set.1.7.20/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch (renamed from patches/patch-set.1.7.15/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch)23
-rw-r--r--patches/patch-set.1.7.20/0004-Decrypt-teletext-stream.patch35
-rw-r--r--patches/patch-set.1.7.20/0005-Capture-teletext-subtitle-pages-from-PMT.patch (renamed from patches/patch-set.1.7.15/0005-Capture-teletext-subtitle-pages-from-PMT.patch)20
-rw-r--r--patches/patch-set.1.7.20/0006-Ttxtsubs-plugin-hook.patch (renamed from patches/patch-set.1.7.15/0006-Ttxtsubs-plugin-hook.patch)28
-rw-r--r--patches/vdr-1.7.20-ttxtsubs.patch (renamed from patches/vdr-1.7.15-ttxtsubs.patch)204
9 files changed, 254 insertions, 252 deletions
diff --git a/HISTORY b/HISTORY
index c432556..1018064 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,10 +1,11 @@
VDR Plugin 'ttxtsubs' Revision History
--------------------------------------
-2011-xx-xx: Version 0.2.3
+2011-08-21: Version 0.2.3
- Made changes in font settings be applied instantly, without the need to
change the channel (patch provided by Rolf Ahrenberg)
- Converted *.po to UTF-8
+- Updated patch for VDR 1.7.20 (Closes #689)
2010-05-08: Version 0.2.2
- Fixed channel retune triggering in VDR patch and updated patch to 1.7.14
diff --git a/patches/patch-set.1.7.15/0004-Decrypt-teletext-stream.patch b/patches/patch-set.1.7.15/0004-Decrypt-teletext-stream.patch
deleted file mode 100644
index 2a94c3e..0000000
--- a/patches/patch-set.1.7.15/0004-Decrypt-teletext-stream.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 30a1f608efb5dbe511b3bf0c38ab2d2ba61e2818 Mon Sep 17 00:00:00 2001
-From: etobi <git@e-tobi.net>
-Date: Sun, 14 Feb 2010 01:30:34 +0100
-Subject: [PATCH 4/6] Decrypt teletext stream
-
----
- ci.c | 5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/ci.c b/ci.c
-index 6c7b031..22fda9f 100644
---- a/ci.c
-+++ b/ci.c
-@@ -1911,6 +1911,8 @@ void cCamSlot::AddChannel(const cChannel *Channel)
- AddPid(Channel->Sid(), *Apid, STREAM_TYPE_AUDIO);
- for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
- AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_DOLBY);
-+ if (Channel->Tpid() && Setup.SupportTeletext)
-+ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_DOLBY);
- }
- }
-
-@@ -1932,6 +1934,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
- CaPmt.AddPid(*Apid, STREAM_TYPE_AUDIO);
- for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
- CaPmt.AddPid(*Dpid, STREAM_TYPE_DOLBY);
-+ if (Channel->Tpid() && Setup.SupportTeletext) {
-+ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_DOLBY); // FIXME: STREAM_TYPE_DOLBY should probably be renamed STREAM_TYPE_PRIVATE
-+ }
- cas->SendPMT(&CaPmt);
- cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
- do {
---
-1.7.1
-
diff --git a/patches/patch-set.1.7.15/0001-Record-teletext-subtitles.patch b/patches/patch-set.1.7.20/0001-Record-teletext-subtitles.patch
index 09fd1c0..80b79f1 100644
--- a/patches/patch-set.1.7.15/0001-Record-teletext-subtitles.patch
+++ b/patches/patch-set.1.7.20/0001-Record-teletext-subtitles.patch
@@ -1,4 +1,4 @@
-From 067f957830a04977e090ece6bee0c188871fae7c Mon Sep 17 00:00:00 2001
+From 9f3bb093c7db326d050cce3745d376c8d1eb5810 Mon Sep 17 00:00:00 2001
From: etobi <git@e-tobi.net>
Date: Fri, 12 Feb 2010 21:55:04 +0100
Subject: [PATCH 1/6] Record teletext subtitles
@@ -13,10 +13,10 @@ Subject: [PATCH 1/6] Record teletext subtitles
6 files changed, 87 insertions(+), 2 deletions(-)
diff --git a/channels.c b/channels.c
-index ebc7eb1..ebb6665 100644
+index c689850..907688e 100644
--- a/channels.c
+++ b/channels.c
-@@ -376,6 +376,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
+@@ -378,6 +378,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
}
}
@@ -44,13 +44,13 @@ index ebc7eb1..ebb6665 100644
{
if (caids[0] && caids[0] <= CA_USER_MAX)
diff --git a/channels.h b/channels.h
-index b867297..f9ff774 100644
+index 51f9830..3fc443c 100644
--- a/channels.h
+++ b/channels.h
@@ -35,6 +35,7 @@
#define MAXDPIDS 16 // dolby (AC3 + DTS)
#define MAXSPIDS 32 // subtitles
- #define MAXCAIDS 8 // conditional access
+ #define MAXCAIDS 12 // conditional access
+#define MAXTXTPAGES 8 // teletext pages
#define MAXLANGCODE1 4 // a 3 letter language code, zero terminated
@@ -99,7 +99,7 @@ index b867297..f9ff774 100644
void SetCaDescriptors(int Level);
void SetLinkChannels(cLinkChannels *LinkChannels);
diff --git a/pat.c b/pat.c
-index 56ad5ae..2172729 100644
+index b7493ec..d2b8ce8 100644
--- a/pat.c
+++ b/pat.c
@@ -343,6 +343,8 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
@@ -134,7 +134,7 @@ index 56ad5ae..2172729 100644
break;
case SI::ISO639LanguageDescriptorTag: {
SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
-@@ -490,6 +505,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
+@@ -537,6 +552,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
if (Setup.UpdateChannels >= 2) {
Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
@@ -143,10 +143,10 @@ index 56ad5ae..2172729 100644
Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
}
diff --git a/receiver.c b/receiver.c
-index 58dda78..a2c6781 100644
+index 6a9ba04..1312b9b 100644
--- a/receiver.c
+++ b/receiver.c
-@@ -82,7 +82,8 @@ bool cReceiver::SetPids(const cChannel *Channel)
+@@ -81,7 +81,8 @@ bool cReceiver::SetPids(const cChannel *Channel)
(Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) &&
AddPids(Channel->Apids()) &&
AddPids(Channel->Dpids()) &&
@@ -157,10 +157,10 @@ index 58dda78..a2c6781 100644
return true;
}
diff --git a/remux.c b/remux.c
-index 5206544..024c7c9 100644
+index f174f61..11e34c7 100644
--- a/remux.c
+++ b/remux.c
-@@ -215,6 +215,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua
+@@ -219,6 +219,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua
return i;
}
@@ -190,7 +190,7 @@ index 5206544..024c7c9 100644
int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language)
{
int i = 0;
-@@ -302,6 +325,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
+@@ -306,6 +329,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
if (Channel) {
int Vpid = Channel->Vpid();
int Ppid = Channel->Ppid();
@@ -198,7 +198,7 @@ index 5206544..024c7c9 100644
uchar *p = buf;
int i = 0;
p[i++] = 0x02; // table id
-@@ -334,6 +358,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
+@@ -338,6 +362,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
i += MakeStream(buf + i, 0x06, Channel->Spid(n));
i += MakeSubtitlingDescriptor(buf + i, Channel->Slang(n), Channel->SubtitlingType(n), Channel->CompositionPageId(n), Channel->AncillaryPageId(n));
}
@@ -209,7 +209,7 @@ index 5206544..024c7c9 100644
int sl = i - SectionLength - 2 + 4; // -2 = SectionLength storage, +4 = length of CRC
buf[SectionLength] |= (sl >> 8) & 0x0F;
-@@ -497,6 +525,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
+@@ -501,6 +529,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
spids[0] = 0;
atypes[0] = 0;
dtypes[0] = 0;
@@ -218,10 +218,10 @@ index 5206544..024c7c9 100644
for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());
diff --git a/remux.h b/remux.h
-index 7b62187..9cb8a7e 100644
+index 3204bb4..492044c 100644
--- a/remux.h
+++ b/remux.h
-@@ -171,6 +171,7 @@ protected:
+@@ -174,6 +174,7 @@ protected:
int MakeStream(uchar *Target, uchar Type, int Pid);
int MakeAC3Descriptor(uchar *Target, uchar Type);
int MakeSubtitlingDescriptor(uchar *Target, const char *Language, uchar SubtitlingType, uint16_t CompositionPageId, uint16_t AncillaryPageId);
@@ -229,7 +229,7 @@ index 7b62187..9cb8a7e 100644
int MakeLanguageDescriptor(uchar *Target, const char *Language);
int MakeCRC(uchar *Target, const uchar *Data, int Length);
void GeneratePmtPid(const cChannel *Channel);
-@@ -228,6 +229,8 @@ private:
+@@ -231,6 +232,8 @@ private:
uint16_t compositionPageIds[MAXSPIDS];
uint16_t ancillaryPageIds[MAXSPIDS];
bool updatePrimaryDevice;
@@ -239,5 +239,5 @@ index 7b62187..9cb8a7e 100644
int SectionLength(const uchar *Data, int Length) { return (Length >= 3) ? ((int(Data[1]) & 0x0F) << 8)| Data[2] : 0; }
public:
--
-1.7.1
+1.7.5.4
diff --git a/patches/patch-set.1.7.15/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch b/patches/patch-set.1.7.20/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch
index 812a99e..eda7723 100644
--- a/patches/patch-set.1.7.15/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch
+++ b/patches/patch-set.1.7.20/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch
@@ -1,4 +1,4 @@
-From 4ede25d08ba25bee414020ff2b4c76590ad3f92c Mon Sep 17 00:00:00 2001
+From 73a69fc122dd744f48d1d51e1b5747c67b5822dc Mon Sep 17 00:00:00 2001
From: etobi <git@e-tobi.net>
Date: Sat, 13 Feb 2010 14:42:30 +0100
Subject: [PATCH 2/6] Added setup option to enable teletext subtitle recording
@@ -37,7 +37,7 @@ Subject: [PATCH 2/6] Added setup option to enable teletext subtitle recording
30 files changed, 84 insertions(+), 1 deletions(-)
diff --git a/MANUAL b/MANUAL
-index 7fae53b..6b0ae57 100644
+index 54e166e..57b687f 100644
--- a/MANUAL
+++ b/MANUAL
@@ -730,6 +730,9 @@ Version 1.6
@@ -51,7 +51,7 @@ index 7fae53b..6b0ae57 100644
SLOF = 11700 The switching frequency (in MHz) between low and
diff --git a/config.c b/config.c
-index 73b11b1..f2eebe6 100644
+index 6767b5c..4137abb 100644
--- a/config.c
+++ b/config.c
@@ -333,6 +333,7 @@ cSetup::cSetup(void)
@@ -62,7 +62,7 @@ index 73b11b1..f2eebe6 100644
SubtitleLanguages[0] = -1;
SubtitleOffset = 0;
SubtitleFgTransparency = 0;
-@@ -524,6 +525,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
+@@ -525,6 +526,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value);
else if (!strcasecmp(Name, "AudioLanguages")) return ParseLanguages(Value, AudioLanguages);
else if (!strcasecmp(Name, "DisplaySubtitles")) DisplaySubtitles = atoi(Value);
@@ -70,7 +70,7 @@ index 73b11b1..f2eebe6 100644
else if (!strcasecmp(Name, "SubtitleLanguages")) return ParseLanguages(Value, SubtitleLanguages);
else if (!strcasecmp(Name, "SubtitleOffset")) SubtitleOffset = atoi(Value);
else if (!strcasecmp(Name, "SubtitleFgTransparency")) SubtitleFgTransparency = atoi(Value);
-@@ -620,6 +622,7 @@ bool cSetup::Save(void)
+@@ -621,6 +623,7 @@ bool cSetup::Save(void)
Store("MarginStop", MarginStop);
StoreLanguages("AudioLanguages", AudioLanguages);
Store("DisplaySubtitles", DisplaySubtitles);
@@ -79,7 +79,7 @@ index 73b11b1..f2eebe6 100644
Store("SubtitleOffset", SubtitleOffset);
Store("SubtitleFgTransparency", SubtitleFgTransparency);
diff --git a/config.h b/config.h
-index 7041eb7..289d4b6 100644
+index 19f8768..c4c2bc4 100644
--- a/config.h
+++ b/config.h
@@ -235,6 +235,7 @@ public:
@@ -91,10 +91,10 @@ index 7041eb7..289d4b6 100644
int SubtitleOffset;
int SubtitleFgTransparency, SubtitleBgTransparency;
diff --git a/menu.c b/menu.c
-index 19cfabb..d2deeb3 100644
+index 3978514..8831fb4 100644
--- a/menu.c
+++ b/menu.c
-@@ -2790,6 +2790,7 @@ void cMenuSetupDVB::Setup(void)
+@@ -2797,6 +2797,7 @@ void cMenuSetupDVB::Setup(void)
Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle foreground transparency"), &data.SubtitleFgTransparency, 0, 9));
Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle background transparency"), &data.SubtitleBgTransparency, 0, 10));
}
@@ -103,10 +103,10 @@ index 19cfabb..d2deeb3 100644
SetCurrent(Get(current));
Display();
diff --git a/po/ca_ES.po b/po/ca_ES.po
-index 247113b..aba1ae3 100644
+index 835f93d..0e973fa 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
-@@ -943,6 +943,9 @@ msgstr "Transpar
+@@ -944,6 +944,9 @@ msgstr "Transpar
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparncia fons subttols"
@@ -117,10 +117,10 @@ index 247113b..aba1ae3 100644
msgstr "Configuraci de l'LNB"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
-index f6313ba..aec6f4e 100644
+index e6ebdfd..bfc8085 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
-@@ -942,6 +942,9 @@ msgstr "Průhlednost písma titulků"
+@@ -943,6 +943,9 @@ msgstr "Průhlednost písma titulků"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Průhlednost pozadí titulků"
@@ -131,10 +131,10 @@ index f6313ba..aec6f4e 100644
msgstr "LNB"
diff --git a/po/da_DK.po b/po/da_DK.po
-index 40cdebd..192173d 100644
+index c837986..a7c0230 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
-@@ -940,6 +940,9 @@ msgstr "Undertekst forgrundsgennemsigtighed"
+@@ -941,6 +941,9 @@ msgstr "Undertekst forgrundsgennemsigtighed"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Undertekst baggrundsgennemsigtighed"
@@ -145,10 +145,10 @@ index 40cdebd..192173d 100644
msgstr "LNB"
diff --git a/po/de_DE.po b/po/de_DE.po
-index 4d4f3df..a3227a0 100644
+index 75dc3a6..b4f459c 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
-@@ -940,6 +940,9 @@ msgstr "Untertitel-Transparenz Vordergrund"
+@@ -941,6 +941,9 @@ msgstr "Untertitel-Transparenz Vordergrund"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Untertitel-Transparenz Hintergrund"
@@ -159,10 +159,10 @@ index 4d4f3df..a3227a0 100644
msgstr "LNB"
diff --git a/po/el_GR.po b/po/el_GR.po
-index 5414ebc..913f39e 100644
+index a35fa3b..46fdac5 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
-@@ -940,6 +940,9 @@ msgstr ""
+@@ -941,6 +941,9 @@ msgstr ""
msgid "Setup.DVB$Subtitle background transparency"
msgstr ""
@@ -173,10 +173,10 @@ index 5414ebc..913f39e 100644
msgstr "LNB"
diff --git a/po/es_ES.po b/po/es_ES.po
-index 217f775..78a9491 100644
+index 88b693e..afcf548 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
-@@ -941,6 +941,9 @@ msgstr "Transparencia primer plano subt
+@@ -942,6 +942,9 @@ msgstr "Transparencia primer plano subt
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparencia fondo subttulos"
@@ -187,10 +187,10 @@ index 217f775..78a9491 100644
msgstr "LNB"
diff --git a/po/et_EE.po b/po/et_EE.po
-index 5010dc4..af2e2d3 100644
+index 8c8ad1f..07d92f8 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
-@@ -940,6 +940,9 @@ msgstr "Subtiitri l
+@@ -941,6 +941,9 @@ msgstr "Subtiitri l
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Subtiitri tausta lbipaistvus"
@@ -201,10 +201,10 @@ index 5010dc4..af2e2d3 100644
msgstr "LNB"
diff --git a/po/fi_FI.po b/po/fi_FI.po
-index cd57e7c..e6a22bf 100644
+index 1b06c3f..0fda001 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
-@@ -943,6 +943,9 @@ msgstr "Tekstityksen läpinäkyvyys"
+@@ -944,6 +944,9 @@ msgstr "Tekstityksen läpinäkyvyys"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Tekstityksen taustan läpinäkyvyys"
@@ -215,10 +215,10 @@ index cd57e7c..e6a22bf 100644
msgstr "LNB"
diff --git a/po/fr_FR.po b/po/fr_FR.po
-index 0d4cb7c..770038e 100644
+index 68a581c..7a7d948 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
-@@ -946,6 +946,9 @@ msgstr "Transparence de l'avant-plan"
+@@ -947,6 +947,9 @@ msgstr "Transparence de l'avant-plan"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparence du fond"
@@ -229,10 +229,10 @@ index 0d4cb7c..770038e 100644
msgstr "LNB"
diff --git a/po/hr_HR.po b/po/hr_HR.po
-index 96ee695..51f596c 100644
+index 69104b4..aea74c6 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
-@@ -942,6 +942,9 @@ msgstr "Transparentnost titla"
+@@ -943,6 +943,9 @@ msgstr "Transparentnost titla"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparentnost pozadine titla"
@@ -243,10 +243,10 @@ index 96ee695..51f596c 100644
msgstr "LNB"
diff --git a/po/hu_HU.po b/po/hu_HU.po
-index a17b209..2f70812 100644
+index b7cf1a7..125ffe6 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
-@@ -943,6 +943,9 @@ msgstr "Felirat transzparenci
+@@ -944,6 +944,9 @@ msgstr "Felirat transzparenci
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Felirat htternek transzparencija"
@@ -257,10 +257,10 @@ index a17b209..2f70812 100644
msgstr "LNB"
diff --git a/po/it_IT.po b/po/it_IT.po
-index 89d4237..5a055b2 100644
+index 24e5412..02b33bd 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
-@@ -947,6 +947,9 @@ msgstr "Trasparenza sottotitoli"
+@@ -948,6 +948,9 @@ msgstr "Trasparenza sottotitoli"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Trasparenza sfondo sottotitoli"
@@ -271,10 +271,10 @@ index 89d4237..5a055b2 100644
msgstr "LNB"
diff --git a/po/lt_LT.po b/po/lt_LT.po
-index 02465e6..8b5d996 100644
+index a8dfcb9..adbac95 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
-@@ -940,6 +940,9 @@ msgstr "Subtitrų priekinio vaizdo permatomumas"
+@@ -941,6 +941,9 @@ msgstr "Subtitrų fonto permatomumas"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Subtitrų fono permatomumas"
@@ -285,10 +285,10 @@ index 02465e6..8b5d996 100644
msgstr "Konverteris (LNB)"
diff --git a/po/nl_NL.po b/po/nl_NL.po
-index f570337..73a02b3 100644
+index 66febc5..4fa7d9f 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
-@@ -944,6 +944,9 @@ msgstr "Transparantie voorgrond ondertiteling"
+@@ -945,6 +945,9 @@ msgstr "Transparantie voorgrond ondertiteling"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparantie achtergrond ondertiteling"
@@ -299,10 +299,10 @@ index f570337..73a02b3 100644
msgstr "LNB"
diff --git a/po/nn_NO.po b/po/nn_NO.po
-index 2f40cfe..0934c9a 100644
+index a49ab6b..24e697d 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
-@@ -941,6 +941,9 @@ msgstr ""
+@@ -942,6 +942,9 @@ msgstr ""
msgid "Setup.DVB$Subtitle background transparency"
msgstr ""
@@ -313,10 +313,10 @@ index 2f40cfe..0934c9a 100644
msgstr "LNB"
diff --git a/po/pl_PL.po b/po/pl_PL.po
-index 9620e1b..39057fd 100644
+index e56f3bf..3202caf 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
-@@ -941,6 +941,9 @@ msgstr "Prze
+@@ -942,6 +942,9 @@ msgstr "Prze
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Przerocze podtytuw: To"
@@ -327,12 +327,12 @@ index 9620e1b..39057fd 100644
msgstr "LNB"
diff --git a/po/pt_PT.po b/po/pt_PT.po
-index 0510d9d..3bea1f1 100644
+index 2eae063..39319b9 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
-@@ -940,6 +940,9 @@ msgstr "Transpar
+@@ -942,6 +942,9 @@ msgstr "Transpar
msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparncia de background das legendas"
+ msgstr "Transparncia de fundo das legendas"
+msgid "Setup.DVB$Enable teletext support"
+msgstr ""
@@ -341,10 +341,10 @@ index 0510d9d..3bea1f1 100644
msgstr "LNB"
diff --git a/po/ro_RO.po b/po/ro_RO.po
-index e0a2119..1d4a412 100644
+index cd1a4d0..d4bd3db 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
-@@ -943,6 +943,9 @@ msgstr "Transparen
+@@ -944,6 +944,9 @@ msgstr "Transparen
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparena fundalului subtitrrii"
@@ -355,10 +355,10 @@ index e0a2119..1d4a412 100644
msgstr "LNB"
diff --git a/po/ru_RU.po b/po/ru_RU.po
-index 889b98b..89029e1 100644
+index 57210f0..ac7b507 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
-@@ -941,6 +941,9 @@ msgstr "
+@@ -942,6 +942,9 @@ msgstr "
msgid "Setup.DVB$Subtitle background transparency"
msgstr " "
@@ -369,7 +369,7 @@ index 889b98b..89029e1 100644
msgstr ""
diff --git a/po/sk_SK.po b/po/sk_SK.po
-index 129fad3..eff0bd1 100644
+index a8faa76..e46ae57 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -941,6 +941,9 @@ msgstr "Prieh
@@ -383,10 +383,10 @@ index 129fad3..eff0bd1 100644
msgstr "LNB"
diff --git a/po/sl_SI.po b/po/sl_SI.po
-index 9f1e806..7f2bdd7 100644
+index 2e6667d..8cc86bd 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
-@@ -941,6 +941,9 @@ msgstr "Transparentnost podnapisov"
+@@ -942,6 +942,9 @@ msgstr "Transparentnost podnapisov"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparentnost ozadja podnapisov"
@@ -397,10 +397,10 @@ index 9f1e806..7f2bdd7 100644
msgstr "LNB"
diff --git a/po/sv_SE.po b/po/sv_SE.po
-index e9d39dd..9c366d2 100644
+index 41b6592..99e166b 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
-@@ -943,6 +943,9 @@ msgstr "Transparent f
+@@ -944,6 +944,9 @@ msgstr "Transparent f
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparent bakgrund textremsa"
@@ -411,10 +411,10 @@ index e9d39dd..9c366d2 100644
msgstr "LNB"
diff --git a/po/tr_TR.po b/po/tr_TR.po
-index 9acd1c1..50a6295 100644
+index b0ad00f..2831961 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
-@@ -940,6 +940,9 @@ msgstr "Altyaz
+@@ -941,6 +941,9 @@ msgstr "Altyaz
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Altyaz arka effaflk"
@@ -425,10 +425,10 @@ index 9acd1c1..50a6295 100644
msgstr "LNB"
diff --git a/po/uk_UA.po b/po/uk_UA.po
-index b62fca7..25e7095 100644
+index f316e29..5e7c5ea 100644
--- a/po/uk_UA.po
+++ b/po/uk_UA.po
-@@ -940,6 +940,9 @@ msgstr "Прозорість переднього плану субтитрів"
+@@ -941,6 +941,9 @@ msgstr "Прозорість переднього плану субтитрів"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Прозорість заднього плану субтитрів"
@@ -439,10 +439,10 @@ index b62fca7..25e7095 100644
msgstr "Конвертер"
diff --git a/po/zh_CN.po b/po/zh_CN.po
-index bffa301..141c362 100644
+index 11ccd84..49bb638 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
-@@ -943,6 +943,9 @@ msgstr "字幕前景透明度"
+@@ -944,6 +944,9 @@ msgstr "字幕前景透明度"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "字幕背景透明度"
@@ -453,10 +453,10 @@ index bffa301..141c362 100644
msgstr "切换器设置"
diff --git a/receiver.c b/receiver.c
-index a2c6781..ed28f1b 100644
+index 1312b9b..a5c8967 100644
--- a/receiver.c
+++ b/receiver.c
-@@ -83,7 +83,7 @@ bool cReceiver::SetPids(const cChannel *Channel)
+@@ -82,7 +82,7 @@ bool cReceiver::SetPids(const cChannel *Channel)
AddPids(Channel->Apids()) &&
AddPids(Channel->Dpids()) &&
AddPids(Channel->Spids()) &&
@@ -466,5 +466,5 @@ index a2c6781..ed28f1b 100644
return true;
}
--
-1.7.1
+1.7.5.4
diff --git a/patches/patch-set.1.7.15/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch b/patches/patch-set.1.7.20/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch
index 3964267..36f8040 100644
--- a/patches/patch-set.1.7.15/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch
+++ b/patches/patch-set.1.7.20/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch
@@ -1,7 +1,8 @@
-From 261f539f0dc1d84fe7a032bac2ec16434d9851e7 Mon Sep 17 00:00:00 2001
+From eb49859708903842aaf85b8cc0f91d45722907bb Mon Sep 17 00:00:00 2001
From: etobi <git@e-tobi.net>
Date: Fri, 12 Feb 2010 21:56:41 +0100
-Subject: [PATCH 3/6] Allow manual configuration of teletetxt subtitle pages in channels.conf
+Subject: [PATCH 3/6] Allow manual configuration of teletetxt subtitle pages
+ in channels.conf
---
channels.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++-----
@@ -10,10 +11,10 @@ Subject: [PATCH 3/6] Allow manual configuration of teletetxt subtitle pages in c
3 files changed, 56 insertions(+), 5 deletions(-)
diff --git a/channels.c b/channels.c
-index ebb6665..8e7e1a1 100644
+index 907688e..76b9338 100644
--- a/channels.c
+++ b/channels.c
-@@ -379,9 +379,9 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
+@@ -381,9 +381,9 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages)
{
int mod = CHANNELMOD_NONE;
@@ -25,7 +26,7 @@ index ebb6665..8e7e1a1 100644
for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) {
if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine ||
teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage ||
-@@ -524,11 +524,22 @@ cString cChannel::ToText(const cChannel *Channel)
+@@ -526,11 +526,22 @@ cString cChannel::ToText(const cChannel *Channel)
q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes);
}
*q = 0;
@@ -49,7 +50,7 @@ index ebb6665..8e7e1a1 100644
}
return buffer;
}
-@@ -562,8 +573,9 @@ bool cChannel::Parse(const char *s)
+@@ -564,8 +575,9 @@ bool cChannel::Parse(const char *s)
char *parambuf = NULL;
char *vpidbuf = NULL;
char *apidbuf = NULL;
@@ -60,7 +61,7 @@ index ebb6665..8e7e1a1 100644
if (fields >= 9) {
if (fields == 9) {
// allow reading of old format
-@@ -662,7 +674,37 @@ bool cChannel::Parse(const char *s)
+@@ -664,7 +676,37 @@ bool cChannel::Parse(const char *s)
dpids[NumDpids] = 0;
dtypes[NumDpids] = 0;
}
@@ -99,7 +100,7 @@ index ebb6665..8e7e1a1 100644
if (caidbuf) {
char *p = caidbuf;
char *q;
-@@ -699,6 +741,7 @@ bool cChannel::Parse(const char *s)
+@@ -701,6 +743,7 @@ bool cChannel::Parse(const char *s)
free(sourcebuf);
free(vpidbuf);
free(apidbuf);
@@ -108,7 +109,7 @@ index ebb6665..8e7e1a1 100644
free(namebuf);
if (!GetChannelID().Valid()) {
diff --git a/channels.h b/channels.h
-index f9ff774..63c8b9c 100644
+index 3fc443c..6e7367f 100644
--- a/channels.h
+++ b/channels.h
@@ -126,6 +126,7 @@ private:
@@ -120,7 +121,7 @@ index f9ff774..63c8b9c 100644
tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES];
int caids[MAXCAIDS + 1]; // list is zero-terminated
diff --git a/vdr.5 b/vdr.5
-index 68711b5..9b8ed05 100644
+index 6274c1a..dff559d 100644
--- a/vdr.5
+++ b/vdr.5
@@ -214,6 +214,13 @@ if there is an audio type.
@@ -138,5 +139,5 @@ index 68711b5..9b8ed05 100644
.B Conditional access
A hexadecimal integer defining how this channel can be accessed:
--
-1.7.1
+1.7.5.4
diff --git a/patches/patch-set.1.7.20/0004-Decrypt-teletext-stream.patch b/patches/patch-set.1.7.20/0004-Decrypt-teletext-stream.patch
new file mode 100644
index 0000000..f92a5ae
--- /dev/null
+++ b/patches/patch-set.1.7.20/0004-Decrypt-teletext-stream.patch
@@ -0,0 +1,35 @@
+From ac44ba83d8bfdd36fc41d42947c09e365e5f33b1 Mon Sep 17 00:00:00 2001
+From: etobi <git@e-tobi.net>
+Date: Sun, 14 Feb 2010 01:30:34 +0100
+Subject: [PATCH 4/6] Decrypt teletext stream
+
+---
+ ci.c | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/ci.c b/ci.c
+index 59d62ef..b024f67 100644
+--- a/ci.c
++++ b/ci.c
+@@ -1913,6 +1913,8 @@ void cCamSlot::AddChannel(const cChannel *Channel)
+ AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
+ for (const int *Spid = Channel->Spids(); *Spid; Spid++)
+ AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
++ if (Channel->Tpid() && Setup.SupportTeletext)
++ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_PRIVATE);
+ }
+ }
+
+@@ -1936,6 +1938,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
+ CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
+ for (const int *Spid = Channel->Spids(); *Spid; Spid++)
+ CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
++ if (Channel->Tpid() && Setup.SupportTeletext) {
++ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE);
++ }
+ cas->SendPMT(&CaPmt);
+ cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
+ do {
+--
+1.7.5.4
+
diff --git a/patches/patch-set.1.7.15/0005-Capture-teletext-subtitle-pages-from-PMT.patch b/patches/patch-set.1.7.20/0005-Capture-teletext-subtitle-pages-from-PMT.patch
index 627a327..acb5725 100644
--- a/patches/patch-set.1.7.15/0005-Capture-teletext-subtitle-pages-from-PMT.patch
+++ b/patches/patch-set.1.7.20/0005-Capture-teletext-subtitle-pages-from-PMT.patch
@@ -1,4 +1,4 @@
-From e4224634d1f8a3a07cf5f2c3f6e43333f0c376c7 Mon Sep 17 00:00:00 2001
+From 8ffcf9b992ec861604034b312ddb8dd14358bc60 Mon Sep 17 00:00:00 2001
From: etobi <git@e-tobi.net>
Date: Fri, 12 Feb 2010 22:06:19 +0100
Subject: [PATCH 5/6] Capture teletext subtitle pages from PMT
@@ -9,10 +9,10 @@ Subject: [PATCH 5/6] Capture teletext subtitle pages from PMT
2 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/remux.c b/remux.c
-index 024c7c9..eea5c07 100644
+index 11e34c7..0c1b361 100644
--- a/remux.c
+++ b/remux.c
-@@ -435,6 +435,7 @@ void cPatPmtParser::Reset(void)
+@@ -439,6 +439,7 @@ void cPatPmtParser::Reset(void)
pmtPid = -1;
vpid = vtype = 0;
ppid = 0;
@@ -20,7 +20,7 @@ index 024c7c9..eea5c07 100644
}
void cPatPmtParser::ParsePat(const uchar *Data, int Length)
-@@ -520,6 +521,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
+@@ -524,6 +525,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
int NumSpids = 0;
vpid = vtype = 0;
ppid = 0;
@@ -28,7 +28,7 @@ index 024c7c9..eea5c07 100644
apids[0] = 0;
dpids[0] = 0;
spids[0] = 0;
-@@ -624,6 +626,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
+@@ -628,6 +630,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
spids[NumSpids]= 0;
}
break;
@@ -58,10 +58,10 @@ index 024c7c9..eea5c07 100644
SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
dbgpatpmt(" '%s'", ld->languageCode);
diff --git a/remux.h b/remux.h
-index 9cb8a7e..511d604 100644
+index 492044c..23fb645 100644
--- a/remux.h
+++ b/remux.h
-@@ -217,6 +217,7 @@ private:
+@@ -220,6 +220,7 @@ private:
int vpid;
int ppid;
int vtype;
@@ -69,7 +69,7 @@ index 9cb8a7e..511d604 100644
int apids[MAXAPIDS + 1]; // list is zero-terminated
int atypes[MAXAPIDS + 1]; // list is zero-terminated
char alangs[MAXAPIDS][MAXLANGCODE2];
-@@ -263,6 +264,9 @@ public:
+@@ -266,6 +267,9 @@ public:
int Vtype(void) const { return vtype; }
///< Returns the video stream type as defined by the current PMT, or 0 if no video
///< stream type has been detected, yet.
@@ -79,7 +79,7 @@ index 9cb8a7e..511d604 100644
const int *Apids(void) const { return apids; }
const int *Dpids(void) const { return dpids; }
const int *Spids(void) const { return spids; }
-@@ -277,6 +281,7 @@ public:
+@@ -280,6 +284,7 @@ public:
uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); }
uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
@@ -88,5 +88,5 @@ index 9cb8a7e..511d604 100644
// TS to PES converter:
--
-1.7.1
+1.7.5.4
diff --git a/patches/patch-set.1.7.15/0006-Ttxtsubs-plugin-hook.patch b/patches/patch-set.1.7.20/0006-Ttxtsubs-plugin-hook.patch
index 3bbdf82..a961eba 100644
--- a/patches/patch-set.1.7.15/0006-Ttxtsubs-plugin-hook.patch
+++ b/patches/patch-set.1.7.20/0006-Ttxtsubs-plugin-hook.patch
@@ -1,4 +1,4 @@
-From 4cf2bdca0d81dc419315657cea0087bd905e078f Mon Sep 17 00:00:00 2001
+From fd8e60b778faa10adeffa96fa0c734d8b0f8384f Mon Sep 17 00:00:00 2001
From: etobi <git@e-tobi.net>
Date: Sat, 13 Feb 2010 00:28:21 +0100
Subject: [PATCH 6/6] Ttxtsubs plugin hook
@@ -16,10 +16,10 @@ Subject: [PATCH 6/6] Ttxtsubs plugin hook
create mode 100644 vdrttxtsubshooks.h
diff --git a/Makefile b/Makefile
-index d788484..f854b2e 100644
+index 18d7eb9..3da4382 100644
--- a/Makefile
+++ b/Makefile
-@@ -44,6 +44,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
+@@ -45,6 +45,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
timers.o tools.o transfer.o vdr.o videodir.o
@@ -29,7 +29,7 @@ index d788484..f854b2e 100644
DEFINES += -DREMOTE_KBD
endif
diff --git a/device.c b/device.c
-index 681049b..4dbd920 100644
+index 0759993..f4b3e2a 100644
--- a/device.c
+++ b/device.c
@@ -18,6 +18,7 @@
@@ -40,7 +40,7 @@ index 681049b..4dbd920 100644
// --- cLiveSubtitle ---------------------------------------------------------
-@@ -1223,6 +1224,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
+@@ -1245,6 +1246,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
}
break;
case 0xBD: { // private stream 1
@@ -54,7 +54,7 @@ index 681049b..4dbd920 100644
int PayloadOffset = Data[8] + 9;
// Compatibility mode for old subtitles plugin:
-@@ -1382,6 +1390,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
+@@ -1404,6 +1412,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
tsToPesVideo.Reset();
tsToPesAudio.Reset();
tsToPesSubtitle.Reset();
@@ -62,7 +62,7 @@ index 681049b..4dbd920 100644
}
else if (Length < TS_SIZE) {
esyslog("ERROR: skipped %d bytes of TS fragment", Length);
-@@ -1427,6 +1436,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
+@@ -1449,6 +1458,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
if (!VideoOnly || HasIBPTrickSpeed())
PlayTsSubtitle(Data, TS_SIZE);
}
@@ -81,10 +81,10 @@ index 681049b..4dbd920 100644
}
else if (Pid == patPmtParser.Ppid()) {
diff --git a/device.h b/device.h
-index cb3bc2c..f531e70 100644
+index d937e5f..841a5d4 100644
--- a/device.h
+++ b/device.h
-@@ -522,6 +522,7 @@ private:
+@@ -534,6 +534,7 @@ private:
cTsToPes tsToPesVideo;
cTsToPes tsToPesAudio;
cTsToPes tsToPesSubtitle;
@@ -93,7 +93,7 @@ index cb3bc2c..f531e70 100644
protected:
const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; }
diff --git a/pat.c b/pat.c
-index 2172729..e313e23 100644
+index d2b8ce8..9262491 100644
--- a/pat.c
+++ b/pat.c
@@ -13,6 +13,7 @@
@@ -104,7 +104,7 @@ index 2172729..e313e23 100644
#define PMT_SCAN_TIMEOUT 10 // seconds
-@@ -505,6 +506,11 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
+@@ -552,6 +553,11 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
if (Setup.UpdateChannels >= 2) {
Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
@@ -117,10 +117,10 @@ index 2172729..e313e23 100644
Channel->SetCaIds(CaDescriptors->CaIds());
Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
diff --git a/remux.h b/remux.h
-index 511d604..6f816dc 100644
+index 23fb645..d6b0274 100644
--- a/remux.h
+++ b/remux.h
-@@ -281,7 +281,8 @@ public:
+@@ -284,7 +284,8 @@ public:
uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); }
uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
@@ -252,5 +252,5 @@ index 0000000..2f97969
+
+#endif
--
-1.7.1
+1.7.5.4
diff --git a/patches/vdr-1.7.15-ttxtsubs.patch b/patches/vdr-1.7.20-ttxtsubs.patch
index b7753a3..159d1a4 100644
--- a/patches/vdr-1.7.15-ttxtsubs.patch
+++ b/patches/vdr-1.7.20-ttxtsubs.patch
@@ -1,5 +1,5 @@
diff --git a/MANUAL b/MANUAL
-index 7fae53b..6b0ae57 100644
+index 54e166e..57b687f 100644
--- a/MANUAL
+++ b/MANUAL
@@ -730,6 +730,9 @@ Version 1.6
@@ -13,10 +13,10 @@ index 7fae53b..6b0ae57 100644
SLOF = 11700 The switching frequency (in MHz) between low and
diff --git a/Makefile b/Makefile
-index d788484..f854b2e 100644
+index 18d7eb9..3da4382 100644
--- a/Makefile
+++ b/Makefile
-@@ -44,6 +44,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
+@@ -45,6 +45,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
timers.o tools.o transfer.o vdr.o videodir.o
@@ -26,10 +26,10 @@ index d788484..f854b2e 100644
DEFINES += -DREMOTE_KBD
endif
diff --git a/channels.c b/channels.c
-index ebc7eb1..8e7e1a1 100644
+index c689850..76b9338 100644
--- a/channels.c
+++ b/channels.c
-@@ -376,6 +376,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
+@@ -378,6 +378,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
}
}
@@ -56,7 +56,7 @@ index ebc7eb1..8e7e1a1 100644
void cChannel::SetCaIds(const int *CaIds)
{
if (caids[0] && caids[0] <= CA_USER_MAX)
-@@ -504,11 +524,22 @@ cString cChannel::ToText(const cChannel *Channel)
+@@ -506,11 +526,22 @@ cString cChannel::ToText(const cChannel *Channel)
q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes);
}
*q = 0;
@@ -80,7 +80,7 @@ index ebc7eb1..8e7e1a1 100644
}
return buffer;
}
-@@ -542,8 +573,9 @@ bool cChannel::Parse(const char *s)
+@@ -544,8 +575,9 @@ bool cChannel::Parse(const char *s)
char *parambuf = NULL;
char *vpidbuf = NULL;
char *apidbuf = NULL;
@@ -91,7 +91,7 @@ index ebc7eb1..8e7e1a1 100644
if (fields >= 9) {
if (fields == 9) {
// allow reading of old format
-@@ -642,7 +674,37 @@ bool cChannel::Parse(const char *s)
+@@ -644,7 +676,37 @@ bool cChannel::Parse(const char *s)
dpids[NumDpids] = 0;
dtypes[NumDpids] = 0;
}
@@ -130,7 +130,7 @@ index ebc7eb1..8e7e1a1 100644
if (caidbuf) {
char *p = caidbuf;
char *q;
-@@ -679,6 +741,7 @@ bool cChannel::Parse(const char *s)
+@@ -681,6 +743,7 @@ bool cChannel::Parse(const char *s)
free(sourcebuf);
free(vpidbuf);
free(apidbuf);
@@ -139,13 +139,13 @@ index ebc7eb1..8e7e1a1 100644
free(namebuf);
if (!GetChannelID().Valid()) {
diff --git a/channels.h b/channels.h
-index b867297..63c8b9c 100644
+index 51f9830..6e7367f 100644
--- a/channels.h
+++ b/channels.h
@@ -35,6 +35,7 @@
#define MAXDPIDS 16 // dolby (AC3 + DTS)
#define MAXSPIDS 32 // subtitles
- #define MAXCAIDS 8 // conditional access
+ #define MAXCAIDS 12 // conditional access
+#define MAXTXTPAGES 8 // teletext pages
#define MAXLANGCODE1 4 // a 3 letter language code, zero terminated
@@ -195,30 +195,30 @@ index b867297..63c8b9c 100644
void SetCaDescriptors(int Level);
void SetLinkChannels(cLinkChannels *LinkChannels);
diff --git a/ci.c b/ci.c
-index 6c7b031..22fda9f 100644
+index 59d62ef..b024f67 100644
--- a/ci.c
+++ b/ci.c
-@@ -1911,6 +1911,8 @@ void cCamSlot::AddChannel(const cChannel *Channel)
- AddPid(Channel->Sid(), *Apid, STREAM_TYPE_AUDIO);
- for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
- AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_DOLBY);
+@@ -1913,6 +1913,8 @@ void cCamSlot::AddChannel(const cChannel *Channel)
+ AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
+ for (const int *Spid = Channel->Spids(); *Spid; Spid++)
+ AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
+ if (Channel->Tpid() && Setup.SupportTeletext)
-+ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_DOLBY);
++ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_PRIVATE);
}
}
-@@ -1932,6 +1934,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
- CaPmt.AddPid(*Apid, STREAM_TYPE_AUDIO);
- for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++)
- CaPmt.AddPid(*Dpid, STREAM_TYPE_DOLBY);
+@@ -1936,6 +1938,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
+ CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
+ for (const int *Spid = Channel->Spids(); *Spid; Spid++)
+ CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
+ if (Channel->Tpid() && Setup.SupportTeletext) {
-+ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_DOLBY); // FIXME: STREAM_TYPE_DOLBY should probably be renamed STREAM_TYPE_PRIVATE
++ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE);
+ }
cas->SendPMT(&CaPmt);
cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
do {
diff --git a/config.c b/config.c
-index 73b11b1..f2eebe6 100644
+index 6767b5c..4137abb 100644
--- a/config.c
+++ b/config.c
@@ -333,6 +333,7 @@ cSetup::cSetup(void)
@@ -229,7 +229,7 @@ index 73b11b1..f2eebe6 100644
SubtitleLanguages[0] = -1;
SubtitleOffset = 0;
SubtitleFgTransparency = 0;
-@@ -524,6 +525,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
+@@ -525,6 +526,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value);
else if (!strcasecmp(Name, "AudioLanguages")) return ParseLanguages(Value, AudioLanguages);
else if (!strcasecmp(Name, "DisplaySubtitles")) DisplaySubtitles = atoi(Value);
@@ -237,7 +237,7 @@ index 73b11b1..f2eebe6 100644
else if (!strcasecmp(Name, "SubtitleLanguages")) return ParseLanguages(Value, SubtitleLanguages);
else if (!strcasecmp(Name, "SubtitleOffset")) SubtitleOffset = atoi(Value);
else if (!strcasecmp(Name, "SubtitleFgTransparency")) SubtitleFgTransparency = atoi(Value);
-@@ -620,6 +622,7 @@ bool cSetup::Save(void)
+@@ -621,6 +623,7 @@ bool cSetup::Save(void)
Store("MarginStop", MarginStop);
StoreLanguages("AudioLanguages", AudioLanguages);
Store("DisplaySubtitles", DisplaySubtitles);
@@ -246,7 +246,7 @@ index 73b11b1..f2eebe6 100644
Store("SubtitleOffset", SubtitleOffset);
Store("SubtitleFgTransparency", SubtitleFgTransparency);
diff --git a/config.h b/config.h
-index 7041eb7..289d4b6 100644
+index 19f8768..c4c2bc4 100644
--- a/config.h
+++ b/config.h
@@ -235,6 +235,7 @@ public:
@@ -258,7 +258,7 @@ index 7041eb7..289d4b6 100644
int SubtitleOffset;
int SubtitleFgTransparency, SubtitleBgTransparency;
diff --git a/device.c b/device.c
-index 681049b..4dbd920 100644
+index 0759993..f4b3e2a 100644
--- a/device.c
+++ b/device.c
@@ -18,6 +18,7 @@
@@ -269,7 +269,7 @@ index 681049b..4dbd920 100644
// --- cLiveSubtitle ---------------------------------------------------------
-@@ -1223,6 +1224,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
+@@ -1245,6 +1246,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
}
break;
case 0xBD: { // private stream 1
@@ -283,7 +283,7 @@ index 681049b..4dbd920 100644
int PayloadOffset = Data[8] + 9;
// Compatibility mode for old subtitles plugin:
-@@ -1382,6 +1390,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
+@@ -1404,6 +1412,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
tsToPesVideo.Reset();
tsToPesAudio.Reset();
tsToPesSubtitle.Reset();
@@ -291,7 +291,7 @@ index 681049b..4dbd920 100644
}
else if (Length < TS_SIZE) {
esyslog("ERROR: skipped %d bytes of TS fragment", Length);
-@@ -1427,6 +1436,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
+@@ -1449,6 +1458,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
if (!VideoOnly || HasIBPTrickSpeed())
PlayTsSubtitle(Data, TS_SIZE);
}
@@ -310,10 +310,10 @@ index 681049b..4dbd920 100644
}
else if (Pid == patPmtParser.Ppid()) {
diff --git a/device.h b/device.h
-index cb3bc2c..f531e70 100644
+index d937e5f..841a5d4 100644
--- a/device.h
+++ b/device.h
-@@ -522,6 +522,7 @@ private:
+@@ -534,6 +534,7 @@ private:
cTsToPes tsToPesVideo;
cTsToPes tsToPesAudio;
cTsToPes tsToPesSubtitle;
@@ -322,10 +322,10 @@ index cb3bc2c..f531e70 100644
protected:
const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; }
diff --git a/menu.c b/menu.c
-index 19cfabb..d2deeb3 100644
+index 3978514..8831fb4 100644
--- a/menu.c
+++ b/menu.c
-@@ -2790,6 +2790,7 @@ void cMenuSetupDVB::Setup(void)
+@@ -2797,6 +2797,7 @@ void cMenuSetupDVB::Setup(void)
Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle foreground transparency"), &data.SubtitleFgTransparency, 0, 9));
Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle background transparency"), &data.SubtitleBgTransparency, 0, 10));
}
@@ -334,7 +334,7 @@ index 19cfabb..d2deeb3 100644
SetCurrent(Get(current));
Display();
diff --git a/pat.c b/pat.c
-index 56ad5ae..e313e23 100644
+index b7493ec..9262491 100644
--- a/pat.c
+++ b/pat.c
@@ -13,6 +13,7 @@
@@ -377,7 +377,7 @@ index 56ad5ae..e313e23 100644
break;
case SI::ISO639LanguageDescriptorTag: {
SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
-@@ -490,6 +506,12 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
+@@ -537,6 +553,12 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
}
if (Setup.UpdateChannels >= 2) {
Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
@@ -391,10 +391,10 @@ index 56ad5ae..e313e23 100644
Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
}
diff --git a/po/ca_ES.po b/po/ca_ES.po
-index 247113b..aba1ae3 100644
+index 835f93d..0e973fa 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
-@@ -943,6 +943,9 @@ msgstr "Transpar
+@@ -944,6 +944,9 @@ msgstr "Transpar
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparncia fons subttols"
@@ -405,10 +405,10 @@ index 247113b..aba1ae3 100644
msgstr "Configuraci de l'LNB"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
-index f6313ba..aec6f4e 100644
+index e6ebdfd..bfc8085 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
-@@ -942,6 +942,9 @@ msgstr "Průhlednost písma titulků"
+@@ -943,6 +943,9 @@ msgstr "Průhlednost písma titulků"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Průhlednost pozadí titulků"
@@ -419,10 +419,10 @@ index f6313ba..aec6f4e 100644
msgstr "LNB"
diff --git a/po/da_DK.po b/po/da_DK.po
-index 40cdebd..192173d 100644
+index c837986..a7c0230 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
-@@ -940,6 +940,9 @@ msgstr "Undertekst forgrundsgennemsigtighed"
+@@ -941,6 +941,9 @@ msgstr "Undertekst forgrundsgennemsigtighed"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Undertekst baggrundsgennemsigtighed"
@@ -433,10 +433,10 @@ index 40cdebd..192173d 100644
msgstr "LNB"
diff --git a/po/de_DE.po b/po/de_DE.po
-index 4d4f3df..a3227a0 100644
+index 75dc3a6..b4f459c 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
-@@ -940,6 +940,9 @@ msgstr "Untertitel-Transparenz Vordergrund"
+@@ -941,6 +941,9 @@ msgstr "Untertitel-Transparenz Vordergrund"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Untertitel-Transparenz Hintergrund"
@@ -447,10 +447,10 @@ index 4d4f3df..a3227a0 100644
msgstr "LNB"
diff --git a/po/el_GR.po b/po/el_GR.po
-index 5414ebc..913f39e 100644
+index a35fa3b..46fdac5 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
-@@ -940,6 +940,9 @@ msgstr ""
+@@ -941,6 +941,9 @@ msgstr ""
msgid "Setup.DVB$Subtitle background transparency"
msgstr ""
@@ -461,10 +461,10 @@ index 5414ebc..913f39e 100644
msgstr "LNB"
diff --git a/po/es_ES.po b/po/es_ES.po
-index 217f775..78a9491 100644
+index 88b693e..afcf548 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
-@@ -941,6 +941,9 @@ msgstr "Transparencia primer plano subt
+@@ -942,6 +942,9 @@ msgstr "Transparencia primer plano subt
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparencia fondo subttulos"
@@ -475,10 +475,10 @@ index 217f775..78a9491 100644
msgstr "LNB"
diff --git a/po/et_EE.po b/po/et_EE.po
-index 5010dc4..af2e2d3 100644
+index 8c8ad1f..07d92f8 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
-@@ -940,6 +940,9 @@ msgstr "Subtiitri l
+@@ -941,6 +941,9 @@ msgstr "Subtiitri l
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Subtiitri tausta lbipaistvus"
@@ -489,10 +489,10 @@ index 5010dc4..af2e2d3 100644
msgstr "LNB"
diff --git a/po/fi_FI.po b/po/fi_FI.po
-index cd57e7c..e6a22bf 100644
+index 1b06c3f..0fda001 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
-@@ -943,6 +943,9 @@ msgstr "Tekstityksen läpinäkyvyys"
+@@ -944,6 +944,9 @@ msgstr "Tekstityksen läpinäkyvyys"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Tekstityksen taustan läpinäkyvyys"
@@ -503,10 +503,10 @@ index cd57e7c..e6a22bf 100644
msgstr "LNB"
diff --git a/po/fr_FR.po b/po/fr_FR.po
-index 0d4cb7c..770038e 100644
+index 68a581c..7a7d948 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
-@@ -946,6 +946,9 @@ msgstr "Transparence de l'avant-plan"
+@@ -947,6 +947,9 @@ msgstr "Transparence de l'avant-plan"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparence du fond"
@@ -517,10 +517,10 @@ index 0d4cb7c..770038e 100644
msgstr "LNB"
diff --git a/po/hr_HR.po b/po/hr_HR.po
-index 96ee695..51f596c 100644
+index 69104b4..aea74c6 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
-@@ -942,6 +942,9 @@ msgstr "Transparentnost titla"
+@@ -943,6 +943,9 @@ msgstr "Transparentnost titla"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparentnost pozadine titla"
@@ -531,10 +531,10 @@ index 96ee695..51f596c 100644
msgstr "LNB"
diff --git a/po/hu_HU.po b/po/hu_HU.po
-index a17b209..2f70812 100644
+index b7cf1a7..125ffe6 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
-@@ -943,6 +943,9 @@ msgstr "Felirat transzparenci
+@@ -944,6 +944,9 @@ msgstr "Felirat transzparenci
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Felirat htternek transzparencija"
@@ -545,10 +545,10 @@ index a17b209..2f70812 100644
msgstr "LNB"
diff --git a/po/it_IT.po b/po/it_IT.po
-index 89d4237..5a055b2 100644
+index 24e5412..02b33bd 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
-@@ -947,6 +947,9 @@ msgstr "Trasparenza sottotitoli"
+@@ -948,6 +948,9 @@ msgstr "Trasparenza sottotitoli"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Trasparenza sfondo sottotitoli"
@@ -559,10 +559,10 @@ index 89d4237..5a055b2 100644
msgstr "LNB"
diff --git a/po/lt_LT.po b/po/lt_LT.po
-index 02465e6..8b5d996 100644
+index a8dfcb9..adbac95 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
-@@ -940,6 +940,9 @@ msgstr "Subtitrų priekinio vaizdo permatomumas"
+@@ -941,6 +941,9 @@ msgstr "Subtitrų fonto permatomumas"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Subtitrų fono permatomumas"
@@ -573,10 +573,10 @@ index 02465e6..8b5d996 100644
msgstr "Konverteris (LNB)"
diff --git a/po/nl_NL.po b/po/nl_NL.po
-index f570337..73a02b3 100644
+index 66febc5..4fa7d9f 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
-@@ -944,6 +944,9 @@ msgstr "Transparantie voorgrond ondertiteling"
+@@ -945,6 +945,9 @@ msgstr "Transparantie voorgrond ondertiteling"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparantie achtergrond ondertiteling"
@@ -587,10 +587,10 @@ index f570337..73a02b3 100644
msgstr "LNB"
diff --git a/po/nn_NO.po b/po/nn_NO.po
-index 2f40cfe..0934c9a 100644
+index a49ab6b..24e697d 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
-@@ -941,6 +941,9 @@ msgstr ""
+@@ -942,6 +942,9 @@ msgstr ""
msgid "Setup.DVB$Subtitle background transparency"
msgstr ""
@@ -601,10 +601,10 @@ index 2f40cfe..0934c9a 100644
msgstr "LNB"
diff --git a/po/pl_PL.po b/po/pl_PL.po
-index 9620e1b..39057fd 100644
+index e56f3bf..3202caf 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
-@@ -941,6 +941,9 @@ msgstr "Prze
+@@ -942,6 +942,9 @@ msgstr "Prze
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Przerocze podtytuw: To"
@@ -615,12 +615,12 @@ index 9620e1b..39057fd 100644
msgstr "LNB"
diff --git a/po/pt_PT.po b/po/pt_PT.po
-index 0510d9d..3bea1f1 100644
+index 2eae063..39319b9 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
-@@ -940,6 +940,9 @@ msgstr "Transpar
+@@ -942,6 +942,9 @@ msgstr "Transpar
msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparncia de background das legendas"
+ msgstr "Transparncia de fundo das legendas"
+msgid "Setup.DVB$Enable teletext support"
+msgstr ""
@@ -629,10 +629,10 @@ index 0510d9d..3bea1f1 100644
msgstr "LNB"
diff --git a/po/ro_RO.po b/po/ro_RO.po
-index e0a2119..1d4a412 100644
+index cd1a4d0..d4bd3db 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
-@@ -943,6 +943,9 @@ msgstr "Transparen
+@@ -944,6 +944,9 @@ msgstr "Transparen
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparena fundalului subtitrrii"
@@ -643,10 +643,10 @@ index e0a2119..1d4a412 100644
msgstr "LNB"
diff --git a/po/ru_RU.po b/po/ru_RU.po
-index 889b98b..89029e1 100644
+index 57210f0..ac7b507 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
-@@ -941,6 +941,9 @@ msgstr "
+@@ -942,6 +942,9 @@ msgstr "
msgid "Setup.DVB$Subtitle background transparency"
msgstr " "
@@ -657,7 +657,7 @@ index 889b98b..89029e1 100644
msgstr ""
diff --git a/po/sk_SK.po b/po/sk_SK.po
-index 129fad3..eff0bd1 100644
+index a8faa76..e46ae57 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -941,6 +941,9 @@ msgstr "Prieh
@@ -671,10 +671,10 @@ index 129fad3..eff0bd1 100644
msgstr "LNB"
diff --git a/po/sl_SI.po b/po/sl_SI.po
-index 9f1e806..7f2bdd7 100644
+index 2e6667d..8cc86bd 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
-@@ -941,6 +941,9 @@ msgstr "Transparentnost podnapisov"
+@@ -942,6 +942,9 @@ msgstr "Transparentnost podnapisov"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparentnost ozadja podnapisov"
@@ -685,10 +685,10 @@ index 9f1e806..7f2bdd7 100644
msgstr "LNB"
diff --git a/po/sv_SE.po b/po/sv_SE.po
-index e9d39dd..9c366d2 100644
+index 41b6592..99e166b 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
-@@ -943,6 +943,9 @@ msgstr "Transparent f
+@@ -944,6 +944,9 @@ msgstr "Transparent f
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Transparent bakgrund textremsa"
@@ -699,10 +699,10 @@ index e9d39dd..9c366d2 100644
msgstr "LNB"
diff --git a/po/tr_TR.po b/po/tr_TR.po
-index 9acd1c1..50a6295 100644
+index b0ad00f..2831961 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
-@@ -940,6 +940,9 @@ msgstr "Altyaz
+@@ -941,6 +941,9 @@ msgstr "Altyaz
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Altyaz arka effaflk"
@@ -713,10 +713,10 @@ index 9acd1c1..50a6295 100644
msgstr "LNB"
diff --git a/po/uk_UA.po b/po/uk_UA.po
-index b62fca7..25e7095 100644
+index f316e29..5e7c5ea 100644
--- a/po/uk_UA.po
+++ b/po/uk_UA.po
-@@ -940,6 +940,9 @@ msgstr "Прозорість переднього плану субтитрів"
+@@ -941,6 +941,9 @@ msgstr "Прозорість переднього плану субтитрів"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "Прозорість заднього плану субтитрів"
@@ -727,10 +727,10 @@ index b62fca7..25e7095 100644
msgstr "Конвертер"
diff --git a/po/zh_CN.po b/po/zh_CN.po
-index bffa301..141c362 100644
+index 11ccd84..49bb638 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
-@@ -943,6 +943,9 @@ msgstr "字幕前景透明度"
+@@ -944,6 +944,9 @@ msgstr "字幕前景透明度"
msgid "Setup.DVB$Subtitle background transparency"
msgstr "字幕背景透明度"
@@ -741,10 +741,10 @@ index bffa301..141c362 100644
msgstr "切换器设置"
diff --git a/receiver.c b/receiver.c
-index 58dda78..ed28f1b 100644
+index 6a9ba04..a5c8967 100644
--- a/receiver.c
+++ b/receiver.c
-@@ -82,7 +82,8 @@ bool cReceiver::SetPids(const cChannel *Channel)
+@@ -81,7 +81,8 @@ bool cReceiver::SetPids(const cChannel *Channel)
(Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) &&
AddPids(Channel->Apids()) &&
AddPids(Channel->Dpids()) &&
@@ -755,10 +755,10 @@ index 58dda78..ed28f1b 100644
return true;
}
diff --git a/remux.c b/remux.c
-index 5206544..eea5c07 100644
+index f174f61..0c1b361 100644
--- a/remux.c
+++ b/remux.c
-@@ -215,6 +215,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua
+@@ -219,6 +219,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua
return i;
}
@@ -788,7 +788,7 @@ index 5206544..eea5c07 100644
int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language)
{
int i = 0;
-@@ -302,6 +325,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
+@@ -306,6 +329,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
if (Channel) {
int Vpid = Channel->Vpid();
int Ppid = Channel->Ppid();
@@ -796,7 +796,7 @@ index 5206544..eea5c07 100644
uchar *p = buf;
int i = 0;
p[i++] = 0x02; // table id
-@@ -334,6 +358,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
+@@ -338,6 +362,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
i += MakeStream(buf + i, 0x06, Channel->Spid(n));
i += MakeSubtitlingDescriptor(buf + i, Channel->Slang(n), Channel->SubtitlingType(n), Channel->CompositionPageId(n), Channel->AncillaryPageId(n));
}
@@ -807,7 +807,7 @@ index 5206544..eea5c07 100644
int sl = i - SectionLength - 2 + 4; // -2 = SectionLength storage, +4 = length of CRC
buf[SectionLength] |= (sl >> 8) & 0x0F;
-@@ -407,6 +435,7 @@ void cPatPmtParser::Reset(void)
+@@ -411,6 +439,7 @@ void cPatPmtParser::Reset(void)
pmtPid = -1;
vpid = vtype = 0;
ppid = 0;
@@ -815,7 +815,7 @@ index 5206544..eea5c07 100644
}
void cPatPmtParser::ParsePat(const uchar *Data, int Length)
-@@ -492,11 +521,13 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
+@@ -496,11 +525,13 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
int NumSpids = 0;
vpid = vtype = 0;
ppid = 0;
@@ -829,7 +829,7 @@ index 5206544..eea5c07 100644
SI::PMT::Stream stream;
for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());
-@@ -595,6 +626,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
+@@ -599,6 +630,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
spids[NumSpids]= 0;
}
break;
@@ -859,10 +859,10 @@ index 5206544..eea5c07 100644
SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
dbgpatpmt(" '%s'", ld->languageCode);
diff --git a/remux.h b/remux.h
-index 7b62187..6f816dc 100644
+index 3204bb4..d6b0274 100644
--- a/remux.h
+++ b/remux.h
-@@ -171,6 +171,7 @@ protected:
+@@ -174,6 +174,7 @@ protected:
int MakeStream(uchar *Target, uchar Type, int Pid);
int MakeAC3Descriptor(uchar *Target, uchar Type);
int MakeSubtitlingDescriptor(uchar *Target, const char *Language, uchar SubtitlingType, uint16_t CompositionPageId, uint16_t AncillaryPageId);
@@ -870,7 +870,7 @@ index 7b62187..6f816dc 100644
int MakeLanguageDescriptor(uchar *Target, const char *Language);
int MakeCRC(uchar *Target, const uchar *Data, int Length);
void GeneratePmtPid(const cChannel *Channel);
-@@ -216,6 +217,7 @@ private:
+@@ -219,6 +220,7 @@ private:
int vpid;
int ppid;
int vtype;
@@ -878,7 +878,7 @@ index 7b62187..6f816dc 100644
int apids[MAXAPIDS + 1]; // list is zero-terminated
int atypes[MAXAPIDS + 1]; // list is zero-terminated
char alangs[MAXAPIDS][MAXLANGCODE2];
-@@ -228,6 +230,8 @@ private:
+@@ -231,6 +233,8 @@ private:
uint16_t compositionPageIds[MAXSPIDS];
uint16_t ancillaryPageIds[MAXSPIDS];
bool updatePrimaryDevice;
@@ -887,7 +887,7 @@ index 7b62187..6f816dc 100644
protected:
int SectionLength(const uchar *Data, int Length) { return (Length >= 3) ? ((int(Data[1]) & 0x0F) << 8)| Data[2] : 0; }
public:
-@@ -260,6 +264,9 @@ public:
+@@ -263,6 +267,9 @@ public:
int Vtype(void) const { return vtype; }
///< Returns the video stream type as defined by the current PMT, or 0 if no video
///< stream type has been detected, yet.
@@ -897,7 +897,7 @@ index 7b62187..6f816dc 100644
const int *Apids(void) const { return apids; }
const int *Dpids(void) const { return dpids; }
const int *Spids(void) const { return spids; }
-@@ -274,6 +281,8 @@ public:
+@@ -277,6 +284,8 @@ public:
uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); }
uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
@@ -907,7 +907,7 @@ index 7b62187..6f816dc 100644
// TS to PES converter:
diff --git a/vdr.5 b/vdr.5
-index 68711b5..9b8ed05 100644
+index 6274c1a..dff559d 100644
--- a/vdr.5
+++ b/vdr.5
@@ -214,6 +214,13 @@ if there is an audio type.