diff options
author | austriancoder <austriancoder> | 2004-08-05 23:05:21 +0000 |
---|---|---|
committer | austriancoder <austriancoder> | 2004-08-05 23:05:21 +0000 |
commit | c47666d42f7972e1b51f9de61ce0fa27c72f3127 (patch) | |
tree | e34a87e37901b7f892fb6f330ccb15bcba30039b /dxr3device.h | |
download | vdr-plugin-dxr3-c47666d42f7972e1b51f9de61ce0fa27c72f3127.tar.gz vdr-plugin-dxr3-c47666d42f7972e1b51f9de61ce0fa27c72f3127.tar.bz2 |
initial import
Diffstat (limited to 'dxr3device.h')
-rw-r--r-- | dxr3device.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/dxr3device.h b/dxr3device.h new file mode 100644 index 0000000..69ad28d --- /dev/null +++ b/dxr3device.h @@ -0,0 +1,65 @@ +#ifndef _DXR3_DEVICE_H_ +#define _DXR3_DEVICE_H_ + +#include "dxr3interface.h" +#include "dxr3log.h" +#include "dxr3demuxdevice.h" +#include "dxr3spudecoder.h" +#include <string> +using namespace std; + +// ================================== +// our device :) +class cDxr3Device : public cDevice, public Singleton<cDxr3Device> +{ +public: + cDxr3Device(); + cDxr3Device(cDxr3Interface& demuxDevice); + ~cDxr3Device(); + + virtual void MakePrimaryDevice(bool On); + + // replaying + virtual bool HasDecoder() const; + virtual bool CanReplay() const; + virtual bool SetPlayMode(ePlayMode PlayMode); + virtual int64_t GetSTC(); + virtual void TrickSpeed(int Speed); + virtual void Clear(); + virtual void Play(); + virtual void Freeze(); + virtual void Mute(); + virtual void StillPicture(const uchar *Data, int Length); + virtual bool Poll(cPoller &Poller, int TimeoutMs = 0); + virtual int PlayVideo(const uchar *Data, int Length); + virtual void PlayAudio(const uchar *Data, int Length); + + // addition functions + virtual bool GrabImage(const char *FileName, bool Jpeg = true, int Quality = -1, int SizeX = -1, int SizeY = -1); + virtual void SetVideoFormat(bool VideoFormat16_9); + virtual void SetVolumeDevice(int Volume); + + // osd + virtual cSpuDecoder *GetSpuDecoder(); + #if VDRVERSNUM < 10307 + virtual cOsdBase* NewOsd(int x, int y); + #endif + + // helper function + void Reset() { m_CalledBySet = true; SetPlayMode(m_PlayMode); m_CalledBySet = false; } + +protected: + ePlayMode m_PlayMode; + cDxr3DemuxDevice m_DemuxDevice; + bool m_AC3Present; + bool m_CalledBySet; + string m_strBuf; + int m_Offset; + + //virtual bool SetPlayMode(ePlayMode PlayMode); + //uint8_t m_pBuffer[MAX_VIDEO_BUFFER_SIZE]; + //cDxr3StartStopThread* m_pStartStopThread; + cDxr3SpuDecoder* m_spuDecoder; +}; + +#endif /*_DXR3_DEVICE_H_*/ |