summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Grimm <tobias@e-tobi.loc>2008-12-13 10:42:57 +0100
committerTobias Grimm <tobias@e-tobi.loc>2008-12-13 10:45:11 +0100
commit24caa0c99ed1482655d1832d5e23ec69a6d10962 (patch)
tree66e63bab968516421a8d700118fd2abbfd5e170e
parentf2a84e51aa977e0287a6115bfd27fd37f7f18c6f (diff)
downloadvdr-plugin-ttxtsubs-24caa0c99ed1482655d1832d5e23ec69a6d10962.tar.gz
vdr-plugin-ttxtsubs-24caa0c99ed1482655d1832d5e23ec69a6d10962.tar.bz2
- Small adjustments for VDR 1.2.1v0.0.3
-rw-r--r--HISTORY7
-rw-r--r--README22
-rw-r--r--VDR.1.1.25.patch250
-rw-r--r--VDR.patch70
-rw-r--r--ttxtsubs.c7
-rw-r--r--ttxtsubsdisplayer.c2
-rw-r--r--ttxtsubsreceiver.c2
7 files changed, 307 insertions, 53 deletions
diff --git a/HISTORY b/HISTORY
index bfc7f9a..3d24c42 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,9 +1,12 @@
VDR Plugin 'ttxtsubs' Revision History
--------------------------------------
+2003-06-20: Version 0.0.3
+- Small adjustments for VDR 1.2.1
+
2003-05-05: Version 0.0.2
-- Bug fix: Could miss to display subtitles on channels with "Parallel Magazine"
- transmission. Thanks to Antti Lammi!
+- Bug fix: Could miss to display subtitles on channels with
+ "Parallel Magazine" transmission. Thanks to Antti Lammi!
2003-04-28: Version 0.0.1b
- Timeout on SI table reads
diff --git a/README b/README
index 48c3000..c7f1b69 100644
--- a/README
+++ b/README
@@ -62,24 +62,24 @@ reworked a few times.
Installation:
-This plugin is written for VDR 1.1.25. It currently needs a few hooks
-in, and changes to, VDR to work. A patch file is included. The patches
-should be harmless if you don't have the plugin loaded, so even if you
-patch VDR and later decide not to use this plugin you don't
-necessarily have to reinstall VDR. It is probably possible to build
-the plugin for other version of VDR, but don't count on it.
+This plugin is for VDR 1.2.1. It currently needs a few hooks in, and
+changes to, VDR to work. A patch file is included. The patches should
+be harmless if you don't have the plugin loaded, so even if you patch
+VDR and later decide not to use this plugin you don't necessarily have
+to reinstall VDR. It is probably possible to build the plugin for
+other version of VDR, but don't count on it.
Steps:
As usual, unpack the plugin and make a link:
- cd ..../vdr-1.1.25/PLUGINS/src
- tar zxvf ..../vdr-ttxtsubs-0.0.1.tgz
- ln -s ttxtsubs-0.0.1 ttxtsubs
+ cd ..../vdr-1.2.1/PLUGINS/src
+ tar zxvf ..../vdr-ttxtsubs-0.0.3.tgz
+ ln -s ttxtsubs-0.0.3 ttxtsubs
Go back to your VDR directory and install the patches and the new files:
cd ../../
- cp PLUGINS/src/ttxtsubs-0.0.1/vdrttxtsubshooks.[ch] .
- patch -b < PLUGINS/src/ttxtsubs-0.0.1/VDR.patch
+ cp PLUGINS/src/ttxtsubs-0.0.3/vdrttxtsubshooks.[ch] .
+ patch -b < PLUGINS/src/ttxtsubs-0.0.3/VDR.patch
Rebuild VDR:
make clean
diff --git a/VDR.1.1.25.patch b/VDR.1.1.25.patch
new file mode 100644
index 0000000..3c825c3
--- /dev/null
+++ b/VDR.1.1.25.patch
@@ -0,0 +1,250 @@
+diff -upr ./DIST/vdr-1.1.25/Makefile ./Makefile
+--- ./DIST/vdr-1.1.25/Makefile 2003-01-06 13:28:09.000000000 +0100
++++ ./Makefile 2003-03-07 03:19:33.000000000 +0100
+@@ -36,7 +36,8 @@ OBJS = audio.o channels.o ci.o config.o
+ dvbplayer.o dvbspu.o eit.o eitscan.o font.o i18n.o interface.o keys.o\
+ lirc.o menu.o menuitems.o osdbase.o osd.o player.o plugin.o rcu.o\
+ receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sources.o\
+- spu.o status.o svdrp.o thread.o timers.o tools.o transfer.o vdr.o videodir.o
++ spu.o status.o svdrp.o thread.o timers.o tools.o transfer.o vdr.o videodir.o\
++ vdrttxtsubshooks.o
+
+ OSDFONT = -adobe-helvetica-medium-r-normal--23-*-100-100-p-*-iso8859-1
+ FIXFONT = -adobe-courier-bold-r-normal--25-*-100-100-m-*-iso8859-1
+diff -upr ./DIST/vdr-1.1.25/dvbplayer.c ./dvbplayer.c
+--- ./DIST/vdr-1.1.25/dvbplayer.c 2003-02-15 11:38:59.000000000 +0100
++++ ./dvbplayer.c 2003-03-07 03:52:55.000000000 +0100
+@@ -13,6 +13,7 @@
+ #include "ringbuffer.h"
+ #include "thread.h"
+ #include "tools.h"
++#include "vdrttxtsubshooks.h"
+
+ // --- cBackTrace ----------------------------------------------------------
+
+@@ -318,6 +319,12 @@ void cDvbPlayer::StripAudioPackets(uchar
+ int l = b[i + 4] * 256 + b[i + 5] + 6;
+ switch (c) {
+ case 0xBD: // dolby
++#ifdef VDRTTXTSUBSHOOKS
++ if (b[i + 8] == 0x24 && b[i + 45] >= 0x10 && b[i + 45] < 0x20) {
++ break; // run these through the ring buffer to get somewhat correct
++ // timing for the subtitles
++ } else
++#endif
+ if (Except)
+ PlayAudio(&b[i], l);
+ // continue with deleting the data - otherwise it disturbs DVB replay
+@@ -347,6 +354,40 @@ void cDvbPlayer::StripAudioPackets(uchar
+ }
+ }
+
++#ifdef VDRTTXTSUBSHOOKS
++static void StripTtxtPackets(uchar *b, int Length)
++{
++ for (int i = 0; i < Length - 6; i++) {
++ if (b[i] == 0x00 && b[i + 1] == 0x00 && b[i + 2] == 0x01) {
++ uchar c = b[i + 3];
++ int l = b[i + 4] * 256 + b[i + 5] + 6;
++ switch (c) {
++ case 0xBD: // dolby
++ {
++ if (b[i + 8] == 0x24 && b[i + 45] >= 0x10 && b[i + 45] < 0x20) {
++ // EBU Teletext data, ETSI EN 300 472
++ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData(&b[i], l);
++ }
++ // continue with deleting the data - otherwise it disturbs DVB replay
++ int n = l;
++ for (int j = i; j < Length && n--; j++)
++ b[j] = 0x00;
++ break;
++ }
++ default:
++ break;
++ }
++ if (l)
++ i += l - 1; // the loop increments, too!
++ }
++ /*XXX
++ else
++ esyslog("ERROR: broken packet header");
++ XXX*/
++ }
++}
++#endif
++
+ bool cDvbPlayer::NextFile(uchar FileNumber, int FileOffset)
+ {
+ if (FileNumber > 0)
+@@ -514,6 +555,11 @@ void cDvbPlayer::Action(void)
+ p = playFrame->Data();
+ pc = playFrame->Count();
+ }
++#ifdef VDRTTXTSUBSHOOKS
++ // pick out the teletext packets here
++ if(p)
++ StripTtxtPackets((uchar *) p, pc);
++#endif
+ if (p) {
+ int w = PlayVideo(p, pc);
+ if (w > 0) {
+diff -upr ./DIST/vdr-1.1.25/menu.c ./menu.c
+--- ./DIST/vdr-1.1.25/menu.c 2003-02-09 13:55:38.000000000 +0100
++++ ./menu.c 2003-03-07 03:38:14.000000000 +0100
+@@ -2931,8 +2931,18 @@ cRecordControl::cRecordControl(cDevice *
+ fileName = strdup(Recording.FileName());
+ cRecordingUserCommand::InvokeCommand(RUC_BEFORERECORDING, fileName);
+ const cChannel *ch = timer->Channel();
++#ifdef VDRTTXTSUBSHOOKS
++ cTtxtSubsRecorderBase *subsRecorder = cVDRTtxtsubsHookListener::Hook()
++ ->NewTtxtSubsRecorder(device, ch);
++ recorder = new cRecorder(fileName, ch->Ca(), timer->Priority(), ch->Vpid(), ch->Apid1(), ch->Apid2(), ch->Dpid1(), ch->Dpid2(), subsRecorder);
++#else
+ recorder = new cRecorder(fileName, ch->Ca(), timer->Priority(), ch->Vpid(), ch->Apid1(), ch->Apid2(), ch->Dpid1(), ch->Dpid2());
++#endif
+ if (device->AttachReceiver(recorder)) {
++#ifdef VDRTTXTSUBSHOOKS
++ if(subsRecorder)
++ subsRecorder->DeviceAttach();
++#endif
+ Recording.WriteSummary();
+ cStatus::MsgRecording(device, Recording.Name());
+ }
+diff -upr ./DIST/vdr-1.1.25/menu.h ./menu.h
+--- ./DIST/vdr-1.1.25/menu.h 2003-01-12 15:54:05.000000000 +0100
++++ ./menu.h 2003-03-07 03:33:28.000000000 +0100
+@@ -14,6 +14,7 @@
+ #include "device.h"
+ #include "osd.h"
+ #include "dvbplayer.h"
++#include "vdrttxtsubshooks.h"
+ #include "recorder.h"
+ #include "recording.h"
+
+diff -upr ./DIST/vdr-1.1.25/osd.c ./osd.c
+--- ./DIST/vdr-1.1.25/osd.c 2002-12-08 14:17:13.000000000 +0100
++++ ./osd.c 2003-03-07 03:55:32.000000000 +0100
+@@ -12,6 +12,7 @@
+ #include "device.h"
+ #include "i18n.h"
+ #include "status.h"
++#include "vdrttxtsubshooks.h"
+
+ // --- cOsd ------------------------------------------------------------------
+
+@@ -96,6 +97,9 @@ void cOsd::Open(int w, int h)
+ d *= lineHeight;
+ int x = (720 - w + charWidth) / 2; //TODO PAL vs. NTSC???
+ int y = (576 - Setup.OSDheight * lineHeight) / 2 + d;
++#ifdef VDRTTXTSUBSHOOKS
++ cVDRTtxtsubsHookListener::Hook()->HideOSD();
++#endif
+ //XXX
+ osd = OpenRaw(x, y);
+ //XXX TODO this should be transferred to the places where the individual windows are requested (there's too much detailed knowledge here!)
+@@ -136,6 +140,9 @@ void cOsd::Close(void)
+ delete osd;
+ osd = NULL;
+ #endif
++#ifdef VDRTTXTSUBSHOOKS
++ cVDRTtxtsubsHookListener::Hook()->ShowOSD();
++#endif
+ }
+
+ void cOsd::Clear(void)
+diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
+--- ./DIST/vdr-1.1.25/recorder.c 2003-01-25 17:23:36.000000000 +0100
++++ ./recorder.c 2003-03-07 03:54:10.000000000 +0100
+@@ -10,6 +10,8 @@
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <unistd.h>
++#include <stdint.h>
++#include "vdrttxtsubshooks.h"
+ #include "recorder.h"
+
+ // The size of the array used to buffer video data:
+@@ -19,7 +21,11 @@
+ #define MINFREEDISKSPACE (512) // MB
+ #define DISKCHECKINTERVAL 100 // seconds
+
++#ifdef VDRTTXTSUBSHOOKS
++cRecorder::cRecorder(const char *FileName, int Ca, int Priority, int VPid, int APid1, int APid2, int DPid1, int DPid2, cTtxtSubsRecorderBase *tsr)
++#else
+ cRecorder::cRecorder(const char *FileName, int Ca, int Priority, int VPid, int APid1, int APid2, int DPid1, int DPid2)
++#endif
+ :cReceiver(Ca, Priority, 5, VPid, APid1, APid2, DPid1, DPid2)
+ {
+ ringBuffer = NULL;
+@@ -30,6 +36,9 @@ cRecorder::cRecorder(const char *FileNam
+ fileSize = 0;
+ active = false;
+ lastDiskSpaceCheck = time(NULL);
++#ifdef VDRTTXTSUBSHOOKS
++ ttxtSubsRecorder = tsr;
++#endif
+ isyslog("record %s", FileName);
+
+ // Create directories if necessary:
+@@ -57,6 +66,10 @@ cRecorder::cRecorder(const char *FileNam
+ cRecorder::~cRecorder()
+ {
+ Detach();
++#ifdef VDRTTXTSUBSHOOKS
++ if(ttxtSubsRecorder)
++ delete ttxtSubsRecorder;
++#endif
+ delete index;
+ delete fileName;
+ delete remux;
+@@ -130,6 +143,19 @@ void cRecorder::Action(void)
+ break;
+ }
+ fileSize += Result;
++#ifdef VDRTTXTSUBSHOOKS
++ // not sure if the pictureType test is needed, but it seems we can get
++ // incomplete pes packets from remux if we are not getting pictures?
++ if (ttxtSubsRecorder && pictureType != NO_PICTURE) {
++ uint8_t *subsp;
++ size_t len;
++ if(ttxtSubsRecorder->GetPacket(&subsp, &len)) {
++ safe_write(recordFile, subsp, len);
++ fileSize += len;
++ // fprintf(stderr, "cRecorder::Action: Wrote ttxtsubs data len %d\n", len); // XXX
++ }
++ }
++#endif
+ }
+ else
+ break;
+diff -upr ./DIST/vdr-1.1.25/recorder.h ./recorder.h
+--- ./DIST/vdr-1.1.25/recorder.h 2002-06-08 11:35:03.000000000 +0200
++++ ./recorder.h 2003-03-07 03:50:33.000000000 +0100
+@@ -15,6 +15,7 @@
+ #include "remux.h"
+ #include "ringbuffer.h"
+ #include "thread.h"
++#include "vdrttxtsubshooks.h"
+
+ class cRecorder : public cReceiver, cThread {
+ private:
+@@ -29,12 +30,19 @@ private:
+ time_t lastDiskSpaceCheck;
+ bool RunningLowOnDiskSpace(void);
+ bool NextFile(void);
++#ifdef VDRTTXTSUBSHOOKS
++ cTtxtSubsRecorderBase *ttxtSubsRecorder;
++#endif
+ protected:
+ virtual void Activate(bool On);
+ virtual void Receive(uchar *Data, int Length);
+ virtual void Action(void);
+ public:
++#ifdef VDRTTXTSUBSHOOKS
++ cRecorder(const char *FileName, int Ca, int Priority, int VPid, int APid1, int APid2, int DPid1, int DPid2, cTtxtSubsRecorderBase *tsr);
++#else
+ cRecorder(const char *FileName, int Ca, int Priority, int VPid, int APid1, int APid2, int DPid1, int DPid2);
++#endif
+ // Creates a new recorder that requires conditional access Ca, has
+ // the given Priority and will record the given PIDs into the file FileName.
+ virtual ~cRecorder();
diff --git a/VDR.patch b/VDR.patch
index 3c825c3..94733c8 100644
--- a/VDR.patch
+++ b/VDR.patch
@@ -1,6 +1,6 @@
-diff -upr ./DIST/vdr-1.1.25/Makefile ./Makefile
---- ./DIST/vdr-1.1.25/Makefile 2003-01-06 13:28:09.000000000 +0100
-+++ ./Makefile 2003-03-07 03:19:33.000000000 +0100
+diff -upr ./DIST/vdr-1.2.1/Makefile ./Makefile
+--- ./DIST/vdr-1.2.1/Makefile 2003-01-06 13:28:09.000000000 +0100
++++ ./Makefile 2003-06-20 04:05:11.000000000 +0200
@@ -36,7 +36,8 @@ OBJS = audio.o channels.o ci.o config.o
dvbplayer.o dvbspu.o eit.o eitscan.o font.o i18n.o interface.o keys.o\
lirc.o menu.o menuitems.o osdbase.o osd.o player.o plugin.o rcu.o\
@@ -11,10 +11,10 @@ diff -upr ./DIST/vdr-1.1.25/Makefile ./Makefile
OSDFONT = -adobe-helvetica-medium-r-normal--23-*-100-100-p-*-iso8859-1
FIXFONT = -adobe-courier-bold-r-normal--25-*-100-100-m-*-iso8859-1
-diff -upr ./DIST/vdr-1.1.25/dvbplayer.c ./dvbplayer.c
---- ./DIST/vdr-1.1.25/dvbplayer.c 2003-02-15 11:38:59.000000000 +0100
-+++ ./dvbplayer.c 2003-03-07 03:52:55.000000000 +0100
-@@ -13,6 +13,7 @@
+diff -upr ./DIST/vdr-1.2.1/dvbplayer.c ./dvbplayer.c
+--- ./DIST/vdr-1.2.1/dvbplayer.c 2003-05-24 11:04:26.000000000 +0200
++++ ./dvbplayer.c 2003-06-20 04:05:11.000000000 +0200
+@@ -14,6 +14,7 @@
#include "ringbuffer.h"
#include "thread.h"
#include "tools.h"
@@ -22,7 +22,7 @@ diff -upr ./DIST/vdr-1.1.25/dvbplayer.c ./dvbplayer.c
// --- cBackTrace ----------------------------------------------------------
-@@ -318,6 +319,12 @@ void cDvbPlayer::StripAudioPackets(uchar
+@@ -323,6 +324,12 @@ void cDvbPlayer::StripAudioPackets(uchar
int l = b[i + 4] * 256 + b[i + 5] + 6;
switch (c) {
case 0xBD: // dolby
@@ -35,7 +35,7 @@ diff -upr ./DIST/vdr-1.1.25/dvbplayer.c ./dvbplayer.c
if (Except)
PlayAudio(&b[i], l);
// continue with deleting the data - otherwise it disturbs DVB replay
-@@ -347,6 +354,40 @@ void cDvbPlayer::StripAudioPackets(uchar
+@@ -349,6 +356,40 @@ void cDvbPlayer::StripAudioPackets(uchar
}
}
@@ -76,9 +76,9 @@ diff -upr ./DIST/vdr-1.1.25/dvbplayer.c ./dvbplayer.c
bool cDvbPlayer::NextFile(uchar FileNumber, int FileOffset)
{
if (FileNumber > 0)
-@@ -514,6 +555,11 @@ void cDvbPlayer::Action(void)
- p = playFrame->Data();
- pc = playFrame->Count();
+@@ -524,6 +565,11 @@ void cDvbPlayer::Action(void)
+ StripAudioPackets(p, pc, AudioTrack);
+ }
}
+#ifdef VDRTTXTSUBSHOOKS
+ // pick out the teletext packets here
@@ -88,11 +88,11 @@ diff -upr ./DIST/vdr-1.1.25/dvbplayer.c ./dvbplayer.c
if (p) {
int w = PlayVideo(p, pc);
if (w > 0) {
-diff -upr ./DIST/vdr-1.1.25/menu.c ./menu.c
---- ./DIST/vdr-1.1.25/menu.c 2003-02-09 13:55:38.000000000 +0100
-+++ ./menu.c 2003-03-07 03:38:14.000000000 +0100
-@@ -2931,8 +2931,18 @@ cRecordControl::cRecordControl(cDevice *
- fileName = strdup(Recording.FileName());
+diff -upr ./DIST/vdr-1.2.1/menu.c ./menu.c
+--- ./DIST/vdr-1.2.1/menu.c 2003-06-07 14:31:57.000000000 +0200
++++ ./menu.c 2003-06-20 04:05:11.000000000 +0200
+@@ -2969,8 +2969,18 @@ cRecordControl::cRecordControl(cDevice *
+
cRecordingUserCommand::InvokeCommand(RUC_BEFORERECORDING, fileName);
const cChannel *ch = timer->Channel();
+#ifdef VDRTTXTSUBSHOOKS
@@ -109,10 +109,10 @@ diff -upr ./DIST/vdr-1.1.25/menu.c ./menu.c
+#endif
Recording.WriteSummary();
cStatus::MsgRecording(device, Recording.Name());
- }
-diff -upr ./DIST/vdr-1.1.25/menu.h ./menu.h
---- ./DIST/vdr-1.1.25/menu.h 2003-01-12 15:54:05.000000000 +0100
-+++ ./menu.h 2003-03-07 03:33:28.000000000 +0100
+ if (!Timer && !cReplayControl::LastReplayed()) // an instant recording, maybe from cRecordControls::PauseLiveVideo()
+diff -upr ./DIST/vdr-1.2.1/menu.h ./menu.h
+--- ./DIST/vdr-1.2.1/menu.h 2003-05-24 18:35:52.000000000 +0200
++++ ./menu.h 2003-06-20 04:05:11.000000000 +0200
@@ -14,6 +14,7 @@
#include "device.h"
#include "osd.h"
@@ -121,9 +121,9 @@ diff -upr ./DIST/vdr-1.1.25/menu.h ./menu.h
#include "recorder.h"
#include "recording.h"
-diff -upr ./DIST/vdr-1.1.25/osd.c ./osd.c
---- ./DIST/vdr-1.1.25/osd.c 2002-12-08 14:17:13.000000000 +0100
-+++ ./osd.c 2003-03-07 03:55:32.000000000 +0100
+diff -upr ./DIST/vdr-1.2.1/osd.c ./osd.c
+--- ./DIST/vdr-1.2.1/osd.c 2003-06-04 18:13:00.000000000 +0200
++++ ./osd.c 2003-06-20 04:05:11.000000000 +0200
@@ -12,6 +12,7 @@
#include "device.h"
#include "i18n.h"
@@ -142,7 +142,7 @@ diff -upr ./DIST/vdr-1.1.25/osd.c ./osd.c
//XXX
osd = OpenRaw(x, y);
//XXX TODO this should be transferred to the places where the individual windows are requested (there's too much detailed knowledge here!)
-@@ -136,6 +140,9 @@ void cOsd::Close(void)
+@@ -138,6 +142,9 @@ void cOsd::Close(void)
delete osd;
osd = NULL;
#endif
@@ -152,9 +152,9 @@ diff -upr ./DIST/vdr-1.1.25/osd.c ./osd.c
}
void cOsd::Clear(void)
-diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
---- ./DIST/vdr-1.1.25/recorder.c 2003-01-25 17:23:36.000000000 +0100
-+++ ./recorder.c 2003-03-07 03:54:10.000000000 +0100
+diff -upr ./DIST/vdr-1.2.1/recorder.c ./recorder.c
+--- ./DIST/vdr-1.2.1/recorder.c 2003-05-16 15:33:04.000000000 +0200
++++ ./recorder.c 2003-06-20 04:05:11.000000000 +0200
@@ -10,6 +10,8 @@
#include <stdarg.h>
#include <stdio.h>
@@ -164,7 +164,7 @@ diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
#include "recorder.h"
// The size of the array used to buffer video data:
-@@ -19,7 +21,11 @@
+@@ -23,7 +25,11 @@
#define MINFREEDISKSPACE (512) // MB
#define DISKCHECKINTERVAL 100 // seconds
@@ -176,7 +176,7 @@ diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
:cReceiver(Ca, Priority, 5, VPid, APid1, APid2, DPid1, DPid2)
{
ringBuffer = NULL;
-@@ -30,6 +36,9 @@ cRecorder::cRecorder(const char *FileNam
+@@ -34,6 +40,9 @@ cRecorder::cRecorder(const char *FileNam
fileSize = 0;
active = false;
lastDiskSpaceCheck = time(NULL);
@@ -186,7 +186,7 @@ diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
isyslog("record %s", FileName);
// Create directories if necessary:
-@@ -57,6 +66,10 @@ cRecorder::cRecorder(const char *FileNam
+@@ -61,6 +70,10 @@ cRecorder::cRecorder(const char *FileNam
cRecorder::~cRecorder()
{
Detach();
@@ -197,7 +197,7 @@ diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
delete index;
delete fileName;
delete remux;
-@@ -130,6 +143,19 @@ void cRecorder::Action(void)
+@@ -135,6 +148,19 @@ void cRecorder::Action(void)
break;
}
fileSize += Result;
@@ -217,9 +217,9 @@ diff -upr ./DIST/vdr-1.1.25/recorder.c ./recorder.c
}
else
break;
-diff -upr ./DIST/vdr-1.1.25/recorder.h ./recorder.h
---- ./DIST/vdr-1.1.25/recorder.h 2002-06-08 11:35:03.000000000 +0200
-+++ ./recorder.h 2003-03-07 03:50:33.000000000 +0100
+diff -upr ./DIST/vdr-1.2.1/recorder.h ./recorder.h
+--- ./DIST/vdr-1.2.1/recorder.h 2002-06-08 11:35:03.000000000 +0200
++++ ./recorder.h 2003-06-20 04:05:11.000000000 +0200
@@ -15,6 +15,7 @@
#include "remux.h"
#include "ringbuffer.h"
diff --git a/ttxtsubs.c b/ttxtsubs.c
index 379246e..e206a99 100644
--- a/ttxtsubs.c
+++ b/ttxtsubs.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: ttxtsubs.c,v 1.13 2003/05/04 22:38:35 ragge Exp $
+ * $Id: ttxtsubs.c,v 1.15 2003/06/20 02:35:37 ragge Exp $
*/
#include <vdr/plugin.h>
@@ -18,7 +18,7 @@
#include "siinfo.h"
#include "ttxtsubs.h"
-static const char *VERSION = "0.0.2";
+static const char *VERSION = "0.0.3";
static const char *DESCRIPTION = "Teletext subtitles";
//static const char *MAINMENUENTRY = "Ttxtsubs";
@@ -38,9 +38,10 @@ char *gLanguages[] =
"pol", //Polish
"spa", //Spanish
"gre", //Greek
- "swe", //Swedish
+ "swe", //"sve? Swedish
"rom", //Romanian
"hun", //Hungarian
+ "cat", //Catalanian
// Not in translations!
"dan" //Danish
};
diff --git a/ttxtsubsdisplayer.c b/ttxtsubsdisplayer.c
index 6983cd2..de9348c 100644
--- a/ttxtsubsdisplayer.c
+++ b/ttxtsubsdisplayer.c
@@ -40,7 +40,7 @@ cTtxtSubsDisplayer::~cTtxtSubsDisplayer(void)
void cTtxtSubsDisplayer::Action(void)
{
while(mRun) {
- const cFrame *f;
+ cFrame *f;
f = mRingBuf.Get();
diff --git a/ttxtsubsreceiver.c b/ttxtsubsreceiver.c
index a497fd6..494d5c6 100644
--- a/ttxtsubsreceiver.c
+++ b/ttxtsubsreceiver.c
@@ -72,7 +72,7 @@ cTtxtSubsReceiver::~cTtxtSubsReceiver()
// returns pointer buf if there is new data
uint8_t *cTtxtSubsReceiver::Get(uint8_t *buf)
{
- const cFrame *f;
+ cFrame *f;
f = mRingBuf.Get();
if(f) {