blob: cd63595ae8f06684248835c56fc7b85ee476e835 (
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
|
#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(int backup_textpage);
virtual void PES_data(uchar *Data, int Length);
private:
void SearchLanguagePage(uint8_t *p, int len);
int mHasFilteredStream;
int mFoundLangPage;
int mLangChoise;
int mLangInfoState;
};
|