diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f050d337..fad8e0be 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -167,6 +167,8 @@ Stefan Huelswitt 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 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)