diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/debian/changelog vdr-plugin-satip-2.3.0+git20180314-58-c07d921/debian/changelog --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/debian/changelog 2018-03-15 10:08:03.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/debian/changelog 2018-03-24 07:17:58.000000000 +0000 @@ -1,10 +1,16 @@ -vdr-plugin-satip (2.3.0+git20180314-40-43373b6-0yavdr0~xenial) xenial; urgency=medium +vdr-plugin-satip (2.3.0+git20180314-58-c07d921-0yavdr1~xenial) xenial; urgency=medium + + * rebuild for xenial + + -- Alexander Grothe Sat, 24 Mar 2018 08:16:49 +0100 + +vdr-plugin-satip (2.3.0+git20180314-58-c07d921-0yavdr0~trustyubuntu1) trusty; urgency=medium * new upstream snapshot - -- Alexander Grothe Thu, 15 Mar 2018 11:08:03 +0100 + -- Alexander Grothe Sat, 24 Mar 2018 08:10:44 +0100 -vdr-plugin-satip (2.3.0+git20180213-58-d33bce-0yavdr0~xenial) xenial; urgency=medium +vdr-plugin-satip (2.3.0+git20180213-58-d33bce-0yavdr0~trusty) trusty; urgency=medium * new upstream snapshot diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/device.c vdr-plugin-satip-2.3.0+git20180314-58-c07d921/device.c --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/device.c 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/device.c 2018-03-14 21:23:27.000000000 +0000 @@ -19,9 +19,8 @@ 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 @@ 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::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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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; } } diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/device.h vdr-plugin-satip-2.3.0+git20180314-58-c07d921/device.h --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/device.h 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/device.h 2018-03-14 21:23:27.000000000 +0000 @@ -32,9 +32,8 @@ 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 @@ 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 @@ // 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 @@ // for transponder lock public: - virtual bool HasLock(int timeoutMsP = 0) const; + virtual bool HasLock(int timeoutMsP) const; // for common interface public: diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/HISTORY vdr-plugin-satip-2.3.0+git20180314-58-c07d921/HISTORY --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/HISTORY 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/HISTORY 2018-03-14 21:23:27.000000000 +0000 @@ -165,31 +165,3 @@ - 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). diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/Makefile vdr-plugin-satip-2.3.0+git20180314-58-c07d921/Makefile --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/Makefile 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/Makefile 2018-03-14 21:23:27.000000000 +0000 @@ -88,15 +88,14 @@ ### 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 @@ 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='' -o $@ `ls $^` + xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='' -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 @@ ### 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 @@ .PHONY: cppcheck cppcheck: - $(Q)cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c) + @cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c) diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/ca_ES.po vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/ca_ES.po --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/ca_ES.po 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/ca_ES.po 2018-03-14 21:23:27.000000000 +0000 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: vdr-satip 2.3.1\n" +"Project-Id-Version: vdr-satip 2.2.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-15 08:15+0300\n" "PO-Revision-Date: 2017-08-15 08:15+0300\n" diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/de_DE.po vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/de_DE.po --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/de_DE.po 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/de_DE.po 2018-03-14 21:23:27.000000000 +0000 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: vdr-satip 2.3.1\n" +"Project-Id-Version: vdr-satip 2.2.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-15 08:15+0300\n" "PO-Revision-Date: 2017-08-15 08:15+0300\n" diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/es_ES.po vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/es_ES.po --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/es_ES.po 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/es_ES.po 2018-03-14 21:23:27.000000000 +0000 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: vdr-satip 2.3.1\n" +"Project-Id-Version: vdr-satip 2.2.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-15 08:15+0300\n" "PO-Revision-Date: 2017-08-15 08:15+0300\n" diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/fi_FI.po vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/fi_FI.po --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/fi_FI.po 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/fi_FI.po 2018-03-14 21:23:27.000000000 +0000 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: vdr-satip 2.3.1\n" +"Project-Id-Version: vdr-satip 2.2.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-15 08:15+0300\n" "PO-Revision-Date: 2017-08-15 08:15+0300\n" diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/pl_PL.po vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/pl_PL.po --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/po/pl_PL.po 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/po/pl_PL.po 2018-03-14 21:23:27.000000000 +0000 @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: vdr-satip 2.3.1\n" +"Project-Id-Version: vdr-satip 2.2.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-15 08:15+0300\n" "PO-Revision-Date: 2017-08-15 08:15+0300\n" diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/satip.c vdr-plugin-satip-2.3.0+git20180314-58-c07d921/satip.c --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/satip.c 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/satip.c 2018-03-14 21:23:27.000000000 +0000 @@ -20,15 +20,15 @@ #warning "CURL version >= 7.36.0 is recommended" #endif -#if defined(APIVERSNUM) && APIVERSNUM < 20307 -#error "VDR-2.3.7 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.3.1" GITVERSION; + const char VERSION[] = "2.2.5" GITVERSION; static const char DESCRIPTION[] = trNOOP("SAT>IP Devices"); class cPluginSatip : public cPlugin { diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/tuner.c vdr-plugin-satip-2.3.0+git20180314-58-c07d921/tuner.c --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/tuner.c 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/tuner.c 2018-03-14 21:23:27.000000000 +0000 @@ -40,7 +40,6 @@ externalStateM(), timeoutM(eMinKeepAliveIntervalMs), hasLockM(false), - signalStrengthDBmM(0.0), signalStrengthM(-1), signalQualityM(-1), frontendIdM(-1), @@ -136,7 +135,6 @@ // Quirk for devices without valid reception data if (currentServerM.IsQuirk(cSatipServer::eSatipQuirkForceLock)) { hasLockM = true; - signalStrengthDBmM = eDefaultSignalStrengthDBm; signalStrengthM = eDefaultSignalStrength; signalQualityM = eDefaultSignalQuality; } @@ -266,7 +264,6 @@ // Reset signal parameters hasLockM = false; - signalStrengthDBmM = 0.0; signalStrengthM = -1; signalQualityM = -1; frontendIdM = -1; @@ -336,9 +333,8 @@ // 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 @@ 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); diff -Nru vdr-plugin-satip-2.3.0+git20180314-40-43373b6/tuner.h vdr-plugin-satip-2.3.0+git20180314-58-c07d921/tuner.h --- vdr-plugin-satip-2.3.0+git20180314-40-43373b6/tuner.h 2018-03-14 21:22:24.000000000 +0000 +++ vdr-plugin-satip-2.3.0+git20180314-58-c07d921/tuner.h 2018-03-14 21:23:27.000000000 +0000 @@ -78,17 +78,16 @@ { 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 @@ cVector externalStateM; int timeoutM; bool hasLockM; - double signalStrengthDBmM; int signalStrengthM; int signalQualityM; int frontendIdM; @@ -151,7 +149,6 @@ bool Close(void); int FrontendId(void); int SignalStrength(void); - double SignalStrengthDBm(void); int SignalQuality(void); bool HasLock(void); cString GetSignalStatus(void);