1
0
mirror of https://github.com/rofafor/vdr-plugin-femon.git synced 2023-10-10 13:36:53 +02:00
vdr-plugin-femon/osd.h

102 lines
2.6 KiB
C
Raw Normal View History

/*
2015-03-07 21:32:58 +01:00
* osd.h: Frontend Status Monitor plugin for the Video Disk Recorder
*
* See the README file for copyright information and how to reach the author.
*
*/
2015-03-07 21:32:58 +01:00
#ifndef __FEMON_OSD_H
#define __FEMON_OSD_H
2004-02-15 03:20:00 +01:00
#include <sys/time.h>
#include <vdr/osd.h>
#include <vdr/thread.h>
#include <vdr/status.h>
#include <vdr/plugin.h>
2004-02-15 03:20:00 +01:00
#include <vdr/channels.h>
#include <vdr/transfer.h>
#include <vdr/tools.h>
2015-03-07 21:09:18 +01:00
2015-03-07 21:32:58 +01:00
#include "receiver.h"
#include "svdrpservice.h"
#define MAX_BM_NUMBER 8
2004-02-15 03:20:00 +01:00
class cFemonOsd : public cOsdObject, public cThread, public cStatus {
private:
enum eDeviceSourceType {
DEVICESOURCE_DVBAPI = 0,
DEVICESOURCE_IPTV,
DEVICESOURCE_PVRINPUT,
DEVICESOURCE_COUNT
};
2015-03-07 17:22:02 +01:00
static cFemonOsd *pInstanceS;
2015-03-07 17:22:02 +01:00
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;
2017-05-04 21:47:49 +02:00
double cnrM;
bool cnrValidM;
double signalM;
2015-03-07 17:22:02 +01:00
bool signalValidM;
2017-05-04 21:47:49 +02:00
double berM;
2015-03-07 17:22:02 +01:00
bool berValidM;
2017-05-04 21:47:49 +02:00
double perM;
bool perValidM;
2015-03-07 17:22:02 +01:00
cString frontendNameM;
2017-05-04 21:47:49 +02:00
cString frontendTypeM;
int frontendStatusM;
2015-03-07 17:22:02 +01:00
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);
2004-02-15 03:20:00 +01:00
protected:
cFemonOsd();
cFemonOsd(const cFemonOsd&);
cFemonOsd& operator= (const cFemonOsd&);
2004-02-15 03:20:00 +01:00
virtual void Action(void);
2015-03-07 17:22:02 +01:00
virtual void ChannelSwitch(const cDevice *deviceP, int channelNumberP, bool liveViewP);
virtual void SetAudioTrack(int indexP, const char * const *tracksP);
2004-02-15 03:20:00 +01:00
public:
2015-03-07 17:22:02 +01:00
static cFemonOsd *Instance(bool createP = false);
2004-02-15 03:20:00 +01:00
~cFemonOsd();
virtual void Show(void);
2015-03-07 17:22:02 +01:00
virtual eOSState ProcessKey(eKeys keyP);
2015-03-07 17:22:02 +01:00
bool DeviceSwitch(int directionP);
double GetVideoBitrate(void);
double GetAudioBitrate(void);
double GetDolbyBitrate(void);
2004-02-15 03:20:00 +01:00
};
2015-03-07 21:32:58 +01:00
#endif //__FEMON_OSD_H
2004-02-15 03:20:00 +01:00