summaryrefslogtreecommitdiff
path: root/ttxtsubsdisplayer.h
diff options
context:
space:
mode:
authorTobias Grimm <tobias@e-tobi.loc>2008-12-13 10:35:43 +0100
committerTobias Grimm <tobias@e-tobi.loc>2008-12-13 10:35:43 +0100
commit76ac85e366bfc27b3b688a4f13031c0735ea2436 (patch)
tree0f4f27bb366be92faee4e8c05fe01cccb32a9794 /ttxtsubsdisplayer.h
downloadvdr-plugin-ttxtsubs-0.0.1.tar.gz
vdr-plugin-ttxtsubs-0.0.1.tar.bz2
Initial version 0.0.1v0.0.1
Diffstat (limited to 'ttxtsubsdisplayer.h')
-rw-r--r--ttxtsubsdisplayer.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/ttxtsubsdisplayer.h b/ttxtsubsdisplayer.h
new file mode 100644
index 0000000..00127ff
--- /dev/null
+++ b/ttxtsubsdisplayer.h
@@ -0,0 +1,47 @@
+
+#include <vdr/receiver.h>
+#include <vdr/ringbuffer.h>
+
+class cTtxtSubsDisplay;
+
+class cTtxtSubsDisplayer : public cThread {
+ public:
+ cTtxtSubsDisplayer(int textpage);
+ ~cTtxtSubsDisplayer(void);
+ void ShowDisplay(void);
+ void HideDisplay(void);
+
+ protected:
+ virtual void Action(void);
+
+ protected:
+ cTtxtSubsDisplay *mDisp;
+ cMutex mGetMutex;
+ cCondVar mGetCond;
+ cRingBufferFrame mRingBuf;
+ int mRun;
+};
+
+class cTtxtSubsLiveReceiver : public cReceiver, public cTtxtSubsDisplayer {
+ public:
+ cTtxtSubsLiveReceiver(int Pid, int textpage);
+
+ protected:
+ virtual void Activate(bool On);
+ virtual void Receive(uchar *Data, int Length);
+};
+
+class cTtxtSubsPlayer : public cTtxtSubsDisplayer {
+ public:
+ cTtxtSubsPlayer(char *lang, int HI, int backup_textpage);
+ virtual void PES_data(uchar *Data, int Length);
+
+ private:
+ void SearchLanguagePage(uint8_t *p, int len);
+
+ char mLanguage[4];
+ int mHearingImpaired;
+ int mHasFilteredStream;
+ int mFoundLangPage;
+ int mLangInfoState;
+};