mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
				synced 2023-10-10 17:16:51 +00:00 
			
		
		
		
	with the "red" key. The former main menu action of suspending live TV moved to the "blue" key. Squashed commit of the following: commit7175d7de91Author: Frank Schmirler <vdr@schmirler.de> Date: Sun Nov 27 11:51:26 2011 +0100 Updated README commit94aef85adcAuthor: Frank Schmirler <vdr@schmirler.de> Date: Sun Nov 27 11:32:16 2011 +0100 Moved "closing connection" log message to overload of cTBSocket::Close() in cServerConnection. commit9b91301d94Author: Frank Schmirler <vdr@schmirler.de> Date: Fri Nov 25 00:24:37 2011 +0100 Don't keep a pointer to the connection in components MulticastGroup structure as the connection may now be deleted from outside via menu. commit7347e24123Author: Frank Schmirler <vdr@schmirler.de> Date: Thu Nov 24 23:45:59 2011 +0100 Fixed missing Display() call after disconnecting a client. commitc652e8fa81Author: Frank Schmirler <vdr@schmirler.de> Date: Tue Nov 22 01:15:09 2011 +0100 Added server menu with list of clients. Connections can be terminated with the "red" key. The former main menu action of suspending live TV moved to the "blue" key.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  *  $Id: connectionIGMP.h,v 1.1 2009/02/13 10:39:22 schmirl Exp $
 | |
|  */
 | |
|  
 | |
| #ifndef VDR_STREAMDEV_SERVERS_CONNECTIONIGMP_H
 | |
| #define VDR_STREAMDEV_SERVERS_CONNECTIONIGMP_H
 | |
| 
 | |
| #include "connection.h"
 | |
| #include "server/livestreamer.h"
 | |
| 
 | |
| #include <tools/select.h>
 | |
| 
 | |
| #define MULTICAST_PRIV_MIN ((uint32_t) 0xefff0000)
 | |
| #define MULTICAST_PRIV_MAX ((uint32_t) 0xeffffeff)
 | |
| 
 | |
| class cStreamdevLiveStreamer;
 | |
| 
 | |
| class cConnectionIGMP: public cServerConnection {
 | |
| private:
 | |
| 	cStreamdevLiveStreamer           *m_LiveStreamer;
 | |
| 	int                               m_ClientPort;
 | |
| 	eStreamType                       m_StreamType;
 | |
| 	cChannel                         *m_Channel;
 | |
| 
 | |
| public:
 | |
| 	cConnectionIGMP(const char* Name, int ClientPort, eStreamType StreamType);
 | |
| 	virtual ~cConnectionIGMP();
 | |
| 
 | |
| 	bool SetChannel(cChannel *Channel, in_addr_t Dst);
 | |
| 	virtual void Welcome(void);
 | |
| 	virtual cString ToText() const;
 | |
| 
 | |
| 	/* Not used here */
 | |
| 	virtual bool Command(char *Cmd) { return false; }
 | |
| 
 | |
| 	virtual void Attach(void) { if (m_LiveStreamer != NULL) m_LiveStreamer->Attach(); }
 | |
| 	virtual void Detach(void) { if (m_LiveStreamer != NULL) m_LiveStreamer->Detach(); }
 | |
| 	virtual bool Close(void);
 | |
| 
 | |
| 	virtual bool Abort(void) const;
 | |
| };
 | |
| 
 | |
| inline bool cConnectionIGMP::Abort(void) const
 | |
| {
 | |
| 	return !IsOpen() || !m_LiveStreamer || m_LiveStreamer->Abort();
 | |
| }
 | |
| 
 | |
| #endif // VDR_STREAMDEV_SERVERS_CONNECTIONIGMP_H
 |