aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-12-02 14:30:21 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-12-02 14:30:21 +0000
commit2c1f4947646d051133197a23a73ee985b56e1713 (patch)
treeb1b9c723d0338f5c550989765c501f5a98bc4fac /lib/dvb
parentf15ee3f6cd34e4552f50dcc92a994198ed3b2dfe (diff)
downloadenigma2-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.cpp25
-rw-r--r--lib/dvb/dvb.h4
-rw-r--r--lib/dvb/pmt.cpp4
-rw-r--r--lib/dvb/pmt.h2
-rw-r--r--lib/dvb/sec.cpp10
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 :)");
}
}
}