diff options
| author | Frank Schmirler <vdr@schmirler.de> | 2012-12-16 13:29:15 +0100 |
|---|---|---|
| committer | Frank Schmirler <vdr@schmirler.de> | 2012-12-16 13:29:15 +0100 |
| commit | 9135cde7121b72c24907752e64c519696d38154e (patch) | |
| tree | f0033d7c4bb309f79f56bbdb1e99881622caeaff /server/recstreamer.h | |
| parent | 0cf406ed3ab2ab465787f5a425dec8d7d705903e (diff) | |
| download | vdr-plugin-streamdev-9135cde7121b72c24907752e64c519696d38154e.tar.gz vdr-plugin-streamdev-9135cde7121b72c24907752e64c519696d38154e.tar.bz2 | |
Basic support for HTTP streaming of recordings
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 |
