vdr-plugin-iptv/streamer.h

40 lines
944 B
C
Raw Normal View History

2007-09-12 19:28:59 +02:00
/*
* streamer.h: IPTV plugin for the Video Disk Recorder
*
* See the README file for copyright information and how to reach the author.
*
2007-10-09 19:58:17 +02:00
* $Id: streamer.h,v 1.10 2007/10/09 17:58:17 ajhseppa Exp $
2007-09-12 19:28:59 +02:00
*/
#ifndef __IPTV_STREAMER_H
#define __IPTV_STREAMER_H
#include <arpa/inet.h>
#include <vdr/thread.h>
#include <vdr/ringbuffer.h>
2007-09-14 17:44:25 +02:00
#include "protocolif.h"
2007-10-05 21:00:44 +02:00
#include "statistics.h"
2007-09-14 17:44:25 +02:00
2007-10-09 19:58:17 +02:00
class cIptvStreamer : public cThread, public cIptvStreamerStatistics, public cIptvBufferStatistics {
2007-09-12 19:28:59 +02:00
private:
2007-09-14 17:44:25 +02:00
cRingBufferLinear* ringBuffer;
2007-09-12 19:28:59 +02:00
cMutex* mutex;
2007-09-14 17:44:25 +02:00
unsigned char* readBuffer;
unsigned int readBufferLen;
cIptvProtocolIf* protocol;
2007-09-12 19:28:59 +02:00
public:
2007-09-14 17:44:25 +02:00
cIptvStreamer(cRingBufferLinear* RingBuffer, cMutex* Mutex);
2007-09-12 19:28:59 +02:00
virtual ~cIptvStreamer();
2007-09-13 18:58:22 +02:00
virtual void Action(void);
2007-09-14 17:44:25 +02:00
bool Set(const char* Address, const int Port, cIptvProtocolIf* Protocol);
bool Open(void);
bool Close(void);
2007-10-08 00:54:09 +02:00
cString GetInformation(void);
2007-09-12 19:28:59 +02:00
};
#endif // __IPTV_STREAMER_H