diff options
author | Tobias Grimm <tobias@e-tobi.loc> | 2008-12-13 10:35:43 +0100 |
---|---|---|
committer | Tobias Grimm <tobias@e-tobi.loc> | 2008-12-13 10:35:43 +0100 |
commit | 76ac85e366bfc27b3b688a4f13031c0735ea2436 (patch) | |
tree | 0f4f27bb366be92faee4e8c05fe01cccb32a9794 /ttxtsubsdisplayer.h | |
download | vdr-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.h | 47 |
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; +}; |