summaryrefslogtreecommitdiff
path: root/streamdevice.h
diff options
context:
space:
mode:
Diffstat (limited to 'streamdevice.h')
-rw-r--r--streamdevice.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/streamdevice.h b/streamdevice.h
new file mode 100644
index 0000000..64a1f0b
--- /dev/null
+++ b/streamdevice.h
@@ -0,0 +1,48 @@
+/*
+ * streamdevice.h: streaming network device
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ */
+
+#ifndef _STREAMDEVICE__H
+#define _STREAMDEVICE__H
+
+#define TS_VPID 99
+#define TS_APID 100
+
+#include <vdr/device.h>
+
+#include "pes2ts.h"
+
+class cStreamDevice: public cDevice {
+private:
+ cPES2TSRemux *m_Remux;
+protected:
+public:
+ cStreamDevice(void);
+ ~cStreamDevice(void);
+ virtual bool HasDecoder(void) const;
+ virtual bool CanReplay(void) const;
+ virtual bool SetPlayMode(ePlayMode PlayMode);
+ virtual void TrickSpeed(int Speed);
+ virtual void Clear(void);
+ virtual void Play(void);
+ virtual void Freeze(void);
+ virtual void Mute(void);
+ virtual void SetVolumeDevice (int Volume);
+ 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 int PlayAudio(const uchar *Data, int Length);
+ virtual int ProvidesCa(const cChannel *Channel) const;
+ virtual void MakePrimaryDevice(bool On);
+ uchar *Get(int &Count) { return m_Remux->Get(Count); }
+ void LockOutput() { m_Remux->LockOutput(); }
+ void UnlockOutput() { m_Remux->UnlockOutput(); }
+ void Del(int Count) { m_Remux->DelOutput(Count); }
+ void ClearOutput() { m_Remux->ClearOutput(); }
+ int Available(void) { return m_Remux->Available(); }
+};
+
+#endif