diff options
author | lordjaxom <lordjaxom> | 2004-12-30 22:43:55 +0000 |
---|---|---|
committer | lordjaxom <lordjaxom> | 2004-12-30 22:43:55 +0000 |
commit | 302fa2e67276bd0674e81e2a9a01b9e91dd45d8c (patch) | |
tree | a454884a16e0ffa48b5ce3e4ce1a66eb874a9de0 /server/streamer.h | |
download | vdr-plugin-streamdev-302fa2e67276bd0674e81e2a9a01b9e91dd45d8c.tar.gz vdr-plugin-streamdev-302fa2e67276bd0674e81e2a9a01b9e91dd45d8c.tar.bz2 |
Initial revision
Diffstat (limited to 'server/streamer.h')
-rw-r--r-- | server/streamer.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/server/streamer.h b/server/streamer.h new file mode 100644 index 0000000..1bfcc47 --- /dev/null +++ b/server/streamer.h @@ -0,0 +1,43 @@ +/* + * $Id: streamer.h,v 1.1 2004/12/30 22:44:21 lordjaxom Exp $ + */ + +#ifndef VDR_STREAMDEV_STREAMER_H +#define VDR_STREAMDEV_STREAMER_H + +#include <vdr/thread.h> +#include <vdr/ringbuffer.h> +#include <vdr/tools.h> + +class cTBSocket; + +class cStreamdevStreamer: public cThread { +private: + bool m_Active; + int m_Receivers; + uchar *m_Buffer; + const char *m_Name; + cTBSocket *m_Socket; + cRingBufferLinear *m_RingBuffer; + +protected: + virtual uchar *Process(const uchar *Data, int &Count, int &Result); + virtual void Action(void); + + const cTBSocket *Socket(void) const { return m_Socket; } + +public: + cStreamdevStreamer(const char *Name); + virtual ~cStreamdevStreamer(); + + virtual void Start(cTBSocket *Socket); + virtual void Stop(void); + + int Put(uchar *Data, int Length) { return m_RingBuffer->Put(Data, Length); } + + virtual void Detach(void) = 0; + virtual void Attach(void) = 0; +}; + +#endif // VDR_STREAMDEV_STREAMER_H + |