Fixed handling of Ca parameters with values <= MAXDEVICES

This commit is contained in:
Klaus Schmidinger 2003-04-12 15:10:06 +02:00
parent f20648eab2
commit a22a2b7218
3 changed files with 7 additions and 3 deletions

View File

@ -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

View File

@ -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).

View File

@ -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)