summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--dvbdevice.c6
3 files changed, 7 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f050d337..fad8e0be 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -167,6 +167,8 @@ Stefan Huelswitt <huels@iname.com>
for reporting a new/delete malloc/free mismatch in ringbuffer.c
for reporting a crash in case the index file can't be accessed any more during replay
for adapting VDR to 'libdtv' version 0.0.5
+ for reporting a bug in handling of Ca parameters with values <= MAXDEVICES, which
+ don't indicate an actual encrypted channel
Ulrich Röder <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than
diff --git a/HISTORY b/HISTORY
index 3ffae833..f96fa9bc 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2031,3 +2031,5 @@ Video Disk Recorder Revision History
- The LIRC remote control no longer tries to learn keys if it can't connect to
the LIRC daemon (thanks to Ludwig Nussel for reporting this one). The same
applies to the RCU remote control in case of errors during startup.
+- Fixed handling of Ca parameters with values <= MAXDEVICES, which don't indicate
+ an actual encrypted channel (thanks to Stefan Huelswitt for reporting this one).
diff --git a/dvbdevice.c b/dvbdevice.c
index 3e0a50bd..9bbac2d2 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 1.50 2003/04/12 12:09:16 kls Exp $
+ * $Id: dvbdevice.c 1.51 2003/04/12 15:06:11 kls Exp $
*/
#include "dvbdevice.h"
@@ -714,7 +714,7 @@ int cDvbDevice::NumAudioTracksDevice(void) const
int n = 0;
if (aPid1)
n++;
- if (!Ca() && aPid2 && aPid1 != aPid2) // a Ca recording session blocks switching live audio tracks
+ if (Ca() <= MAXDEVICES && aPid2 && aPid1 != aPid2) // a Ca recording session blocks switching live audio tracks
n++;
return n;
}
@@ -746,7 +746,7 @@ bool cDvbDevice::CanReplay(void) const
if (Receiving())
return false;
#endif
- return cDevice::CanReplay() && !Ca(); // we can only replay if there is no Ca recording going on
+ return cDevice::CanReplay() && Ca() <= MAXDEVICES; // we can only replay if there is no Ca recording going on
}
bool cDvbDevice::SetPlayMode(ePlayMode PlayMode)