diff options
author | Tobias Grimm <tobias@e-tobi.loc> | 2008-12-13 10:42:57 +0100 |
---|---|---|
committer | Tobias Grimm <tobias@e-tobi.loc> | 2008-12-13 10:45:11 +0100 |
commit | 24caa0c99ed1482655d1832d5e23ec69a6d10962 (patch) | |
tree | 66e63bab968516421a8d700118fd2abbfd5e170e | |
parent | f2a84e51aa977e0287a6115bfd27fd37f7f18c6f (diff) | |
download | vdr-plugin-ttxtsubs-24caa0c99ed1482655d1832d5e23ec69a6d10962.tar.gz vdr-plugin-ttxtsubs-24caa0c99ed1482655d1832d5e23ec69a6d10962.tar.bz2 |
- Small adjustments for VDR 1.2.1v0.0.3
-rw-r--r-- | HISTORY | 7 | ||||
-rw-r--r-- | README | 22 | ||||
-rw-r--r-- | VDR.1.1.25.patch | 250 | ||||
-rw-r--r-- | VDR.patch | 70 | ||||
-rw-r--r-- | ttxtsubs.c | 7 | ||||
-rw-r--r-- | ttxtsubsdisplayer.c | 2 | ||||
-rw-r--r-- | ttxtsubsreceiver.c | 2 |
7 files changed, 307 insertions, 53 deletions
@@ -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 @@ -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(); @@ -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" @@ -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) { |