summaryrefslogtreecommitdiff
path: root/server/recstreamer.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/recstreamer.h')
-rw-r--r--server/recstreamer.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/server/recstreamer.h b/server/recstreamer.h
new file mode 100644
index 0000000..83df8c1
--- /dev/null
+++ b/server/recstreamer.h
@@ -0,0 +1,32 @@
+#ifndef VDR_STREAMDEV_RECSTREAMER_H
+#define VDR_STREAMDEV_RECSTREAMER_H
+
+#include "server/streamer.h"
+#include "server/recplayer.h"
+
+#define RECBUFSIZE (174 * TS_SIZE)
+
+// --- cStreamdevRecStreamer -------------------------------------------------
+
+class cStreamdevRecStreamer: public cStreamdevStreamer {
+private:
+ //Streamdev::cTSRemux *m_Remux;
+ RecPlayer m_RecPlayer;
+ int64_t m_From;
+ int64_t m_To;
+ uchar m_Buffer[RECBUFSIZE];
+
+protected:
+ virtual uchar* GetFromReceiver(int &Count);
+ virtual void DelFromReceiver(int Count) { m_From += Count; };
+
+public:
+ virtual bool IsReceiving(void) const { return m_From <= m_To; };
+ inline uint64_t GetLength() { return m_RecPlayer.getLengthBytes(); }
+ int64_t SetRange(int64_t &From, int64_t &To);
+ virtual cString ToText() const;
+ cStreamdevRecStreamer(cRecording *Recording, const cServerConnection *Connection);
+ virtual ~cStreamdevRecStreamer();
+};
+
+#endif // VDR_STREAMDEV_RECSTREAMER_H