summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patches/patch-set/0001-Record-teletext-subtitles.patch28
-rw-r--r--patches/patch-set/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch2
-rw-r--r--patches/patch-set/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch31
-rw-r--r--patches/patch-set/0004-Decrypt-teletext-stream.patch2
-rw-r--r--patches/patch-set/0005-Capture-teletext-subtitle-pages-from-PMT.patch2
-rw-r--r--patches/patch-set/0006-Ttxtsubs-plugin-hook.patch2
-rw-r--r--patches/vdr-1.7.12-ttxtsubs.patch29
7 files changed, 62 insertions, 34 deletions
diff --git a/patches/patch-set/0001-Record-teletext-subtitles.patch b/patches/patch-set/0001-Record-teletext-subtitles.patch
index 93f1d9c..3a44135 100644
--- a/patches/patch-set/0001-Record-teletext-subtitles.patch
+++ b/patches/patch-set/0001-Record-teletext-subtitles.patch
@@ -1,29 +1,43 @@
-From 16f2ef39cd891a2333d9127c279d06d5e7204577 Mon Sep 17 00:00:00 2001
+From f10d7d8469b1c50f32e884743034c14dd16fae76 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
---
- channels.c | 6 ++++++
+ channels.c | 20 ++++++++++++++++++++
channels.h | 16 ++++++++++++++++
pat.c | 18 +++++++++++++++++-
receiver.c | 2 +-
remux.c | 29 +++++++++++++++++++++++++++++
remux.h | 3 +++
- 6 files changed, 72 insertions(+), 2 deletions(-)
+ 6 files changed, 86 insertions(+), 2 deletions(-)
diff --git a/channels.c b/channels.c
-index c14df19..08ddf3e 100644
+index c14df19..863eab0 100644
--- a/channels.c
+++ b/channels.c
-@@ -551,6 +551,12 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
+@@ -551,6 +551,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
}
}
+void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages)
+{
-+ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++)
-+ teletextSubtitlePages[totalTtxtSubtitlePages++] = pages[i];
++ int mod = CHANNELMOD_NONE;
++ if (totalTtxtSubtitlePages != numberOfPages)
++ mod |= CHANNELMOD_PIDS;
++ totalTtxtSubtitlePages = 0;
++ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) {
++ if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine ||
++ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage ||
++ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType != pages[i].ttxtType ||
++ strcmp(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, pages[i].ttxtLanguage)) {
++ mod |= CHANNELMOD_PIDS;
++ teletextSubtitlePages[totalTtxtSubtitlePages] = pages[i];
++ }
++ totalTtxtSubtitlePages++;
++ }
++ modification |= mod;
++ Channels.SetModified();
+}
+
void cChannel::SetCaIds(const int *CaIds)
diff --git a/patches/patch-set/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch b/patches/patch-set/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch
index 61bad9b..eec38ad 100644
--- a/patches/patch-set/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch
+++ b/patches/patch-set/0002-Added-setup-option-to-enable-teletext-subtitle-recor.patch
@@ -1,4 +1,4 @@
-From 1bb47964b00e093abfb8690f26a287b5656cf5b2 Mon Sep 17 00:00:00 2001
+From 6a6936e383c7f77353cf3e0a8205972e706920b8 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
diff --git a/patches/patch-set/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch b/patches/patch-set/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch
index 3ec3df4..2734f9a 100644
--- a/patches/patch-set/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch
+++ b/patches/patch-set/0003-Allow-manual-configuration-of-teletetxt-subtitle-pag.patch
@@ -1,27 +1,28 @@
-From de029cbbb03a024966fcf28dc21984485253ff39 Mon Sep 17 00:00:00 2001
+From f73da362d10a468e46da395428ad91eac758eea2 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
---
- channels.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++---
+ channels.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++----
channels.h | 1 +
vdr.5 | 7 +++++++
- 3 files changed, 55 insertions(+), 3 deletions(-)
+ 3 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/channels.c b/channels.c
-index 08ddf3e..7fb726e 100644
+index 863eab0..197588c 100644
--- a/channels.c
+++ b/channels.c
-@@ -553,6 +553,7 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
-
- void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages)
- {
+@@ -556,7 +556,7 @@ void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numbe
+ int mod = CHANNELMOD_NONE;
+ if (totalTtxtSubtitlePages != numberOfPages)
+ mod |= CHANNELMOD_PIDS;
+- totalTtxtSubtitlePages = 0;
+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages;
- for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++)
- teletextSubtitlePages[totalTtxtSubtitlePages++] = pages[i];
- }
-@@ -764,11 +765,22 @@ cString cChannel::ToText(const cChannel *Channel)
+ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) {
+ if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine ||
+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage ||
+@@ -778,11 +778,22 @@ cString cChannel::ToText(const cChannel *Channel)
q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs);
}
*q = 0;
@@ -45,7 +46,7 @@ index 08ddf3e..7fb726e 100644
}
return buffer;
}
-@@ -802,8 +814,9 @@ bool cChannel::Parse(const char *s)
+@@ -816,8 +827,9 @@ bool cChannel::Parse(const char *s)
char *parambuf = NULL;
char *vpidbuf = NULL;
char *apidbuf = NULL;
@@ -56,7 +57,7 @@ index 08ddf3e..7fb726e 100644
if (fields >= 9) {
if (fields == 9) {
// allow reading of old format
-@@ -885,7 +898,37 @@ bool cChannel::Parse(const char *s)
+@@ -899,7 +911,37 @@ bool cChannel::Parse(const char *s)
}
dpids[NumDpids] = 0;
}
@@ -95,7 +96,7 @@ index 08ddf3e..7fb726e 100644
if (caidbuf) {
char *p = caidbuf;
char *q;
-@@ -922,6 +965,7 @@ bool cChannel::Parse(const char *s)
+@@ -936,6 +978,7 @@ bool cChannel::Parse(const char *s)
free(sourcebuf);
free(vpidbuf);
free(apidbuf);
diff --git a/patches/patch-set/0004-Decrypt-teletext-stream.patch b/patches/patch-set/0004-Decrypt-teletext-stream.patch
index fa32a71..c5c61da 100644
--- a/patches/patch-set/0004-Decrypt-teletext-stream.patch
+++ b/patches/patch-set/0004-Decrypt-teletext-stream.patch
@@ -1,4 +1,4 @@
-From 90b6894757afbbb2c42ba646b1603ce961750bd6 Mon Sep 17 00:00:00 2001
+From 1a66ece8a494d6205411f2aa266a7f02c1dc1205 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
diff --git a/patches/patch-set/0005-Capture-teletext-subtitle-pages-from-PMT.patch b/patches/patch-set/0005-Capture-teletext-subtitle-pages-from-PMT.patch
index 9f9b5b2..2f60564 100644
--- a/patches/patch-set/0005-Capture-teletext-subtitle-pages-from-PMT.patch
+++ b/patches/patch-set/0005-Capture-teletext-subtitle-pages-from-PMT.patch
@@ -1,4 +1,4 @@
-From 272acd168ae543146b1dd89553642b921e2cd443 Mon Sep 17 00:00:00 2001
+From d97e9b73e0de4c35242d1fffdd878173aeacbdda 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
diff --git a/patches/patch-set/0006-Ttxtsubs-plugin-hook.patch b/patches/patch-set/0006-Ttxtsubs-plugin-hook.patch
index cbccdcd..2382144 100644
--- a/patches/patch-set/0006-Ttxtsubs-plugin-hook.patch
+++ b/patches/patch-set/0006-Ttxtsubs-plugin-hook.patch
@@ -1,4 +1,4 @@
-From 97b7829b83f2dbcd41d7deab106b59a4448b2eb0 Mon Sep 17 00:00:00 2001
+From edc638e1d66e20b5e8d7f2157c3f1b462f130f90 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
diff --git a/patches/vdr-1.7.12-ttxtsubs.patch b/patches/vdr-1.7.12-ttxtsubs.patch
index 652ea73..2b32645 100644
--- a/patches/vdr-1.7.12-ttxtsubs.patch
+++ b/patches/vdr-1.7.12-ttxtsubs.patch
@@ -26,24 +26,37 @@ index 01408cb..b280030 100644
DEFINES += -DREMOTE_KBD
endif
diff --git a/channels.c b/channels.c
-index c14df19..7fb726e 100644
+index c14df19..197588c 100644
--- a/channels.c
+++ b/channels.c
-@@ -551,6 +551,13 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
+@@ -551,6 +551,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
}
}
+void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages)
+{
++ int mod = CHANNELMOD_NONE;
++ if (totalTtxtSubtitlePages != numberOfPages)
++ mod |= CHANNELMOD_PIDS;
+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages;
-+ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++)
-+ teletextSubtitlePages[totalTtxtSubtitlePages++] = pages[i];
++ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) {
++ if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine ||
++ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage ||
++ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType != pages[i].ttxtType ||
++ strcmp(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, pages[i].ttxtLanguage)) {
++ mod |= CHANNELMOD_PIDS;
++ teletextSubtitlePages[totalTtxtSubtitlePages] = pages[i];
++ }
++ totalTtxtSubtitlePages++;
++ }
++ modification |= mod;
++ Channels.SetModified();
+}
+
void cChannel::SetCaIds(const int *CaIds)
{
if (caids[0] && caids[0] <= CA_USER_MAX)
-@@ -758,11 +765,22 @@ cString cChannel::ToText(const cChannel *Channel)
+@@ -758,11 +778,22 @@ cString cChannel::ToText(const cChannel *Channel)
q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs);
}
*q = 0;
@@ -67,7 +80,7 @@ index c14df19..7fb726e 100644
}
return buffer;
}
-@@ -796,8 +814,9 @@ bool cChannel::Parse(const char *s)
+@@ -796,8 +827,9 @@ bool cChannel::Parse(const char *s)
char *parambuf = NULL;
char *vpidbuf = NULL;
char *apidbuf = NULL;
@@ -78,7 +91,7 @@ index c14df19..7fb726e 100644
if (fields >= 9) {
if (fields == 9) {
// allow reading of old format
-@@ -879,7 +898,37 @@ bool cChannel::Parse(const char *s)
+@@ -879,7 +911,37 @@ bool cChannel::Parse(const char *s)
}
dpids[NumDpids] = 0;
}
@@ -117,7 +130,7 @@ index c14df19..7fb726e 100644
if (caidbuf) {
char *p = caidbuf;
char *q;
-@@ -916,6 +965,7 @@ bool cChannel::Parse(const char *s)
+@@ -916,6 +978,7 @@ bool cChannel::Parse(const char *s)
free(sourcebuf);
free(vpidbuf);
free(apidbuf);