Hello community,

here is the log from the commit of package vdr-plugin-satip for 
openSUSE:Factory checked in at 2015-11-02 12:55:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdr-plugin-satip (Old)
 and      /work/SRC/openSUSE:Factory/.vdr-plugin-satip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vdr-plugin-satip"

Changes:
--------
--- /work/SRC/openSUSE:Factory/vdr-plugin-satip/vdr-plugin-satip.changes        
2015-05-18 22:32:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vdr-plugin-satip.new/vdr-plugin-satip.changes   
2015-11-02 12:55:06.000000000 +0100
@@ -1,0 +2,8 @@
+Wed Oct 28 19:45:46 UTC 2015 - seife+...@b1-systems.com
+
+- update to version 2.2.3 (2015-09-18)
+  * Added a timeout for releasing idling devices
+  * Reset the RTSP connection after any failed connect
+  * Added tweaks for minisatip and Schwaiger MS41IP
+
+-------------------------------------------------------------------

Old:
----
  vdr-satip-2.2.2.tgz

New:
----
  vdr-satip-2.2.3.tgz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vdr-plugin-satip.spec ++++++
--- /var/tmp/diff_new_pack.98SRik/_old  2015-11-02 12:55:07.000000000 +0100
+++ /var/tmp/diff_new_pack.98SRik/_new  2015-11-02 12:55:07.000000000 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           vdr-plugin-satip
-Version:        2.2.2
+Version:        2.2.3
 Release:        0
 Summary:        SAT>IP Input Plugin for the Video Disc Recorder VDR
 License:        GPL-2.0

++++++ vdr-satip-2.2.2.tgz -> vdr-satip-2.2.3.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/HISTORY new/satip-2.2.3/HISTORY
--- old/satip-2.2.2/HISTORY     2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/HISTORY     2015-09-18 03:20:00.000000000 +0200
@@ -137,3 +137,10 @@
   interface.
 - Added new ATTA and DETA SVDRP commands.
 - Set the default device count to two.
+
+2015-09-18: Version 2.2.3
+
+- Added a timeout for releasing idling devices.
+- Reset the RTSP connection after any failed connect.
+- Added tweaks for minisatip and Schwaiger MS41IP.
+- Updated for vdr-2.3.1 (Thanks to Klaus Schmidinger).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/device.c new/satip-2.2.3/device.c
--- old/satip-2.2.2/device.c    2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/device.c    2015-09-18 03:20:00.000000000 +0200
@@ -103,7 +103,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)
@@ -128,13 +133,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",
                           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)
@@ -350,7 +362,7 @@
 
 bool cSatipDevice::SetPid(cPidHandle *handleP, int typeP, bool onP)
 {
-  debug12("%s (%d, %d, %d) [device %u]", __PRETTY_FUNCTION__, handleP->pid, 
typeP, onP, deviceIndexM);
+  debug12("%s (%d, %d, %d) [device %u]", __PRETTY_FUNCTION__, handleP ? 
handleP->pid : -1, typeP, onP, deviceIndexM);
   if (pTunerM && handleP && handleP->pid >= 0) {
      if (onP)
         return pTunerM->SetPid(handleP->pid, typeP, true);
@@ -460,6 +472,11 @@
   return slot;
 }
 
+bool cSatipDevice::IsIdle(void)
+{
+  return !Receiving();
+}
+
 uchar *cSatipDevice::GetData(int *availableP)
 {
   debug16("%s [device %u]", __PRETTY_FUNCTION__, deviceIndexM);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/device.h new/satip-2.2.3/device.h
--- old/satip-2.2.2/device.h    2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/device.h    2015-09-18 03:20:00.000000000 +0200
@@ -43,7 +43,7 @@
 
   // constructor & destructor
 public:
-  cSatipDevice(unsigned int deviceIndexP);
+  explicit cSatipDevice(unsigned int deviceIndexP);
   virtual ~cSatipDevice();
   cString GetInformation(unsigned int pageP = SATIP_DEVICE_INFO_ALL);
 
@@ -110,6 +110,7 @@
   virtual int GetId(void);
   virtual int GetPmtPid(void);
   virtual int GetCISlot(void);
+  virtual bool IsIdle(void);
 };
 
 #endif // __SATIP_DEVICE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/deviceif.h new/satip-2.2.3/deviceif.h
--- old/satip-2.2.2/deviceif.h  2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/deviceif.h  2015-09-18 03:20:00.000000000 +0200
@@ -16,9 +16,10 @@
   virtual int GetId(void) = 0;
   virtual int GetPmtPid(void) = 0;
   virtual int GetCISlot(void) = 0;
+  virtual bool IsIdle(void) = 0;
 
 private:
-  cSatipDeviceIf(const cSatipDeviceIf&);
+  explicit cSatipDeviceIf(const cSatipDeviceIf&);
   cSatipDeviceIf& operator=(const cSatipDeviceIf&);
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/discoverif.h new/satip-2.2.3/discoverif.h
--- old/satip-2.2.2/discoverif.h        2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/discoverif.h        2015-09-18 03:20:00.000000000 +0200
@@ -15,7 +15,7 @@
   virtual void SetUrl(const char *urlP) = 0;
 
 private:
-  cSatipDiscoverIf(const cSatipDiscoverIf&);
+  explicit cSatipDiscoverIf(const cSatipDiscoverIf&);
   cSatipDiscoverIf& operator=(const cSatipDiscoverIf&);
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/msearch.h new/satip-2.2.3/msearch.h
--- old/satip-2.2.2/msearch.h   2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/msearch.h   2015-09-18 03:20:00.000000000 +0200
@@ -26,7 +26,7 @@
   bool registeredM;
 
 public:
-  cSatipMsearch(cSatipDiscoverIf &discoverP);
+  explicit cSatipMsearch(cSatipDiscoverIf &discoverP);
   virtual ~cSatipMsearch();
   void Probe(void);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/po/ca_ES.po new/satip-2.2.3/po/ca_ES.po
--- old/satip-2.2.2/po/ca_ES.po 2015-04-26 11:53:39.000000000 +0200
+++ new/satip-2.2.3/po/ca_ES.po 2015-09-18 18:04:09.000000000 +0200
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-satip 2.2.2\n"
+"Project-Id-Version: vdr-satip 2.2.3\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2015-04-26 04:26+0300\n"
 "PO-Revision-Date: 2015-04-26 04:26+0300\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/po/de_DE.po new/satip-2.2.3/po/de_DE.po
--- old/satip-2.2.2/po/de_DE.po 2015-04-26 11:53:39.000000000 +0200
+++ new/satip-2.2.3/po/de_DE.po 2015-09-18 18:04:09.000000000 +0200
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-satip 2.2.2\n"
+"Project-Id-Version: vdr-satip 2.2.3\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2015-04-26 04:26+0300\n"
 "PO-Revision-Date: 2015-04-26 04:26+0300\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/po/es_ES.po new/satip-2.2.3/po/es_ES.po
--- old/satip-2.2.2/po/es_ES.po 2015-04-26 11:53:39.000000000 +0200
+++ new/satip-2.2.3/po/es_ES.po 2015-09-18 18:04:09.000000000 +0200
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-satip 2.2.2\n"
+"Project-Id-Version: vdr-satip 2.2.3\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2015-04-26 04:26+0300\n"
 "PO-Revision-Date: 2015-04-26 04:26+0300\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/po/fi_FI.po new/satip-2.2.3/po/fi_FI.po
--- old/satip-2.2.2/po/fi_FI.po 2015-04-26 11:53:39.000000000 +0200
+++ new/satip-2.2.3/po/fi_FI.po 2015-09-18 18:04:09.000000000 +0200
@@ -5,7 +5,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vdr-satip 2.2.2\n"
+"Project-Id-Version: vdr-satip 2.2.3\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2015-04-26 04:26+0300\n"
 "PO-Revision-Date: 2015-04-26 04:26+0300\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/pollerif.h new/satip-2.2.3/pollerif.h
--- old/satip-2.2.2/pollerif.h  2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/pollerif.h  2015-09-18 03:20:00.000000000 +0200
@@ -17,7 +17,7 @@
   virtual cString ToString(void) const = 0;
 
 private:
-  cSatipPollerIf(const cSatipPollerIf&);
+  explicit cSatipPollerIf(const cSatipPollerIf&);
   cSatipPollerIf& operator=(const cSatipPollerIf&);
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/rtcp.c new/satip-2.2.3/rtcp.c
--- old/satip-2.2.2/rtcp.c      2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/rtcp.c      2015-09-18 03:20:00.000000000 +0200
@@ -36,7 +36,7 @@
 
 int cSatipRtcp::GetApplicationOffset(int *lengthP)
 {
-  debug16("%s (%d) [device %d]", __PRETTY_FUNCTION__, *lengthP, 
tunerM.GetId());
+  debug16("%s (%d) [device %d]", __PRETTY_FUNCTION__, lengthP ? *lengthP : -1, 
tunerM.GetId());
   if (!lengthP)
      return -1;
   int offset = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/rtcp.h new/satip-2.2.3/rtcp.h
--- old/satip-2.2.2/rtcp.h      2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/rtcp.h      2015-09-18 03:20:00.000000000 +0200
@@ -23,7 +23,7 @@
   int GetApplicationOffset(int *lengthP);
 
 public:
-  cSatipRtcp(cSatipTunerIf &tunerP);
+  explicit cSatipRtcp(cSatipTunerIf &tunerP);
   virtual ~cSatipRtcp();
 
   // for internal poller interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/rtp.h new/satip-2.2.3/rtp.h
--- old/satip-2.2.2/rtp.h       2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/rtp.h       2015-09-18 03:20:00.000000000 +0200
@@ -28,7 +28,7 @@
   int GetHeaderLength(unsigned char *bufferP, unsigned int lengthP);
 
 public:
-  cSatipRtp(cSatipTunerIf &tunerP);
+  explicit cSatipRtp(cSatipTunerIf &tunerP);
   virtual ~cSatipRtp();
   virtual void Close(void);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/rtsp.h new/satip-2.2.3/rtsp.h
--- old/satip-2.2.2/rtsp.h      2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/rtsp.h      2015-09-18 03:20:00.000000000 +0200
@@ -50,7 +50,7 @@
   cSatipRtsp& operator=(const cSatipRtsp&);
 
 public:
-  cSatipRtsp(cSatipTunerIf &tunerP);
+  explicit cSatipRtsp(cSatipTunerIf &tunerP);
   virtual ~cSatipRtsp();
 
   cString RtspUnescapeString(const char *strP);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/satip.c new/satip-2.2.3/satip.c
--- old/satip-2.2.2/satip.c     2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/satip.c     2015-09-18 03:20:00.000000000 +0200
@@ -27,7 +27,7 @@
 #define GITVERSION ""
 #endif
 
-       const char VERSION[]     = "2.2.2" GITVERSION;
+       const char VERSION[]     = "2.2.3" GITVERSION;
 static const char DESCRIPTION[] = trNOOP("SAT>IP Devices");
 
 class cPluginSatip : public cPlugin {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/server.c new/satip-2.2.3/server.c
--- old/satip-2.2.2/server.c    2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/server.c    2015-09-18 03:20:00.000000000 +0200
@@ -108,7 +108,8 @@
         quirksM = cString::sprintf("%s%sPlayPids", *quirksM, isempty(*quirksM) 
? "" : ",");
         }
      // These devices contain a frontend locking bug:
-     if (strstr(*descriptionM, "fritzdvbc")             // Fritz!WLAN Repeater 
DVB-C
+     if (strstr(*descriptionM, "fritzdvbc") ||            // Fritz!WLAN 
Repeater DVB-C
+         strstr(*descriptionM, "Schwaiger Sat>IP Server") // Schwaiger MS41IP
         ) {
         quirkM |= eSatipQuirkForceLock;
         quirksM = cString::sprintf("%s%sForceLock", *quirksM, 
isempty(*quirksM) ? "" : ",");
@@ -116,8 +117,11 @@
      debug3("%s description=%s quirks=%s", __PRETTY_FUNCTION__, *descriptionM, 
*quirksM);
      }
   // These devices support the X_PMT protocol extension
-  if (strstr(*descriptionM, "OctopusNet"))              // Digital Devices 
OctopusNet
+  if (strstr(*descriptionM, "OctopusNet") ||            // Digital Devices 
OctopusNet
+      strstr(*descriptionM, "minisatip")                // minisatip server
+     ) {
      hasCiM = true;
+     }
   char *s, *p = strdup(*modelM);
   char *r = strtok_r(p, ",", &s);
   while (r) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/setup.c new/satip-2.2.3/setup.c
--- old/satip-2.2.2/setup.c     2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/setup.c     2015-09-18 03:20:00.000000000 +0200
@@ -94,7 +94,7 @@
   void Setup(void);
 
 public:
-  cSatipServerInfo(cSatipServer *serverP);
+  explicit cSatipServerInfo(cSatipServer *serverP);
   virtual ~cSatipServerInfo();
   virtual eOSState ProcessKey(eKeys keyP);
 };
@@ -145,7 +145,7 @@
   cSatipServer *serverM;
 
 public:
-  cSatipServerItem(cSatipServer *serverP);
+  explicit cSatipServerItem(cSatipServer *serverP);
   cSatipServer *Server(void) { return serverM; }
   virtual void SetMenuItem(cSkinDisplayMenu *displayMenuP, int indexP, bool 
currentP, bool selectableP);
   };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/tuner.c new/satip-2.2.3/tuner.c
--- old/satip-2.2.2/tuner.c     2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/tuner.c     2015-09-18 03:20:00.000000000 +0200
@@ -91,6 +91,10 @@
 void cSatipTuner::Action(void)
 {
   debug1("%s Entering [device %d]", __PRETTY_FUNCTION__, deviceIdM);
+
+  bool lastIdleStatus = false;
+  cTimeMs idleCheck(eIdleCheckTimeoutMs);
+  cTimeMs tuning(eTuningTimeoutMs);
   reConnectM.Set(eConnectTimeoutMs);
   // Do the thread loop
   while (Running()) {
@@ -107,6 +111,7 @@
           case tsSet:
                debug4("%s: tsSet [device %d]", __PRETTY_FUNCTION__, deviceIdM);
                if (Connect()) {
+                  tuning.Set(eTuningTimeoutMs);
                   RequestState(tsTuned, smInternal);
                   UpdatePids(true);
                   }
@@ -116,6 +121,8 @@
           case tsTuned:
                debug4("%s: tsTuned [device %d]", __PRETTY_FUNCTION__, 
deviceIdM);
                reConnectM.Set(eConnectTimeoutMs);
+               idleCheck.Set(eIdleCheckTimeoutMs);
+               lastIdleStatus = false;
                // Read reception statistics via DESCRIBE and RTCP
                if (hasLockM || ReadReceptionStatus()) {
                   // Quirk for devices without valid reception data
@@ -127,6 +134,10 @@
                   if (hasLockM)
                      RequestState(tsLocked, smInternal);
                   }
+               else if (tuning.TimedOut()) {
+                  error("Tuning timeout - retuning [device %d]", deviceIdM);
+                  RequestState(tsSet, smInternal);
+                  }
                break;
           case tsLocked:
                debug4("%s: tsLocked [device %d]", __PRETTY_FUNCTION__, 
deviceIdM);
@@ -145,6 +156,16 @@
                   RequestState(tsSet, smInternal);
                   break;
                   }
+               if (idleCheck.TimedOut()) {
+                  bool currentIdleStatus = deviceM->IsIdle();
+                  if (lastIdleStatus && currentIdleStatus) {
+                     info("Idle timeout - releasing [device %d]", deviceIdM);
+                     RequestState(tsRelease, smInternal);
+                     }
+                  lastIdleStatus = currentIdleStatus;
+                  idleCheck.Set(eIdleCheckTimeoutMs);
+                  break;
+                  }
                break;
           default:
                error("Unknown tuner status %d [device %d]", currentStateM, 
deviceIdM);
@@ -209,8 +230,7 @@
            return true;
            }
         }
-     else
-        rtspM.Reset();
+     rtspM.Reset();
      streamIdM = -1;
      error("Connect failed [device %d]", deviceIdM);
      }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/tuner.h new/satip-2.2.3/tuner.h
--- old/satip-2.2.2/tuner.h     2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/tuner.h     2015-09-18 03:20:00.000000000 +0200
@@ -83,6 +83,8 @@
     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 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/satip-2.2.2/tunerif.h new/satip-2.2.3/tunerif.h
--- old/satip-2.2.2/tunerif.h   2015-04-26 03:20:00.000000000 +0200
+++ new/satip-2.2.3/tunerif.h   2015-09-18 03:20:00.000000000 +0200
@@ -19,7 +19,7 @@
   virtual int GetId(void) = 0;
 
 private:
-  cSatipTunerIf(const cSatipTunerIf&);
+  explicit cSatipTunerIf(const cSatipTunerIf&);
   cSatipTunerIf& operator=(const cSatipTunerIf&);
 };
 


Reply via email to