#ifndef VDR_MPLAYERCLUSTER_PLAYER_H
#define VDR_MPLAYERCLUSTER_PLAYER_H

#include <vdr/player.h>

#include "compatibility.h"

#include "cstring.h"
#include "transceiver.h"

class cRingBufferFrame;
class cFrame;

class cClusterPlayer: public cPlayer, cThread {
private:
	bool    m_Active;
	cString m_Filename;
	cRingBufferFrame *m_RingBuffer;
	cFrame *m_ReadFrame;
	const cFrame *m_PlayFrame;
	cClusterTransceiver m_Transceiver;

protected:
	virtual void Activate(bool On);
	virtual void Action(void);

public:
	cClusterPlayer(const char *Filename);
	virtual ~cClusterPlayer();

	eOSState PutRemote(eKeys Key) { return m_Transceiver.PutRemote(Key); }
};

#endif // VDR_MPLAYERCLUSTER_PLAYER_H
