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>
|
|
|
|
|
2013-03-27 21:13:15 +01:00
|
|
|
#include "deviceif.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:
|
2013-02-23 14:31:11 +01:00
|
|
|
cCondWait sleepM;
|
2013-03-27 21:13:15 +01:00
|
|
|
cIptvDeviceIf* deviceM;
|
2013-02-23 14:31:11 +01:00
|
|
|
unsigned char* packetBufferM;
|
|
|
|
unsigned int packetBufferLenM;
|
|
|
|
cIptvProtocolIf* protocolM;
|
2007-09-12 20:33:56 +02:00
|
|
|
|
2009-03-20 23:56:37 +01:00
|
|
|
protected:
|
|
|
|
virtual void Action(void);
|
|
|
|
|
2007-09-12 19:28:59 +02:00
|
|
|
public:
|
2013-03-27 21:13:15 +01:00
|
|
|
cIptvStreamer(cIptvDeviceIf &deviceP, unsigned int packetLenP);
|
2007-09-12 19:28:59 +02:00
|
|
|
virtual ~cIptvStreamer();
|
2014-02-09 18:22:02 +01:00
|
|
|
bool SetSource(const char* locationP, const int parameterP, const int indexP, cIptvProtocolIf* protocolP);
|
|
|
|
bool SetPid(int pidP, int typeP, bool onP);
|
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
|