diff options
Diffstat (limited to 'server/recstreamer.h')
-rw-r--r-- | server/recstreamer.h | 32 |
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 |