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.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#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-10 00:12:17 +02:00
|
|
|
class cIptvStreamer : public cThread, public cIptvStreamerStatistics {
|
2007-09-12 19:28:59 +02:00
|
|
|
private:
|
2007-09-14 17:44:25 +02:00
|
|
|
cRingBufferLinear* ringBuffer;
|
2008-09-10 16:22:36 +02:00
|
|
|
cCondWait sleep;
|
2009-02-26 15:04:12 +01:00
|
|
|
unsigned char* packetBuffer;
|
|
|
|
unsigned int packetBufferLen;
|
2007-09-14 17:44:25 +02:00
|
|
|
cIptvProtocolIf* protocol;
|
2007-09-12 20:33:56 +02:00
|
|
|
|
2007-09-12 19:28:59 +02:00
|
|
|
public:
|
2009-02-26 15:04:12 +01:00
|
|
|
cIptvStreamer(cRingBufferLinear* RingBuffer, unsigned int PacketLen);
|
2007-09-12 19:28:59 +02:00
|
|
|
virtual ~cIptvStreamer();
|
2007-09-13 18:58:22 +02:00
|
|
|
virtual void Action(void);
|
2007-10-20 00:18:55 +02:00
|
|
|
bool Set(const char* Location, const int Parameter, const int Index, cIptvProtocolIf* Protocol);
|
2007-09-14 17:44:25 +02:00
|
|
|
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
|