if ((err = eDVBResourceManager::getInstance(res)) != 0)
{
eDebug("no resource manager");
- return;
- }
- if ((err = res->getChannelList(db)) != 0)
+ m_failed = 2;
+ } else if ((err = res->getChannelList(db)) != 0)
{
+ m_failed = 3;
eDebug("no channel list");
- return;
+ } else
+ {
+ m_scan->insertInto(db);
+ eDebug("scan done!");
}
-
- m_scan->insertInto(db);
-
- eDebug("scan done!");
+ }
+
+ if (evt == eDVBScan::evtFail)
+ {
+ eDebug("scan failed.");
+ m_failed = 1;
+ m_done = 1;
}
statusChanged();
}
-eComponentScan::eComponentScan(): m_done(-1)
+eComponentScan::eComponentScan(): m_done(-1), m_failed(0)
{
}
ePtr<eDVBResourceManager> mgr;
eDVBResourceManager::getInstance(mgr);
-
+
+ eDVBFrontendParameters *fe = new eDVBFrontendParameters();
+#if 1
eDVBFrontendParametersSatellite fesat;
fesat.frequency = 11817000; // 12070000;
fesat.inversion = eDVBFrontendParametersSatellite::Inversion::Off;
fesat.orbital_position = 192;
- eDVBFrontendParameters *fe = new eDVBFrontendParameters();
fe->setDVBS(fesat);
-
+
+#else
+ eDVBFrontendParametersTerrestrial fet;
+ fet.frequency = 626000000;
+ fet.inversion = eDVBFrontendParametersTerrestrial::Inversion::Unknown;
+ fet.bandwidth = eDVBFrontendParametersTerrestrial::Bandwidth::Bw8MHz;
+ fet.code_rate_HP = fet.code_rate_LP = eDVBFrontendParametersTerrestrial::FEC::fAuto;
+ fet.modulation = eDVBFrontendParametersTerrestrial::Modulation::QAM16;
+ fet.transmission_mode = eDVBFrontendParametersTerrestrial::TransmissionMode::TM8k;
+ fet.guard_interval = eDVBFrontendParametersTerrestrial::GuardInterval::GI_1_32;
+ fet.hierarchy = eDVBFrontendParametersTerrestrial::Hierarchy::HNone;
+ fe->setDVBT(fet);
+#endif
ePtr<iDVBChannel> channel;
if (mgr->allocateRawChannel(channel))
+ {
eDebug("scan: allocating raw channel failed!");
+ return -1;
+ }
std::list<ePtr<iDVBFrontendParameters> > list;
list.push_back(fe);
m_scan = new eDVBScan(channel);
- m_scan->start(list);
m_scan->connectEvent(slot(*this, &eComponentScan::scanEvent), m_scan_event_connection);
-
+ m_scan->start(list);
+
return 0;
}
{
return m_done;
}
+
+int eComponentScan::getError()
+{
+ return m_failed;
+}