diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e95b6ef0..d43a2192 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1442,3 +1442,7 @@ Thomas G David Woodhouse for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with own inline functions to avoid problems on platforms that don't provide these + +Marcus Hilbrich + for a bug report that lead to fixing the EPG scan, so that it doesn't use the + primary device if that is currently in Transfer-Mode from itself diff --git a/HISTORY b/HISTORY index 73be00c4..d6a38df7 100644 --- a/HISTORY +++ b/HISTORY @@ -3727,3 +3727,6 @@ Video Disk Recorder Revision History - Modified handling of audio packets for radio channels in remux.c (thanks to Reinhard Nissl). - Updated the Danish OSD texts (thanks to Mogens Elneff). +- Fixed the EPG scan, so that it doesn't use the primary device if that is + currently in Transfer-Mode from itself (thanks to Marcus Hilbrich for a bug + report that lead to this). diff --git a/eitscan.c b/eitscan.c index 3894bcac..10739c31 100644 --- a/eitscan.c +++ b/eitscan.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: eitscan.c 1.27 2005/08/07 11:29:54 kls Exp $ + * $Id: eitscan.c 1.28 2005/08/26 15:37:06 kls Exp $ */ #include "eitscan.h" @@ -150,7 +150,7 @@ void cEITScanner::Process(void) if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) { if (Device->ProvidesTransponder(Channel)) { if (!Device->Receiving()) { - bool IsPrimaryDeviceReplaying = Device == cDevice::PrimaryDevice() && Device->Replaying(); + bool IsPrimaryDeviceReplaying = Device == cDevice::PrimaryDevice() && Device->Replaying() && cTransferControl::ReceiverDevice() != cDevice::PrimaryDevice(); if (Device != cDevice::ActualDevice() || (Device->ProvidesTransponderExclusively(Channel) && (IsPrimaryDeviceReplaying || now - lastActivity > Setup.EPGScanTimeout * 3600))) { if (!IsPrimaryDeviceReplaying && Device == cDevice::ActualDevice() && !currentChannel) { if (cTransferControl::ReceiverDevice())