diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2005-12-02 14:30:21 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2005-12-02 14:30:21 +0000 |
| commit | 2c1f4947646d051133197a23a73ee985b56e1713 (patch) | |
| tree | b1b9c723d0338f5c550989765c501f5a98bc4fac /lib/dvb | |
| parent | f15ee3f6cd34e4552f50dcc92a994198ed3b2dfe (diff) | |
| download | enigma2-2c1f4947646d051133197a23a73ee985b56e1713.tar.gz enigma2-2c1f4947646d051133197a23a73ee985b56e1713.zip | |
set foregroundcolor of non tuneable services in servicelist to gray (for linked tuner mode)
Diffstat (limited to 'lib/dvb')
| -rw-r--r-- | lib/dvb/dvb.cpp | 25 | ||||
| -rw-r--r-- | lib/dvb/dvb.h | 4 | ||||
| -rw-r--r-- | lib/dvb/pmt.cpp | 4 | ||||
| -rw-r--r-- | lib/dvb/pmt.h | 2 | ||||
| -rw-r--r-- | lib/dvb/sec.cpp | 10 |
5 files changed, 27 insertions, 18 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 4d78292a..676c0633 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -297,7 +297,7 @@ RESULT eDVBResourceManager::getChannelList(ePtr<iDVBChannelList> &list) } -RESULT eDVBResourceManager::allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel) +RESULT eDVBResourceManager::allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel, bool fake) { /* first, check if a channel is already existing. */ @@ -334,19 +334,22 @@ RESULT eDVBResourceManager::allocateChannel(const eDVBChannelID &channelid, eUse if (allocateFrontend(fe, feparm)) return errNoFrontend; - - RESULT res; - ePtr<eDVBChannel> ch; - ch = new eDVBChannel(this, fe); - res = ch->setChannel(channelid, feparm); - if (res) + if (!fake) { - channel = 0; - return errChidNotFound; - } + RESULT res; + ePtr<eDVBChannel> ch; + ch = new eDVBChannel(this, fe); + + res = ch->setChannel(channelid, feparm); + if (res) + { + channel = 0; + return errChidNotFound; + } - channel = ch; + channel = ch; + } return 0; } diff --git a/lib/dvb/dvb.h b/lib/dvb/dvb.h index fcfbdfe7..355e2469 100644 --- a/lib/dvb/dvb.h +++ b/lib/dvb/dvb.h @@ -156,9 +156,9 @@ public: errNoDemux = -2, errChidNotFound = -3 }; - + /* allocate channel... */ - RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel); + RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel, bool fake=false); RESULT allocateRawChannel(eUsePtr<iDVBChannel> &channel, int frontend_index); RESULT allocatePVRChannel(eUsePtr<iDVBPVRChannel> &channel); diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index 5a1b7c5c..0fc05240 100644 --- a/lib/dvb/pmt.cpp +++ b/lib/dvb/pmt.cpp @@ -9,6 +9,8 @@ #include <dvbsi++/iso639_language_descriptor.h> #include <dvbsi++/component_descriptor.h> +int eDVBServicePMTHandler::m_count; + eDVBServicePMTHandler::eDVBServicePMTHandler(int record) :m_ca_servicePtr(0) { @@ -17,6 +19,7 @@ eDVBServicePMTHandler::eDVBServicePMTHandler(int record) CONNECT(m_PMT.tableReady, eDVBServicePMTHandler::PMTready); CONNECT(m_PAT.tableReady, eDVBServicePMTHandler::PATready); eDebug("new PMT handler record: %d", m_record); + ++m_count; } eDVBServicePMTHandler::~eDVBServicePMTHandler() @@ -32,6 +35,7 @@ eDVBServicePMTHandler::~eDVBServicePMTHandler() eDVBCAService::unregister_service(m_reference, demux_num, ptr); eDVBCIInterfaces::getInstance()->removePMTHandler(this); } + --m_count; } void eDVBServicePMTHandler::channelStateChanged(iDVBChannel *channel) diff --git a/lib/dvb/pmt.h b/lib/dvb/pmt.h index 5f3d4777..b8ed76f9 100644 --- a/lib/dvb/pmt.h +++ b/lib/dvb/pmt.h @@ -66,7 +66,9 @@ class eDVBServicePMTHandler: public Object void PATready(int error); int m_record; + static int m_count; public: + static int getCount() { return m_count; } eDVBServicePMTHandler(int record); ~eDVBServicePMTHandler(); diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index 64443066..4842945c 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -184,7 +184,7 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite it->m_frontend->getData(1, oucsw); it->m_frontend->getData(2, oToneburst); it->m_frontend->getData(6, oRotorPos); - +#if 0 eDebug("compare csw %02x == lcsw %02x", csw, ocsw); if ( diseqc ) @@ -193,16 +193,16 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite if ( rotor ) eDebug("compare pos %d == current pos %d", sat.orbital_position, oRotorPos); - +#endif if ( (csw != ocsw) || ( diseqc && (ucsw != oucsw || toneburst != oToneburst) ) || ( rotor && oRotorPos != sat.orbital_position ) ) { - eDebug("can not tune this transponder with linked tuner in use!!"); +// eDebug("can not tune this transponder with linked tuner in use!!"); ret=0; } - else - eDebug("OK .. can tune this transponder with linked tuner in use :)"); +// else +// eDebug("OK .. can tune this transponder with linked tuner in use :)"); } } } |
