summaryrefslogtreecommitdiff
path: root/dxr3device.h
diff options
context:
space:
mode:
authoraustriancoder <austriancoder>2004-08-05 23:05:21 +0000
committeraustriancoder <austriancoder>2004-08-05 23:05:21 +0000
commitc47666d42f7972e1b51f9de61ce0fa27c72f3127 (patch)
treee34a87e37901b7f892fb6f330ccb15bcba30039b /dxr3device.h
downloadvdr-plugin-dxr3-c47666d42f7972e1b51f9de61ce0fa27c72f3127.tar.gz
vdr-plugin-dxr3-c47666d42f7972e1b51f9de61ce0fa27c72f3127.tar.bz2
initial import
Diffstat (limited to 'dxr3device.h')
-rw-r--r--dxr3device.h65
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_*/