summaryrefslogtreecommitdiff
path: root/infosatepg.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2009-01-08 10:30:47 +0100
committerJochen Dolze <vdr@dolze.de>2009-01-08 10:30:47 +0100
commit6fb31a9477d93e019b0a2b4ef8457288ab0a40f4 (patch)
treeec1be57a98dca46122f3c4db262f9222c5cb3bd4 /infosatepg.cpp
parentc232d074e05316a418320b5c5027aa68d53bc74a (diff)
downloadvdr-plugin-infosatepg-6fb31a9477d93e019b0a2b4ef8457288ab0a40f4.tar.gz
vdr-plugin-infosatepg-6fb31a9477d93e019b0a2b4ef8457288ab0a40f4.tar.bz2
Fixed SVDRP segfault
Improved channel chooser again
Diffstat (limited to 'infosatepg.cpp')
-rw-r--r--infosatepg.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/infosatepg.cpp b/infosatepg.cpp
index 16a56e5..47c7da7 100644
--- a/infosatepg.cpp
+++ b/infosatepg.cpp
@@ -173,21 +173,17 @@ void cPluginInfosatepg::MainThreadHook(void)
if (dev)
{
if (!dev->ProvidesTransponder(chan)) continue; // device cannot provide transponder -> skip
+ if (EITScanner.UsesDevice(dev)) continue; // EITScanner is updating EPG -> skip
+ if (dev->Receiving()) continue; // device is recording -> skip
+ if (dev->IsPrimaryDevice()) continue; // device is primary -> skip
+ if (cDevice::ActualDevice()->CardIndex()==i) continue; // device is live viewing -> skip
if (dev->IsTunedToTransponder(chan))
{
- // just use this device
- dsyslog("infosatepg: found already switched device %i",dev->DeviceNumber()+1);
- if (cDevice::ActualDevice()->CardIndex()==i)
- cDevice::PrimaryDevice()->SwitchChannel(chan,true);
- else
- dev->SwitchChannel(chan,false);
+ // we already have a device which is tuned (maybe switched manually?)
+ // the filter will be added in status.cpp
global->SetWaitTimer();
return;
}
- if (EITScanner.UsesDevice(dev)) continue; // EITScanner is updating EPG -> skip
- if (dev->Receiving()) continue; // device is recording -> skip
- if (dev->IsPrimaryDevice()) continue; // device is primary -> skip
- if (cDevice::ActualDevice()->CardIndex()==i) continue; // device is live viewing -> skip
// ok -> use this device
dsyslog("infosatepg: found free device %i",dev->DeviceNumber()+1);
@@ -299,7 +295,7 @@ cString cPluginInfosatepg::SVDRPCommand(const char *Command, const char *Option,
asprintf(&output,"%s Switched: %s\n",output,global->Switched() ? "yes" : "no");
if (global->WakeupTime()!=-1)
{
- asprintf(&output,"%s WakeupTime: %04i ", global->WakeupTime());
+ asprintf(&output,"%s WakeupTime: %04i ", output,global->WakeupTime());
}
else
{