diff -Nru vdr-1.5.13/vdr.c vdr-1.5.13-reelchannelscan/vdr.c --- vdr-1.5.13/vdr.c 2008-01-20 10:59:43.000000000 +0100 +++ vdr-1.5.13-reelchannelscan/vdr.c 2008-01-20 11:09:57.000000000 +0100 @@ -723,7 +723,12 @@ // 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...