blob: 00127ff7464b3fba7d07ab26333b542efa872818 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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;
};
|