summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY4
-rw-r--r--device.c9
3 files changed, 12 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a054e912..7d5ff6b7 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3289,3 +3289,7 @@ Tony Houghton <h@realh.co.uk>
Christian Winkler <winkler_chr@yahoo.de>
for reporting a problem with transfer mode on full featured DVB cards for encrypted
channels that have no audio pid
+
+Dietmar Spingler <d_spingler@gmx.de>
+ for reporting a problem that led to a fix in detaching receivers from devices in case
+ a CAM needs to receive the TS
diff --git a/HISTORY b/HISTORY
index 081b1fd8..d99a8857 100644
--- a/HISTORY
+++ b/HISTORY
@@ -8307,7 +8307,7 @@ Video Disk Recorder Revision History
- The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
the functional modification to cFont::CreateFont().
-2015-01-06: Version 2.1.7
+2015-01-07: Version 2.1.7
- No longer logging an error message in DirSizeMB() if the given directory doesn't
exist. This avoids lots of log entries in case several VDRs use the same video
@@ -8336,3 +8336,5 @@ Video Disk Recorder Revision History
the scaling in hardware or otherwise more efficiently (thanks to Thomas Reufer).
- Increased the PMT_SCAN_TIMEOUT to avoid timeouts when scanning PMTs (thanks to
Rolf Ahrenberg).
+- Fixed detaching receivers from devices in case a CAM needs to receive the TS
+ (reported by Dietmar Spingler).
diff --git a/device.c b/device.c
index 43bc0e08..869c34a3 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c 3.15 2014/03/15 13:23:28 kls Exp $
+ * $Id: device.c 3.16 2015/01/07 12:53:55 kls Exp $
*/
#include "device.h"
@@ -1699,10 +1699,11 @@ void cDevice::Detach(cReceiver *Receiver)
receiversLeft = true;
}
if (camSlot) {
- if (Receiver->priority > MINPRIORITY) // priority check to avoid an infinite loop with the CAM slot's caPidReceiver
+ if (Receiver->priority > MINPRIORITY) { // priority check to avoid an infinite loop with the CAM slot's caPidReceiver
camSlot->StartDecrypting();
- if (!camSlot->IsDecrypting())
- camSlot->Assign(NULL);
+ if (!camSlot->IsDecrypting())
+ camSlot->Assign(NULL);
+ }
}
if (!receiversLeft)
Cancel(-1);