summaryrefslogtreecommitdiff
path: root/server/livestreamer.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/livestreamer.h')
-rw-r--r--server/livestreamer.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/server/livestreamer.h b/server/livestreamer.h
index ad41141..4af7b11 100644
--- a/server/livestreamer.h
+++ b/server/livestreamer.h
@@ -7,6 +7,8 @@
#include "server/streamer.h"
#include "common.h"
+#define LIVEBUFSIZE (20000 * TS_SIZE)
+
namespace Streamdev {
class cTSRemux;
}
@@ -24,12 +26,19 @@ private:
const cChannel *m_Channel;
cDevice *m_Device;
cStreamdevLiveReceiver *m_Receiver;
+ cStreamdevBuffer *m_ReceiveBuffer;
cStreamdevPatFilter *m_PatFilter;
Streamdev::cTSRemux *m_Remux;
void StartReceiver(void);
bool HasPid(int Pid);
+protected:
+ virtual uchar* GetFromReceiver(int &Count) { return m_ReceiveBuffer->Get(Count); }
+ virtual void DelFromReceiver(int Count) { m_ReceiveBuffer->Del(Count); }
+
+ virtual int Put(const uchar *Data, int Count);
+
public:
cStreamdevLiveStreamer(int Priority, const cServerConnection *Connection);
virtual ~cStreamdevLiveStreamer();
@@ -42,7 +51,7 @@ public:
void GetSignal(int *DevNum, int *Strength, int *Quality) const;
cString ToText() const;
- virtual int Put(const uchar *Data, int Count);
+ void Receive(uchar *Data, int Length);
virtual uchar *Get(int &Count);
virtual void Del(int Count);