}
eDVBService::eDVBService()
+ :m_flags(0)
{
}
struct stat s;
if ( !stat("lamedb", &s) )
{
- rename("lamedb", CONFIGDIR"/enigma2/lamedb" );
- reloadServicelist();
+ if ( !stat(CONFIGDIR"/enigma2", &s) )
+ {
+ rename("lamedb", CONFIGDIR"/enigma2/lamedb" );
+ reloadServicelist();
+ }
}
return;
}
ter.guard_interval = guard_interval;
ter.hierarchy = hierarchy;
ter.inversion = inversion;
-
feparm->setDVBT(ter);
} else if (line[1]=='c')
{
eDVBFrontendParametersCable cab;
- int frequency, symbol_rate, inversion=0, modulation=3;
- sscanf(line+2, "%d:%d:%d:%d", &frequency, &symbol_rate, &inversion, &modulation);
+ int frequency, symbol_rate,
+ inversion=eDVBFrontendParametersCable::Inversion::Unknown,
+ modulation=eDVBFrontendParametersCable::Modulation::Auto,
+ fec_inner=eDVBFrontendParametersCable::FEC::fAuto;
+ sscanf(line+2, "%d:%d:%d:%d:%d", &frequency, &symbol_rate, &inversion, &modulation, &fec_inner);
cab.frequency = frequency;
+ cab.fec_inner = fec_inner;
+ cab.inversion = inversion;
cab.symbol_rate = symbol_rate;
cab.modulation = modulation;
- cab.fec_inner = 6;
- cab.inversion = inversion;
feparm->setDVBC(cab);
}
}
}
if (!ch.m_frontendParameters->getDVBC(cab))
{
- fprintf(f, "\tc %d:%d:%d:%d\n",
- cab.frequency, cab.symbol_rate, cab.inversion, cab.modulation);
+ fprintf(f, "\tc %d:%d:%d:%d:%d\n",
+ cab.frequency, cab.symbol_rate, cab.inversion, cab.modulation, cab.fec_inner);
}
fprintf(f, "/\n");
channels++;
0);
fprintf(f, "%s\n", i->second->m_service_name.c_str());
+
fprintf(f, "p:%s", i->second->m_provider_name.c_str());
// write cached pids
ca != i->second->m_ca.end(); ++ca)
fprintf(f, ",C:%04x", *ca);
+ if (i->second->m_flags)
+ fprintf(f, ",f:%x", i->second->m_flags);
+
fprintf(f, "\n");
services++;
}
return 0;
}
+eServiceReference eDVBDB::searchReference(int tsid, int onid, int sid)
+{
+ eServiceID Sid(sid);
+ eTransportStreamID Tsid(tsid);
+ eOriginalNetworkID Onid(onid);
+ for (std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator sit(m_services.begin());
+ sit != m_services.end(); ++sit)
+ {
+ if (sit->first.getTransportStreamID() == Tsid &&
+ sit->first.getOriginalNetworkID() == Onid &&
+ sit->first.getServiceID() == Sid)
+ return sit->first;
+ }
+ return eServiceReference();
+}
+
DEFINE_REF(eDVBDBQueryBase);
eDVBDBQueryBase::eDVBDBQueryBase(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query)