diff options
Diffstat (limited to 'femonreceiver.h')
-rw-r--r-- | femonreceiver.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/femonreceiver.h b/femonreceiver.h new file mode 100644 index 00000000..75ea6f0b --- /dev/null +++ b/femonreceiver.h @@ -0,0 +1,62 @@ +/* + * Frontend Status Monitor plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + */ + +#ifndef __FEMONRECEIVER_H +#define __FEMONRECEIVER_H + +#include <vdr/thread.h> +#include <vdr/receiver.h> +#include "baserender.h" + +class cFemonReceiver : public cFlatBaseRender, public cReceiver, public cThread { +private: + cMutex m_Mutex; + cCondWait m_Sleep; + bool m_Active; + + + cRingBufferLinear m_VideoBuffer; // Y + cTsToPes m_VideoAssembler; + int m_VideoType; + int m_VideoPid; // Y + int m_VideoPacketCount; // Y + double m_VideoBitrate; + + cRingBufferLinear m_AudioBuffer; // Y + cTsToPes m_AudioAssembler; + int m_AudioPid; // Y + int m_AudioPacketCount; // Y + double m_AudioBitrate; + bool m_AudioValid; + + cRingBufferLinear m_AC3Buffer; // Y + cTsToPes m_AC3Assembler; + int m_AC3Pid; // Y + int m_AC3PacketCount; // Y + double m_AC3Bitrate; // Y + bool m_AC3Valid; + +protected: + virtual void Activate(bool On); + virtual void Receive(uchar *Data, int Length); + virtual void Action(void); + +public: + cFemonReceiver(const cChannel* Channel, int ATrack, int DTrack); + virtual ~cFemonReceiver(); + void Deactivate(void); + + double VideoBitrate(void) { cMutexLock MutexLock(&m_Mutex); + return m_VideoBitrate; }; // bit/s + double AudioBitrate(void) { cMutexLock MutexLock(&m_Mutex); + return m_AudioBitrate; }; // bit/s + double AC3Bitrate(void) { cMutexLock MutexLock(&m_Mutex); + return m_AC3Bitrate; }; // bit/s + }; + +#endif //__FEMONRECEIVER_H + |