freebsd-ports/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp
Juergen Lock 03eb572175 - Add bugfix for infosatepg grabbing a bonded device.
- Convert Makefile header.
2013-02-16 15:04:16 +00:00

36 lines
1.8 KiB
C++

--- infosatepg.cpp.orig
+++ infosatepg.cpp
@@ -190,10 +190,14 @@ void cPluginInfosatepg::MainThreadHook(v
if (dev)
{
if (!dev->ProvidesTransponder(chan)) continue; // device cannot provide transponder -> skip
+#if VDRVERSNUM >= 10726
+ if (statusMonitor->m_LiveView) continue; // EITScanner is updating EPG -> skip
+#else
if (EITScanner.UsesDevice(dev)) continue; // EITScanner is updating EPG -> skip
+#endif
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 (cDevice::ActualDevice()->CardIndex()==dev->CardIndex()) continue; // device is live viewing -> skip
if (dev->IsTunedToTransponder(chan))
{
// we already have a device which is tuned (maybe switched manually?)
@@ -202,6 +206,8 @@ void cPluginInfosatepg::MainThreadHook(v
return;
}
+ if (!dev->MaySwitchTransponder(chan)) continue; // bonded?
+
// ok -> use this device
dsyslog("infosatepg: found free device %i",dev->DeviceNumber()+1);
dev->SwitchChannel(chan,false);
@@ -403,7 +409,7 @@ cString cPluginInfosatepg::SVDRPCommand(
cString head2;
head2="\n" \
" | | missed | | | unlocated\n" \
- " Day | Date | Packets | Received %% | Processed | Events\n" \
+ " Day | Date | Packets | Received % | Processed | Events\n" \
"------+--------+---------+------------+------------+----------\n";
cString mstr;