Hi!
There seems to be a change in recent vdr versions regarding
NumProvidedSystems() which at least the reelchannelscan plugin
uses to tell apart a dvb-s2 tuner from a dvb-s one in a few places,
apparently it used to return 2 for a dvb-s2 tuner and now returns 3.
Is this intentional?
I patched reelchannelscan like below: (would need to check the
vdr version to be general of course, this was for 1.7.18; symptom
was a manual scan wrote out qam32 modulation into the channels.conf
instead of qpsk and of course vdr couldn't tune the new channel(s).)
Thanx!
Juergen
--- a/csmenu.c
+++ b/csmenu.c
@@ -243,7 +243,7 @@ void cMenuChannelscan::TunerDetection()
txtstream << tr("DVB-C - Cable") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')';
stp = CABLE;
} else if (device->ProvidesSource(cSource::stSat)) {
- if (device->NumProvidedSystems() == 2) {
+ if (device->NumProvidedSystems() == 3) {
// if(TunerIsRotor(tuner))
// txtstream << tr("DVB-S2 - Rotor") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')';
// else
--- a/scan.c
+++ b/scan.c
@@ -421,7 +421,7 @@ void cScan::ScanNitServices()
void cScan::ScanDVB_S(cTransponder * tp, cChannel * c)
{
//const time_t tt = time(NULL);
- int maxmods = device->NumProvidedSystems() == 2? 4 : 2;
+ int maxmods = device->NumProvidedSystems() == 3? 4 : 2;
// esyslog("%s cTransponder* tp = %x cChannel *c = %x", __PRETTY_FUNCTION__);
esyslog("maxmods = %d",maxmods);
@@ -431,7 +431,7 @@ void cScan::ScanDVB_S(cTransponder * tp,
;
// skip HD Transonders on SD Tuner
- if ( !device->NumProvidedSystems() == 2 && static_cast < cSatTransponder * >(tp)->System() == 1)
+ if ( !device->NumProvidedSystems() == 3 && static_cast < cSatTransponder * >(tp)->System() == 1)
return;
unsigned int nRadio = radioChannelNames.size();