diff -Nru vdr-1.5.10/vdr.c vdr-1.5.10-reelchannelscan/vdr.c --- vdr-1.5.10/vdr.c 2007-10-19 14:31:31.000000000 +0200 +++ vdr-1.5.10-reelchannelscan/vdr.c 2007-10-19 22:36:09.000000000 +0200 @@ -720,7 +720,13 @@ // Make sure we have a visible programme in case device usage has changed: if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder() && !cDevice::PrimaryDevice()->HasProgramme()) { static time_t lastTime = 0; - if (Now - lastTime > MINCHANNELWAIT) { + bool reelChannelscanIsScanningOnReceivingDevice; + if (!cPluginManager::CallFirstService("ReelChannelscan::IsScanningOnReceivingDevice", &reelChannelscanIsScanningOnReceivingDevice)) + { + reelChannelscanIsScanningOnReceivingDevice = false; + } + + if (!reelChannelscanIsScanningOnReceivingDevice && Now - lastTime > MINCHANNELWAIT) { cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel()); if (Channel && (Channel->Vpid() || Channel->Apid(0))) { if (!Channels.SwitchTo(cDevice::CurrentChannel()) // try to switch to the original channel...