m_tuneTimer = new eTimer(eApp);
CONNECT(m_tuneTimer->timeout, eDVBFrontend::tuneLoop);
- memset(m_data, 0xFFFF, sizeof(m_data));
+ int entries = sizeof(m_data) / sizeof(int);
+ for (int i=0; i<entries; ++i)
+ m_data[i] = -1;
return;
}
}
case feCable:
{
+#if HAVE_DVB_API_VERSION >= 3
eDVBFrontendParametersCable feparm;
if (where.getDVBC(feparm))
return -EINVAL;
parm.frequency = feparm.frequency * 1000;
parm.u.qam.symbol_rate = feparm.symbol_rate;
#endif
-
-
fe_modulation_t mod;
switch (feparm.modulation)
{
#else
parm.u.qam.modulation = mod;
#endif
-
switch (feparm.inversion)
{
case eDVBFrontendParametersCable::Inversion::On:
#else
parm.u.qam.fec_inner = fec_inner;
#endif
-
+#else
+ eFatal("Old API not fully supported");
+#endif // old api
break;
}
case feTerrestrial:
RESULT eDVBFrontend::getData(int num, int &data)
{
- if ( num < 7 )
+ if ( num < (int)(sizeof(m_data)/sizeof(int)) )
{
data = m_data[num];
return 0;
RESULT eDVBFrontend::setData(int num, int val)
{
- if ( num < 7 )
+ if ( num < (int)(sizeof(m_data)/sizeof(int)) )
{
m_data[num] = val;
return 0;