-
Notifications
You must be signed in to change notification settings - Fork 4
/
osd.h
101 lines (87 loc) · 2.57 KB
/
osd.h
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
* osd.h: Frontend Status Monitor plugin for the Video Disk Recorder
*
* See the README file for copyright information and how to reach the author.
*
*/
#ifndef __FEMON_OSD_H
#define __FEMON_OSD_H
#include <sys/time.h>
#include <vdr/osd.h>
#include <vdr/thread.h>
#include <vdr/status.h>
#include <vdr/plugin.h>
#include <vdr/channels.h>
#include <vdr/transfer.h>
#include <vdr/tools.h>
#include "receiver.h"
#include "svdrpservice.h"
#define MAX_BM_NUMBER 8
class cFemonOsd : public cOsdObject, public cThread, public cStatus {
private:
enum eDeviceSourceType {
DEVICESOURCE_DVBAPI = 0,
DEVICESOURCE_IPTV,
DEVICESOURCE_PVRINPUT,
DEVICESOURCE_COUNT
};
static cFemonOsd *pInstanceS;
cOsd *osdM;
cFemonReceiver *receiverM;
int svdrpFrontendM;
double svdrpVideoBitRateM;
double svdrpAudioBitRateM;
SvdrpConnection_v1_0 svdrpConnectionM;
cPlugin *svdrpPluginM;
int numberM;
int oldNumberM;
int qualityM;
bool qualityValidM;
int strengthM;
bool strengthValidM;
double cnrM;
bool cnrValidM;
double signalM;
bool signalValidM;
double berM;
bool berValidM;
double perM;
bool perValidM;
cString frontendNameM;
cString frontendTypeM;
int frontendStatusM;
bool frontendStatusValidM;
dvb_frontend_info frontendInfoM;
eDeviceSourceType deviceSourceM;
int displayModeM;
int osdWidthM;
int osdHeightM;
int osdLeftM;
int osdTopM;
cFont *fontM;
cTimeMs inputTimeM;
cCondWait sleepM;
cMutex mutexM;
bool AttachFrontend(void);
void DrawStatusWindow(void);
void DrawInfoWindow(void);
bool SvdrpConnect(void);
bool SvdrpTune(void);
protected:
cFemonOsd();
cFemonOsd(const cFemonOsd&);
cFemonOsd& operator= (const cFemonOsd&);
virtual void Action(void);
virtual void ChannelSwitch(const cDevice *deviceP, int channelNumberP, bool liveViewP);
virtual void SetAudioTrack(int indexP, const char * const *tracksP);
public:
static cFemonOsd *Instance(bool createP = false);
~cFemonOsd();
virtual void Show(void);
virtual eOSState ProcessKey(eKeys keyP);
bool DeviceSwitch(int directionP);
double GetVideoBitrate(void);
double GetAudioBitrate(void);
double GetDolbyBitrate(void);
};
#endif //__FEMON_OSD_H