Fixed switching channels while an encrypted channel is being recorded

This commit is contained in:
Klaus Schmidinger 2004-06-12 15:07:29 +02:00
parent 9b0070a420
commit 1369239b53
3 changed files with 9 additions and 2 deletions

View File

@ -1032,3 +1032,7 @@ Jouni Karvo <kex@netlab.hut.fi>
Olaf Henkel <olafhenkel@t-online.de>
for reporting a problem with long event texts in the "Classic VDR" skin
Martin Dauskardt <md001@gmx.de>
for reporting a problem with switching channels while an encrypted channel is being
recorded

View File

@ -2908,3 +2908,6 @@ Video Disk Recorder Revision History
- Some improvements in cOsd creation (thanks to some suggestions by Jouni Karvo).
- Fixed calculating the OSD width and height (thanks to Olaf Henkel for reporting
a problem with long event texts in the "Classic VDR" skin).
- Fixed switching channels while an encrypted channel is being recorded, because the
channel was switched if the new channel was on the same transponder and was
a radio channel (thanks to Martin Dauskardt 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.90 2004/06/12 14:42:19 kls Exp $
* $Id: dvbdevice.c 1.91 2004/06/12 14:50:23 kls Exp $
*/
#include "dvbdevice.h"
@ -682,7 +682,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
result = hasPriority;
if (Priority >= 0 && Receiving(true)) {
if (dvbTuner->IsTunedTo(Channel)) {
if (!HasPid(Channel->Vpid())) {
if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid1() && !HasPid(Channel->Apid1())) {
#ifdef DO_MULTIPLE_RECORDINGS
if (Channel->Ca() > CACONFBASE)
needsDetachReceivers = !ciHandler // only LL-firmware can do non-live CA channels