1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

No longer trying to switch to an available channel if the primary device has no valid programme and a menu is open

This commit is contained in:
Klaus Schmidinger 2008-02-23 15:41:14 +01:00
parent 300d402663
commit 25cc41854e
2 changed files with 5 additions and 2 deletions

View File

@ -5663,3 +5663,6 @@ Video Disk Recorder Revision History
- The CAM menu now stays open as long as it is automatically updated, even without - The CAM menu now stays open as long as it is automatically updated, even without
pressing a remote control key. This is important when updating the CAM firmware pressing a remote control key. This is important when updating the CAM firmware
from the transponder. from the transponder.
- No longer trying to switch to an available channel if the primary device has
no valid programme and a menu is open (avoids interference with the CAM in
case a CAM menu is open).

4
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.cadsoft.de/vdr * The project's page is at http://www.cadsoft.de/vdr
* *
* $Id: vdr.c 1.311 2008/02/23 13:19:10 kls Exp $ * $Id: vdr.c 1.312 2008/02/23 15:36:01 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -730,7 +730,7 @@ int main(int argc, char *argv[])
// Make sure we have a visible programme in case device usage has changed: // Make sure we have a visible programme in case device usage has changed:
if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder() && !cDevice::PrimaryDevice()->HasProgramme()) { if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder() && !cDevice::PrimaryDevice()->HasProgramme()) {
static time_t lastTime = 0; static time_t lastTime = 0;
if (Now - lastTime > MINCHANNELWAIT) { if (!Menu && Now - lastTime > MINCHANNELWAIT) { // !Menu to avoid interfering with the CAM if a CAM menu is open
cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel()); cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel());
if (Channel && (Channel->Vpid() || Channel->Apid(0))) { if (Channel && (Channel->Vpid() || Channel->Apid(0))) {
if (!Channels.SwitchTo(cDevice::CurrentChannel()) // try to switch to the original channel... if (!Channels.SwitchTo(cDevice::CurrentChannel()) // try to switch to the original channel...