diff options
Diffstat (limited to 'server/streamer.c')
-rw-r--r-- | server/streamer.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/server/streamer.c b/server/streamer.c index 16411ed..d1a9b3e 100644 --- a/server/streamer.c +++ b/server/streamer.c @@ -8,7 +8,6 @@ #include <unistd.h> #include "server/streamer.h" -#include "server/suspend.h" #include "tools/socket.h" #include "tools/select.h" #include "common.h" @@ -108,21 +107,37 @@ void cStreamdevWriter::Action(void) Dprintf("Max. Transmit Blocksize was: %d\n", max); } +// --- cRemuxDummy ------------------------------------------------------------ + +class cRemuxDummy: public Streamdev::cTSRemux { +private: + cStreamdevBuffer m_Buffer; +public: + cRemuxDummy(); + virtual int Put(const uchar *Data, int Count) { return m_Buffer.Put(Data, Count); } + virtual uchar *Get(int& Count) { return m_Buffer.Get(Count); } + virtual void Del(int Count) { return m_Buffer.Del(Count); } +}; + +cRemuxDummy::cRemuxDummy(): m_Buffer(WRITERBUFSIZE, TS_SIZE * 2) +{ + m_Buffer.SetTimeouts(100, 100); +} + // --- cStreamdevStreamer ----------------------------------------------------- cStreamdevStreamer::cStreamdevStreamer(const char *Name, const cServerConnection *Connection): cThread(Name), m_Connection(Connection), - m_Writer(NULL), - m_SendBuffer(new cStreamdevBuffer(WRITERBUFSIZE, TS_SIZE * 2)) + m_Remux(new cRemuxDummy()), + m_Writer(NULL) { - m_SendBuffer->SetTimeouts(100, 100); } cStreamdevStreamer::~cStreamdevStreamer() { Dprintf("Desctructing streamer\n"); - delete m_SendBuffer; + delete m_Remux; } void cStreamdevStreamer::Start(cTBSocket *Socket) @@ -163,3 +178,7 @@ void cStreamdevStreamer::Action(void) } } +int cStreamdevStreamer::Put(const uchar *Data, int Count) { + return m_Remux->Put(Data, Count); +} + |