mirror of
				https://github.com/rofafor/vdr-plugin-femon.git
				synced 2023-10-10 11:36:53 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 64e56af6dc | ||
|  | 830aa73e1a | ||
|  | 78048d8ea0 | 
							
								
								
									
										12
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -240,3 +240,15 @@ VDR Plugin 'femon' Revision History | ||||
| - Added INFO SVDRP command (partially based on patch by Herbert P<>tzl). | ||||
| - Removed system log option - use SVDRP instead. | ||||
| - Added --remove-destination to the 'cp' command in Makefile. | ||||
|  | ||||
| 2007-01-08: Version 1.1.1 | ||||
|  | ||||
| - Updated for vdr-1.5.0. | ||||
|  | ||||
| 2007-05-01: Version 1.1.2 | ||||
|  | ||||
| - Fixed opening while replaying (Thanks to Antti Sepp<70>l<EFBFBD> for reporting this one). | ||||
|  | ||||
| 2007-05-15: Version 1.1.3 | ||||
|  | ||||
| - Fixed a race condition in cFemonReceiver (Thanks to Reinhard Nissl). | ||||
|   | ||||
							
								
								
									
										11
									
								
								femon.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								femon.c
									
									
									
									
									
								
							| @@ -6,6 +6,7 @@ | ||||
|  * $Id$ | ||||
|  */ | ||||
|  | ||||
| #include <vdr/menu.h> | ||||
| #include <vdr/remote.h> | ||||
| #include "femoncfg.h" | ||||
| #include "femoni18n.h" | ||||
| @@ -72,7 +73,11 @@ cOsdObject *cPluginFemon::MainMenuAction(void) | ||||
| { | ||||
|   // Perform the action when selected from the main VDR menu. | ||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||
|   return cFemonOsd::Instance(true); | ||||
|   if (cReplayControl::NowReplaying()) | ||||
|      Skins.Message(mtInfo, tr("Femon not available while replaying")); | ||||
|   else | ||||
|      return cFemonOsd::Instance(true); | ||||
|   return NULL; | ||||
| } | ||||
|  | ||||
| bool cPluginFemon::SetupParse(const char *Name, const char *Value) | ||||
| @@ -160,6 +165,10 @@ const char **cPluginFemon::SVDRPHelpPages(void) | ||||
| cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) | ||||
| { | ||||
|   if (strcasecmp(Command, "OPEN") == 0) { | ||||
|      if (cReplayControl::NowReplaying()) { | ||||
|         ReplyCode = 550; // Requested action not taken | ||||
|         return cString("Cannot open femon plugin while replaying"); | ||||
|         } | ||||
|      if (!cFemonOsd::Instance()) | ||||
|         cRemote::CallPlugin("femon"); | ||||
|      return cString("Opening femon plugin"); | ||||
|   | ||||
							
								
								
									
										2
									
								
								femon.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								femon.h
									
									
									
									
									
								
							| @@ -11,7 +11,7 @@ | ||||
|  | ||||
| #include <vdr/plugin.h> | ||||
|  | ||||
| static const char VERSION[]       = "1.1.0"; | ||||
| static const char VERSION[]       = "1.1.3"; | ||||
| static const char DESCRIPTION[]   = "DVB Signal Information Monitor (OSD)"; | ||||
| static const char MAINMENUENTRY[] = "Signal Information"; | ||||
|  | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								femonclient/vdr-femonclient-0.0.2.tgz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								femonclient/vdr-femonclient-0.0.2.tgz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										22
									
								
								femoni18n.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								femoni18n.c
									
									
									
									
									
								
							| @@ -2363,6 +2363,28 @@ const tI18nPhrase Phrases[] = { | ||||
|     "", // Dansk | ||||
|     "", // <20>esky (Czech) | ||||
|   }, | ||||
|   { "Femon not available while replaying", // English | ||||
|     "", // Deutsch | ||||
|     "", // Slovenski | ||||
|     "", // Italiano | ||||
|     "", // Nederlands | ||||
|     "", // Portugu<67>s | ||||
|     "", // Fran<61>ais | ||||
|     "", // Norsk | ||||
|     "Signaalimittari ei ole k<>ytett<74>viss<73> toiston aikana", // suomi | ||||
|     "", // Polski | ||||
|     "", // Espa<70>ol | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Greek) | ||||
|     "", // Svenska | ||||
|     "", // Romaneste | ||||
|     "", // Magyar | ||||
|     "", // Catal<61> | ||||
|     "", // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Russian) | ||||
|     "", // Hrvatski (Croatian) | ||||
|     "", // Eesti | ||||
|     "", // Dansk | ||||
|     "", // <20>esky (Czech) | ||||
|   }, | ||||
|   { NULL } | ||||
| }; | ||||
|  | ||||
|   | ||||
							
								
								
									
										10
									
								
								femonosd.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								femonosd.c
									
									
									
									
									
								
							| @@ -602,7 +602,7 @@ void cFemonOsd::Show(void) | ||||
|         cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); | ||||
|         IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0); | ||||
|         IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0); | ||||
|         m_Receiver = new cFemonReceiver(channel->Ca(), channel->Vpid(), apid, dpid); | ||||
|         m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid); | ||||
|         cDevice::ActualDevice()->AttachReceiver(m_Receiver); | ||||
|         } | ||||
|      Start(); | ||||
| @@ -645,7 +645,7 @@ void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber) | ||||
|      cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); | ||||
|      IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0); | ||||
|      IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0); | ||||
|      m_Receiver = new cFemonReceiver(channel->Ca(), channel->Vpid(), apid, dpid); | ||||
|      m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid); | ||||
|      cDevice::ActualDevice()->AttachReceiver(m_Receiver); | ||||
|      } | ||||
| } | ||||
| @@ -662,7 +662,7 @@ void cFemonOsd::SetAudioTrack(int Index, const char * const *Tracks) | ||||
|      cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); | ||||
|      IS_AUDIO_TRACK(track) ? apid[0] = channel->Apid(int(track - ttAudioFirst)) : apid[0] = channel->Apid(0); | ||||
|      IS_DOLBY_TRACK(track) ? dpid[0] = channel->Dpid(int(track - ttDolbyFirst)) : dpid[0] = channel->Dpid(0); | ||||
|      m_Receiver = new cFemonReceiver(channel->Ca(), channel->Vpid(), apid, dpid); | ||||
|      m_Receiver = new cFemonReceiver(channel->GetChannelID(), channel->Ca(), channel->Vpid(), apid, dpid); | ||||
|      cDevice::ActualDevice()->AttachReceiver(m_Receiver); | ||||
|      } | ||||
| } | ||||
| @@ -690,7 +690,11 @@ bool cFemonOsd::DeviceSwitch(int direction) | ||||
|            cDevice::GetDevice(device)->SwitchChannel(channel, true); | ||||
|            if (cDevice::GetDevice(device) == cDevice::PrimaryDevice()) | ||||
|               cDevice::GetDevice(device)->ForceTransferMode(); | ||||
| #if defined(APIVERSNUM) && APIVERSNUM < 10500 | ||||
|            cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids())); | ||||
| #else | ||||
|            cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->GetChannelID(), channel->Vpid(), channel->Apids(), channel->Dpids(), channel->Spids())); | ||||
| #endif | ||||
|            cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number()); | ||||
|            return (true); | ||||
|            } | ||||
|   | ||||
| @@ -17,8 +17,12 @@ | ||||
| #define PAYLOAD       0x10 | ||||
| #define PTS_DTS_FLAGS 0xC0 | ||||
|  | ||||
| cFemonReceiver::cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[]) | ||||
| cFemonReceiver::cFemonReceiver(tChannelID ChannelID, int Ca, int Vpid, int Apid[], int Dpid[]) | ||||
| #if defined(APIVERSNUM) && APIVERSNUM < 10500 | ||||
| :cReceiver(Ca, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver") | ||||
| #else | ||||
| :cReceiver(ChannelID, -1, Vpid, Apid, Dpid, NULL), cThread("femon receiver") | ||||
| #endif | ||||
| { | ||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||
|   m_VideoPid = Vpid; | ||||
| @@ -60,6 +64,7 @@ cFemonReceiver::~cFemonReceiver(void) | ||||
|   Dprintf("%s()\n", __PRETTY_FUNCTION__); | ||||
|   if (Running()) | ||||
|      Cancel(3); | ||||
|   Detach(); | ||||
| } | ||||
|  | ||||
| /* The following function originates from libdvbmpeg: */ | ||||
|   | ||||
| @@ -96,7 +96,7 @@ protected: | ||||
|   virtual void Action(void); | ||||
|  | ||||
| public: | ||||
|   cFemonReceiver(int Ca, int Vpid, int Apid[], int Dpid[]); | ||||
|   cFemonReceiver(tChannelID ChannelID, int Ca, int Vpid, int Apid[], int Dpid[]); | ||||
|   virtual ~cFemonReceiver(); | ||||
|  | ||||
|   bool VideoValid(void)           { return m_VideoValid; };          // boolean | ||||
|   | ||||
		Reference in New Issue
	
	Block a user