mirror of
				https://github.com/rofafor/vdr-plugin-satip.git
				synced 2023-10-10 11:37:42 +00:00 
			
		
		
		
	Compare commits
	
		
			59 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | c07d921193 | ||
|  | d333bcebb7 | ||
|  | 0ce8ae7206 | ||
|  | 2c6c6ea5fd | ||
|  | 28cc3cae63 | ||
|  | 0abccf2370 | ||
|  | f303298923 | ||
|  | f3fe1e9a13 | ||
|  | 364b4fbec7 | ||
|  | b004793ef3 | ||
|  | ae403212f7 | ||
|  | 09941322b1 | ||
|  | 3713d1a1fa | ||
|  | 2355dad37b | ||
|  | de6c0e1f89 | ||
|  | bbd7f2da51 | ||
|  | e11396e84d | ||
|  | dfb050c297 | ||
|  | ee88aadf60 | ||
|  | e405a31f48 | ||
|  | 1a254029d5 | ||
|  | 87f9555290 | ||
|  | b21398938b | ||
|  | fb6282b44f | ||
|  | 01533ef6be | ||
|  | 1ca7cae7e4 | ||
|  | 974c26bdd6 | ||
|  | ed99cfba79 | ||
|  | 5b01fa34aa | ||
|  | 0bad1c1702 | ||
|  | 6573c38fb6 | ||
|  | 581ac4966d | ||
|  | 99e366b261 | ||
|  | 3b89dd4b01 | ||
|  | ee6ac0d48a | ||
|  | e6c9776ec9 | ||
|  | 7aef2a3dff | ||
|  | 61b56db909 | ||
|  | 4c45787541 | ||
|  | f65dca2910 | ||
|  | db0c18ba33 | ||
|  | 0f9e0014df | ||
|  | 6bb7fb511b | ||
|  | 7815821824 | ||
|  | bc481bcc4d | ||
|  | 7289da9f41 | ||
|  | d5e0106d8e | ||
|  | fe532e2248 | ||
|  | b5483b9d77 | ||
|  | fd23b0483a | ||
|  | 18c9b79533 | ||
|  | e4f560c66e | ||
|  | 57ea119d03 | ||
|  | ae8298d19a | ||
|  | b755dbf318 | ||
|  | 8f12ce6f55 | ||
|  | 9d5f7cc703 | ||
|  | c1a881ba94 | ||
|  | 165fd5b14a | 
							
								
								
									
										42
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -165,45 +165,3 @@ VDR Plugin 'satip' Revision History | ||||
| - Added support for FRITZ!Box 6490 Cable (Thanks to 9000h). | ||||
| - Updated FRITZ!WLAN Repeater DVB-C detection for the latest firmware (Thanks to 9000h). | ||||
| - Added GCC7 compatibility (Thanks to Sascha Kuehndel). | ||||
|  | ||||
|  | ||||
| =================================== | ||||
| VDR Plugin 'satip' Revision History | ||||
| =================================== | ||||
|  | ||||
| 2016-12-18: Version 2.3.0 | ||||
|  | ||||
| - Updated for vdr-2.3.1. | ||||
| - Updated German translation (Thanks to Frank Neumann). | ||||
| - Fixed Panasonic CXW804 support (Thanks to Tobias Grimm). | ||||
| - Fixed C++11 support (Thanks to Tobias Grimm). | ||||
| - Fixed server assigment with source validation (Thanks to Patrick Boettcher). | ||||
| - Added configurable RTP/RTCP ports (Thanks to chriszero). | ||||
| - Added support for X-SATIP-RTSP-Port header. | ||||
| - Added multicast and RTP-over-TCP support. | ||||
| - Added support for activating/deactivating server on-the-fly. | ||||
| - Extended command-line parameters for setting server quirks. | ||||
|  | ||||
| 2017-08-15: Version 2.3.1 | ||||
|  | ||||
| - Updated for vdr-2.3.7 (Thanks to Klaus Schmidinger). | ||||
| - Added Polish translation (Thanks to Tomasz Nowak). | ||||
| - Updated Catalan and Spanish translations (Thanks to Gabriel Bonich). | ||||
| - Added support for KATHREIN SatIP Server (Thanks to kavanu). | ||||
| - Added support for FRITZ!Box 6490 Cable (Thanks to 9000h). | ||||
| - Updated FRITZ!WLAN Repeater DVB-C detection for the latest firmware (Thanks to 9000h). | ||||
| - Added GCC7 compatibility (Thanks to Sascha Kuehndel). | ||||
|  | ||||
|  | ||||
| =================================== | ||||
| VDR Plugin 'satip' Revision History | ||||
| =================================== | ||||
|  | ||||
| 2018-04-15: Version 2.4.0 | ||||
|  | ||||
| - Updated for vdr-2.4.0. | ||||
| - Removed speed limit. | ||||
| - Fixed transport media changes. | ||||
| - Fixed memory leak in cSatipSectionFilter (Thanks to Alexander Pipelka). | ||||
| - Added more robust section filter handling (Thanks to Alexander Pipelka). | ||||
| - Added a command line parameter for the RTP receive buffer size (Thanks to Stefan Rehm). | ||||
|   | ||||
							
								
								
									
										27
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Makefile
									
									
									
									
									
								
							| @@ -88,15 +88,14 @@ all: $(SOFILE) i18n | ||||
| ### Implicit rules: | ||||
|  | ||||
| %.o: %.c | ||||
| 	@echo CC $@ | ||||
| 	$(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< | ||||
| 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< | ||||
|  | ||||
| ### Dependencies: | ||||
|  | ||||
| MAKEDEP = $(CXX) -MM -MG | ||||
| DEPFILE = .dependencies | ||||
| $(DEPFILE): Makefile | ||||
| 	$(Q)$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ | ||||
| 	@$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ | ||||
|  | ||||
| -include $(DEPFILE) | ||||
|  | ||||
| @@ -109,21 +108,17 @@ I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLU | ||||
| I18Npot   = $(PODIR)/$(PLUGIN).pot | ||||
|  | ||||
| %.mo: %.po | ||||
| 	@echo MO $@ | ||||
| 	$(Q)msgfmt -c -o $@ $< | ||||
| 	msgfmt -c -o $@ $< | ||||
|  | ||||
| $(I18Npot): $(wildcard *.c) | ||||
| 	@echo GT $@ | ||||
| 	$(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^` | ||||
| 	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^` | ||||
|  | ||||
| %.po: $(I18Npot) | ||||
| 	@echo PO $@ | ||||
| 	$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< | ||||
| 	msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< | ||||
| 	@touch $@ | ||||
|  | ||||
| $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo | ||||
| 	@echo IN $@ | ||||
| 	$(Q)install -D -m644 $< $@ | ||||
| 	install -D -m644 $< $@ | ||||
|  | ||||
| .PHONY: i18n | ||||
| i18n: $(I18Nmo) $(I18Npot) | ||||
| @@ -133,13 +128,11 @@ install-i18n: $(I18Nmsgs) | ||||
| ### Targets: | ||||
|  | ||||
| $(SOFILE): $(OBJS) | ||||
| 	@echo LD $@ | ||||
| 	$(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@ | ||||
| 	$(Q)$(STRIP) $@ | ||||
| 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@ | ||||
| 	@$(STRIP) $@ | ||||
|  | ||||
| install-lib: $(SOFILE) | ||||
| 	@echo IN $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) | ||||
| 	$(Q)install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) | ||||
| 	install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) | ||||
|  | ||||
| install-conf: | ||||
| 	@mkdir -p $(DESTDIR)$(CFGDIR)/plugins/$(PLUGIN) | ||||
| @@ -160,4 +153,4 @@ clean: | ||||
|  | ||||
| .PHONY: cppcheck | ||||
| cppcheck: | ||||
| 	$(Q)cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c) | ||||
| 	@cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c) | ||||
|   | ||||
							
								
								
									
										56
									
								
								device.c
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								device.c
									
									
									
									
									
								
							| @@ -19,9 +19,8 @@ cMutex cSatipDevice::mutexS = cMutex(); | ||||
|  | ||||
| cSatipDevice::cSatipDevice(unsigned int indexP) | ||||
| : deviceIndexM(indexP), | ||||
|   bytesDeliveredM(0), | ||||
|   isPacketDeliveredM(false), | ||||
|   isOpenDvrM(false), | ||||
|   checkTsBufferM(false), | ||||
|   deviceNameM(*cString::sprintf("%s %d", *DeviceType(), deviceIndexM)), | ||||
|   channelM(), | ||||
|   createdM(0), | ||||
| @@ -108,8 +107,12 @@ cString cSatipDevice::GetSatipStatus(void) | ||||
|          bool live = (device == cDevice::ActualDevice()); | ||||
|          bool lock = device->HasLock(); | ||||
|          const cChannel *channel = device->GetCurrentlyTunedTransponder(); | ||||
| #if defined(APIVERSNUM) && APIVERSNUM >= 20301 | ||||
|          LOCK_TIMERS_READ; | ||||
|          for (const cTimer *timer = Timers->First(); timer; timer = Timers->Next(timer)) { | ||||
| #else | ||||
|          for (cTimer *timer = Timers.First(); timer; timer = Timers.Next(timer)) { | ||||
| #endif | ||||
|              if (timer->Recording()) { | ||||
|                 cRecordControl *control = cRecordControls::GetRecordControl(timer); | ||||
|                 if (control && control->Device() == device) | ||||
| @@ -138,14 +141,20 @@ cString cSatipDevice::GetSatipStatus(void) | ||||
| cString cSatipDevice::GetGeneralInformation(void) | ||||
| { | ||||
|   debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM); | ||||
| #if defined(APIVERSNUM) && APIVERSNUM >= 20301 | ||||
|   LOCK_CHANNELS_READ; | ||||
| #endif | ||||
|   return cString::sprintf("SAT>IP device: %d\nCardIndex: %d\nStream: %s\nSignal: %s\nStream bitrate: %s\n%sChannel: %s\n", | ||||
|                           deviceIndexM, CardIndex(), | ||||
|                           pTunerM ? *pTunerM->GetInformation() : "", | ||||
|                           pTunerM ? *pTunerM->GetSignalStatus() : "", | ||||
|                           pTunerM ? *pTunerM->GetTunerStatistic() : "", | ||||
|                           *GetBufferStatistic(), | ||||
| #if defined(APIVERSNUM) && APIVERSNUM >= 20301 | ||||
|                           *Channels->GetByNumber(cDevice::CurrentChannel())->ToText()); | ||||
| #else | ||||
|                           *Channels.GetByNumber(cDevice::CurrentChannel())->ToText()); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| cString cSatipDevice::GetPidsInformation(void) | ||||
| @@ -216,21 +225,6 @@ bool cSatipDevice::AvoidRecording(void) const | ||||
|   return SatipConfig.IsOperatingModeLow(); | ||||
| } | ||||
|  | ||||
| bool cSatipDevice::SignalStats(int &Valid, double *Strength, double *Cnr, double *BerPre, double *BerPost, double *Per, int *Status) const | ||||
| { | ||||
|   debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM); | ||||
|   Valid = DTV_STAT_VALID_NONE; | ||||
|   if (Strength && pTunerM) { | ||||
|      *Strength =  pTunerM->SignalStrengthDBm(); | ||||
|      Valid |= DTV_STAT_VALID_STRENGTH; | ||||
|      } | ||||
|   if (Status) { | ||||
|      *Status = HasLock() ? (DTV_STAT_HAS_SIGNAL | DTV_STAT_HAS_CARRIER | DTV_STAT_HAS_VITERBI | DTV_STAT_HAS_SYNC | DTV_STAT_HAS_LOCK) : DTV_STAT_HAS_NONE; | ||||
|      Valid |= DTV_STAT_VALID_STATUS; | ||||
|      } | ||||
|   return Valid != DTV_STAT_VALID_NONE; | ||||
| } | ||||
|  | ||||
| int cSatipDevice::SignalStrength(void) const | ||||
| { | ||||
|   debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM); | ||||
| @@ -425,7 +419,7 @@ void cSatipDevice::CloseFilter(int handleP) | ||||
| bool cSatipDevice::OpenDvr(void) | ||||
| { | ||||
|   debug9("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM); | ||||
|   bytesDeliveredM = 0; | ||||
|   isPacketDeliveredM = false; | ||||
|   tsBufferM->Clear(); | ||||
|   if (pTunerM) | ||||
|      pTunerM->Open(); | ||||
| @@ -511,17 +505,13 @@ bool cSatipDevice::IsIdle(void) | ||||
|   return !Receiving(); | ||||
| } | ||||
|  | ||||
| uchar *cSatipDevice::GetData(int *availableP, bool checkTsBuffer) | ||||
| uchar *cSatipDevice::GetData(int *availableP) | ||||
| { | ||||
|   debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM); | ||||
|   if (isOpenDvrM && tsBufferM) { | ||||
|      int count = 0; | ||||
|      if (bytesDeliveredM) { | ||||
|         tsBufferM->Del(bytesDeliveredM); | ||||
|         bytesDeliveredM = 0; | ||||
|         } | ||||
|      if (checkTsBuffer && tsBufferM->Available() < TS_SIZE) | ||||
|         return NULL; | ||||
|      if (isPacketDeliveredM) | ||||
|         SkipData(TS_SIZE); | ||||
|      uchar *p = tsBufferM->Get(count); | ||||
|      if (p && count >= TS_SIZE) { | ||||
|         if (*p != TS_SYNC_BYTE) { | ||||
| @@ -535,7 +525,7 @@ uchar *cSatipDevice::GetData(int *availableP, bool checkTsBuffer) | ||||
|            info("Skipped %d bytes to sync on TS packet", count); | ||||
|            return NULL; | ||||
|            } | ||||
|         bytesDeliveredM = TS_SIZE; | ||||
|         isPacketDeliveredM = true; | ||||
|         if (availableP) | ||||
|            *availableP = count; | ||||
|         // Update pid statistics | ||||
| @@ -549,7 +539,8 @@ uchar *cSatipDevice::GetData(int *availableP, bool checkTsBuffer) | ||||
| void cSatipDevice::SkipData(int countP) | ||||
| { | ||||
|   debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM); | ||||
|   bytesDeliveredM = countP; | ||||
|   tsBufferM->Del(countP); | ||||
|   isPacketDeliveredM = false; | ||||
|   // Update buffer statistics | ||||
|   AddBufferStatistic(countP, tsBufferM->Available()); | ||||
| } | ||||
| @@ -563,12 +554,11 @@ bool cSatipDevice::GetTSPacket(uchar *&dataP) | ||||
|      if (cCamSlot *cs = CamSlot()) { | ||||
|         if (cs->WantsTsData()) { | ||||
|            int available; | ||||
|            dataP = GetData(&available, checkTsBufferM); | ||||
|            if (!dataP) | ||||
|               available = 0; | ||||
|            dataP = cs->Decrypt(dataP, available); | ||||
|            SkipData(available); | ||||
|            checkTsBufferM = dataP != NULL; | ||||
|            dataP = GetData(&available); | ||||
|            if (dataP) { | ||||
|               dataP = cs->Decrypt(dataP, available); | ||||
|               SkipData(available); | ||||
|               } | ||||
|            return true; | ||||
|            } | ||||
|         } | ||||
|   | ||||
							
								
								
									
										8
									
								
								device.h
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								device.h
									
									
									
									
									
								
							| @@ -32,9 +32,8 @@ private: | ||||
|     eTuningTimeoutMs = 1000  // in milliseconds | ||||
|   }; | ||||
|   unsigned int deviceIndexM; | ||||
|   int bytesDeliveredM; | ||||
|   bool isPacketDeliveredM; | ||||
|   bool isOpenDvrM; | ||||
|   bool checkTsBufferM; | ||||
|   cString deviceNameM; | ||||
|   cChannel channelM; | ||||
|   cRingBufferLinear *tsBufferM; | ||||
| @@ -65,7 +64,6 @@ public: | ||||
|   virtual cString DeviceType(void) const; | ||||
|   virtual cString DeviceName(void) const; | ||||
|   virtual bool AvoidRecording(void) const; | ||||
|   virtual bool SignalStats(int &Valid, double *Strength = NULL, double *Cnr = NULL, double *BerPre = NULL, double *BerPost = NULL, double *Per = NULL, int *Status = NULL) const; | ||||
|   virtual int SignalStrength(void) const; | ||||
|   virtual int SignalQuality(void) const; | ||||
|  | ||||
| @@ -85,7 +83,7 @@ protected: | ||||
|  | ||||
|   // for recording | ||||
| private: | ||||
|   uchar *GetData(int *availableP = NULL, bool checkTsBuffer = false); | ||||
|   uchar *GetData(int *availableP = NULL); | ||||
|   void SkipData(int countP); | ||||
|  | ||||
| protected: | ||||
| @@ -101,7 +99,7 @@ public: | ||||
|  | ||||
|   // for transponder lock | ||||
| public: | ||||
|   virtual bool HasLock(int timeoutMsP = 0) const; | ||||
|   virtual bool HasLock(int timeoutMsP) const; | ||||
|  | ||||
|   // for common interface | ||||
| public: | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| # VDR plugin language source file. | ||||
| # Copyright (C) 2007-2018 Rolf Ahrenberg | ||||
| # Copyright (C) 2007-2017 Rolf Ahrenberg | ||||
| # This file is distributed under the same license as the satip package. | ||||
| # Gabriel Bonich, 2014-2017 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: vdr-satip 2.4.0\n" | ||||
| "Project-Id-Version: vdr-satip 2.2.5\n" | ||||
| "Report-Msgid-Bugs-To: <see README>\n" | ||||
| "POT-Creation-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "PO-Revision-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "POT-Creation-Date: 2017-08-15 08:15+0300\n" | ||||
| "PO-Revision-Date: 2017-08-15 08:15+0300\n" | ||||
| "Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n" | ||||
| "Language-Team: Catalan <vdr@linuxtv.org>\n" | ||||
| "Language: ca\n" | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| # VDR plugin language source file. | ||||
| # Copyright (C) 2007-2018 Rolf Ahrenberg | ||||
| # Copyright (C) 2007-2017 Rolf Ahrenberg | ||||
| # This file is distributed under the same license as the satip package. | ||||
| # Frank Neumann, 2014-2017 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: vdr-satip 2.4.0\n" | ||||
| "Project-Id-Version: vdr-satip 2.2.5\n" | ||||
| "Report-Msgid-Bugs-To: <see README>\n" | ||||
| "POT-Creation-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "PO-Revision-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "POT-Creation-Date: 2017-08-15 08:15+0300\n" | ||||
| "PO-Revision-Date: 2017-08-15 08:15+0300\n" | ||||
| "Last-Translator: Frank Neumann <fnu@yavdr.org>\n" | ||||
| "Language-Team: German <vdr@linuxtv.org>\n" | ||||
| "Language: de\n" | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| # VDR plugin language source file. | ||||
| # Copyright (C) 2007-2018 Rolf Ahrenberg | ||||
| # Copyright (C) 2007-2017 Rolf Ahrenberg | ||||
| # This file is distributed under the same license as the satip package. | ||||
| # Gabriel Bonich, 2014-2017 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: vdr-satip 2.4.0\n" | ||||
| "Project-Id-Version: vdr-satip 2.2.5\n" | ||||
| "Report-Msgid-Bugs-To: <see README>\n" | ||||
| "POT-Creation-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "PO-Revision-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "POT-Creation-Date: 2017-08-15 08:15+0300\n" | ||||
| "PO-Revision-Date: 2017-08-15 08:15+0300\n" | ||||
| "Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n" | ||||
| "Language-Team: Spanish <vdr@linuxtv.org>\n" | ||||
| "Language: es\n" | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| # VDR plugin language source file. | ||||
| # Copyright (C) 2007-2018 Rolf Ahrenberg | ||||
| # Copyright (C) 2007-2017 Rolf Ahrenberg | ||||
| # This file is distributed under the same license as the satip package. | ||||
| # Rolf Ahrenberg, 2015-2017 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: vdr-satip 2.4.0\n" | ||||
| "Project-Id-Version: vdr-satip 2.2.5\n" | ||||
| "Report-Msgid-Bugs-To: <see README>\n" | ||||
| "POT-Creation-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "PO-Revision-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "POT-Creation-Date: 2017-08-15 08:15+0300\n" | ||||
| "PO-Revision-Date: 2017-08-15 08:15+0300\n" | ||||
| "Last-Translator: Rolf Ahrenberg\n" | ||||
| "Language-Team: Finnish <vdr@linuxtv.org>\n" | ||||
| "Language: fi\n" | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| # VDR plugin language source file. | ||||
| # Copyright (C) 2007-2018 Rolf Ahrenberg | ||||
| # Copyright (C) 2007-2017 Rolf Ahrenberg | ||||
| # This file is distributed under the same license as the vdr-satip package. | ||||
| # Tomasz Maciej Nowak, 2017 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: vdr-satip 2.4.0\n" | ||||
| "Project-Id-Version: vdr-satip 2.2.5\n" | ||||
| "Report-Msgid-Bugs-To: <see README>\n" | ||||
| "POT-Creation-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "PO-Revision-Date: 2018-04-15 04:15+0300+0300\n" | ||||
| "POT-Creation-Date: 2017-08-15 08:15+0300\n" | ||||
| "PO-Revision-Date: 2017-08-15 08:15+0300\n" | ||||
| "Last-Translator: Tomasz Maciej Nowak <tomek_n@o2.pl>\n" | ||||
| "Language-Team: Polish <vdr@linuxtv.org>\n" | ||||
| "Language: pl_PL\n" | ||||
|   | ||||
							
								
								
									
										6
									
								
								satip.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								satip.c
									
									
									
									
									
								
							| @@ -20,15 +20,15 @@ | ||||
| #warning "CURL version >= 7.36.0 is recommended" | ||||
| #endif | ||||
|  | ||||
| #if defined(APIVERSNUM) && APIVERSNUM < 20400 | ||||
| #error "VDR-2.4.0 API version or greater is required!" | ||||
| #if defined(APIVERSNUM) && APIVERSNUM < 20200 | ||||
| #error "VDR-2.2.0 API version or greater is required!" | ||||
| #endif | ||||
|  | ||||
| #ifndef GITVERSION | ||||
| #define GITVERSION "" | ||||
| #endif | ||||
|  | ||||
|        const char VERSION[]     = "2.4.0" GITVERSION; | ||||
|        const char VERSION[]     = "2.2.5" GITVERSION; | ||||
| static const char DESCRIPTION[] = trNOOP("SAT>IP Devices"); | ||||
|  | ||||
| class cPluginSatip : public cPlugin { | ||||
|   | ||||
							
								
								
									
										12
									
								
								tuner.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								tuner.c
									
									
									
									
									
								
							| @@ -40,7 +40,6 @@ cSatipTuner::cSatipTuner(cSatipDeviceIf &deviceP, unsigned int packetLenP) | ||||
|   externalStateM(), | ||||
|   timeoutM(eMinKeepAliveIntervalMs), | ||||
|   hasLockM(false), | ||||
|   signalStrengthDBmM(0.0), | ||||
|   signalStrengthM(-1), | ||||
|   signalQualityM(-1), | ||||
|   frontendIdM(-1), | ||||
| @@ -136,7 +135,6 @@ void cSatipTuner::Action(void) | ||||
|                   // Quirk for devices without valid reception data | ||||
|                   if (currentServerM.IsQuirk(cSatipServer::eSatipQuirkForceLock)) { | ||||
|                      hasLockM = true; | ||||
|                      signalStrengthDBmM = eDefaultSignalStrengthDBm; | ||||
|                      signalStrengthM = eDefaultSignalStrength; | ||||
|                      signalQualityM = eDefaultSignalQuality; | ||||
|                      } | ||||
| @@ -266,7 +264,6 @@ bool cSatipTuner::Disconnect(void) | ||||
|  | ||||
|   // Reset signal parameters | ||||
|   hasLockM = false; | ||||
|   signalStrengthDBmM = 0.0; | ||||
|   signalStrengthM = -1; | ||||
|   signalQualityM = -1; | ||||
|   frontendIdM = -1; | ||||
| @@ -336,9 +333,8 @@ void cSatipTuner::ProcessApplicationData(u_char *bufferP, int lengthP) | ||||
|         // No signal corresponds to 0 | ||||
|         c = strstr(c, ","); | ||||
|         value = min(atoi(++c), 255); | ||||
|         signalStrengthDBmM = (value >= 0) ? 40.0 * (value - 32) / 192.0 - 65.0 : 0.0; | ||||
|         // Scale value to 0-100 | ||||
|         signalStrengthM = (value >= 0) ? value * 100 / 255 : -1; | ||||
|         signalStrengthM = (value >= 0) ? (value * 100 / 255) : -1; | ||||
|  | ||||
|         // lock: | ||||
|         // lock Set to one of the following values: | ||||
| @@ -674,12 +670,6 @@ int cSatipTuner::SignalStrength(void) | ||||
|   return signalStrengthM; | ||||
| } | ||||
|  | ||||
| double cSatipTuner::SignalStrengthDBm(void) | ||||
| { | ||||
|   debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIdM); | ||||
|   return signalStrengthDBmM; | ||||
| } | ||||
|  | ||||
| int cSatipTuner::SignalQuality(void) | ||||
| { | ||||
|   debug16("%s [device %d]", __PRETTY_FUNCTION__, deviceIdM); | ||||
|   | ||||
							
								
								
									
										23
									
								
								tuner.h
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								tuner.h
									
									
									
									
									
								
							| @@ -78,17 +78,16 @@ class cSatipTuner : public cThread, public cSatipTunerStatistics, public cSatipT | ||||
| { | ||||
| private: | ||||
|   enum { | ||||
|     eDummyPid                 = 100, | ||||
|     eDefaultSignalStrengthDBm = -25, | ||||
|     eDefaultSignalStrength    = 224, | ||||
|     eDefaultSignalQuality     = 15, | ||||
|     eSleepTimeoutMs           = 250,   // in milliseconds | ||||
|     eStatusUpdateTimeoutMs    = 1000,  // in milliseconds | ||||
|     ePidUpdateIntervalMs      = 250,   // in milliseconds | ||||
|     eConnectTimeoutMs         = 5000,  // in milliseconds | ||||
|     eIdleCheckTimeoutMs       = 15000, // in milliseconds | ||||
|     eTuningTimeoutMs          = 20000, // in milliseconds | ||||
|     eMinKeepAliveIntervalMs   = 30000  // in milliseconds | ||||
|     eDummyPid               = 100, | ||||
|     eDefaultSignalStrength  = 15, | ||||
|     eDefaultSignalQuality   = 224, | ||||
|     eSleepTimeoutMs         = 250,   // in milliseconds | ||||
|     eStatusUpdateTimeoutMs  = 1000,  // in milliseconds | ||||
|     ePidUpdateIntervalMs    = 250,   // in milliseconds | ||||
|     eConnectTimeoutMs       = 5000,  // in milliseconds | ||||
|     eIdleCheckTimeoutMs     = 15000, // in milliseconds | ||||
|     eTuningTimeoutMs        = 20000, // in milliseconds | ||||
|     eMinKeepAliveIntervalMs = 30000  // in milliseconds | ||||
|   }; | ||||
|   enum eTunerState { tsIdle, tsRelease, tsSet, tsTuned, tsLocked }; | ||||
|   enum eStateMode { smInternal, smExternal }; | ||||
| @@ -116,7 +115,6 @@ private: | ||||
|   cVector<eTunerState> externalStateM; | ||||
|   int timeoutM; | ||||
|   bool hasLockM; | ||||
|   double signalStrengthDBmM; | ||||
|   int signalStrengthM; | ||||
|   int signalQualityM; | ||||
|   int frontendIdM; | ||||
| @@ -151,7 +149,6 @@ public: | ||||
|   bool Close(void); | ||||
|   int FrontendId(void); | ||||
|   int SignalStrength(void); | ||||
|   double SignalStrengthDBm(void); | ||||
|   int SignalQuality(void); | ||||
|   bool HasLock(void); | ||||
|   cString GetSignalStatus(void); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user