mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	- Added missing German OSD texts for 'Audio language'. - The Setup/CICAM menu now only contains the devices that actually have a CI and dynamically detects the number of slots a CI provides. - Implemented cAudioRepacker for better handling of audio PES packets (thanks to Reinhard Nissl). - Modified handling of audio packets for radio channels in remux.c (thanks to Reinhard Nissl). - Updated the Danish OSD texts (thanks to Mogens Elneff). - Fixed the EPG scan, so that it doesn't use the primary device if that is currently in Transfer-Mode from itself (thanks to Marcus Hilbrich for a bug report that lead to this). - Removed the TUNER_LOCK_TIMEOUT in cDevice::AttachReceiver() since it caused more trouble than it fixed. - Fixed detecting short channel names for "Kabel Deutschland", who uses a comma as delimiter (thanks to Marco Schlüßler). - Moved cMenuEditTimer and cMenuEvent to menu.h so that plugins can use it (suggested by Thomas Günther). - The new static function cString::sprintf() can be used to easily create a formatted string. - Plugins can now implement their own SVDRP commands (based on a patch from Hardy Flor). See PLUGINS.html, section "SVDRP commands" for details. The SVDRP commands of a plugin are accessed through the new SVDRP command PLUG. See PLUGINS/src/svdrpdemo for an example of how to use this feature. - The new SVDRP command PLAY can be used to start replaying a recording (thanks to Hardy Flor). - The new SVDRP command EDIT can be used to start the editing process of a recording (based on the CUTR patch by Harald Milz).
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * svdrp.h: Simple Video Disk Recorder Protocol
 | |
|  *
 | |
|  * See the main source file 'vdr.c' for copyright information and
 | |
|  * how to reach the author.
 | |
|  *
 | |
|  * $Id: svdrp.h 1.23 2005/08/28 14:10:32 kls Exp $
 | |
|  */
 | |
| 
 | |
| #ifndef __SVDRP_H
 | |
| #define __SVDRP_H
 | |
| 
 | |
| #include "recording.h"
 | |
| #include "tools.h"
 | |
| 
 | |
| class cSocket {
 | |
| private:
 | |
|   int port;
 | |
|   int sock;
 | |
|   int queue;
 | |
|   void Close(void);
 | |
| public:
 | |
|   cSocket(int Port, int Queue = 1);
 | |
|   ~cSocket();
 | |
|   bool Open(void);
 | |
|   int Accept(void);
 | |
|   };
 | |
| 
 | |
| class cPUTEhandler {
 | |
| private:
 | |
|   FILE *f;
 | |
|   int status;
 | |
|   const char *message;
 | |
| public:
 | |
|   cPUTEhandler(void);
 | |
|   ~cPUTEhandler();
 | |
|   bool Process(const char *s);
 | |
|   int Status(void) { return status; }
 | |
|   const char *Message(void) { return message; }
 | |
|   };
 | |
| 
 | |
| class cSVDRP {
 | |
| private:
 | |
|   cSocket socket;
 | |
|   cFile file;
 | |
|   cRecordings Recordings;
 | |
|   cPUTEhandler *PUTEhandler;
 | |
|   uint numChars;
 | |
|   char cmdLine[MAXPARSEBUFFER];
 | |
|   char *message;
 | |
|   time_t lastActivity;
 | |
|   void Close(bool Timeout = false);
 | |
|   bool Send(const char *s, int length = -1);
 | |
|   void Reply(int Code, const char *fmt, ...);
 | |
|   void PrintHelpTopics(const char **hp);
 | |
|   void CmdCHAN(const char *Option);
 | |
|   void CmdCLRE(const char *Option);
 | |
|   void CmdDELC(const char *Option);
 | |
|   void CmdDELR(const char *Option);
 | |
|   void CmdDELT(const char *Option);
 | |
|   void CmdEDIT(const char *Option);
 | |
|   void CmdGRAB(const char *Option);
 | |
|   void CmdHELP(const char *Option);
 | |
|   void CmdHITK(const char *Option);
 | |
|   void CmdLSTC(const char *Option);
 | |
|   void CmdLSTE(const char *Option);
 | |
|   void CmdLSTR(const char *Option);
 | |
|   void CmdLSTT(const char *Option);
 | |
|   void CmdMESG(const char *Option);
 | |
|   void CmdMODC(const char *Option);
 | |
|   void CmdMODT(const char *Option);
 | |
|   void CmdMOVC(const char *Option);
 | |
|   void CmdMOVT(const char *Option);
 | |
|   void CmdNEWC(const char *Option);
 | |
|   void CmdNEWT(const char *Option);
 | |
|   void CmdNEXT(const char *Option);
 | |
|   void CmdPLAY(const char *Option);
 | |
|   void CmdPLUG(const char *Option);
 | |
|   void CmdPUTE(const char *Option);
 | |
|   void CmdSCAN(const char *Option);
 | |
|   void CmdSTAT(const char *Option);
 | |
|   void CmdUPDT(const char *Option);
 | |
|   void CmdVOLU(const char *Option);
 | |
|   void Execute(char *Cmd);
 | |
| public:
 | |
|   cSVDRP(int Port);
 | |
|   ~cSVDRP();
 | |
|   bool HasConnection(void) { return file.IsOpen(); }
 | |
|   bool Process(void);
 | |
|   char *GetMessage(void);
 | |
|   };
 | |
| 
 | |
| #endif //__SVDRP_H
 |