]> git.vomp.tv Git - vompserver.git/commitdiff
Compatibility for VDR 1.7.30, thanks to hondansx, Uwe and MartenR.
authorChris Tallon <chris@telescope.org>
Sun, 7 Oct 2012 17:27:12 +0000 (18:27 +0100)
committerChris Tallon <chris@telescope.org>
Sun, 7 Oct 2012 17:27:12 +0000 (18:27 +0100)
mvpreceiver.c
mvpreceiver.h
vompclient.c
vompclientrrproc.c

index b27d8c9e24e9e435fe908b257dae72c0b758ea87..b5722a34033a4528eaad727e04691ddae5fd5228 100644 (file)
@@ -78,9 +78,6 @@ int MVPReceiver::init(TCP* ttcp, ULONG tstreamID)
 
 MVPReceiver::~MVPReceiver()
 {
-  Detach();
-  threadStop();
-
   numMVPReceivers--;
   Log::getInstance()->log("MVPReceiver", Log::DEBUG, "num mvp receivers now down to %i", numMVPReceivers);
 }
@@ -106,6 +103,12 @@ bool MVPReceiver::isVdrActivated()
   return vdrActivated;
 }
 
+void MVPReceiver::detachMVPReceiver()
+{
+  threadStop();
+  Detach();
+}
+
 void MVPReceiver::Receive(UCHAR* data, int length)
 {
   pthread_mutex_lock(&processedRingLock);
@@ -170,4 +173,5 @@ int *MVPReceiver::mergeSpidsTpid(const int *spids,int tpid)
   destpids++;
   *destpids=0;
   return mergedSpidsTpid;
-}  
+}
+
index 4bfd25f2b7e973b4afc6c2505cdd89cb565baa1e..e1acf39af9e40b680179500835854a0f0715eb56 100644 (file)
@@ -38,6 +38,7 @@ class MVPReceiver : public cReceiver, public Thread
     virtual ~MVPReceiver();
     int init(TCP* tcp, ULONG streamID);
     bool isVdrActivated();
+    void detachMVPReceiver();
 
   private:
     MVPReceiver(cChannel* channel, cDevice* device);
index 25dc541ed6729d371d9267257a4f77f64c791f2a..011b5c63905dd2197627f3a77d7043f34ec90427 100644 (file)
@@ -70,6 +70,7 @@ VompClient::~VompClient()
 #ifndef VOMPSTANDALONE  
   if (lp)
   {
+    lp->detachMVPReceiver();
     delete lp;
     lp = NULL;
   }
index 3d1bf088d97ea46d0a69e9f3e561c9cdef9d20bf..0bf9785a7b7590eab8f0fdd65bc224e8abfbcd14 100644 (file)
@@ -1113,6 +1113,7 @@ int VompClientRRProc::processStopStreaming()
   log->log("RRProc", Log::DEBUG, "STOP STREAMING RECEIVED");
   if (x.lp)
   {
+    x.lp->detachMVPReceiver();
     delete x.lp;
     x.lp = NULL;
   }