aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-29 21:31:27 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-29 21:31:27 +0000
commit2d0d9ad2cf4891c5386a3d8ca040c2738b5c2532 (patch)
treee98e536590b73ce83687964a22d1cceaf3fd5cc1 /lib/dvb
parented0a34a4cbc6a3e001fd57d9f363052bb04c6624 (diff)
downloadenigma2-2d0d9ad2cf4891c5386a3d8ca040c2738b5c2532.tar.gz
enigma2-2d0d9ad2cf4891c5386a3d8ca040c2738b5c2532.zip
code cleanup in ChannelSelection,
prepare for new service groups
Diffstat (limited to 'lib/dvb')
-rw-r--r--lib/dvb/db.cpp4
-rw-r--r--lib/dvb/dvb.cpp6
-rw-r--r--lib/dvb/dvb.h4
-rw-r--r--lib/dvb/frontend.cpp2
-rw-r--r--lib/dvb/idvb.h2
5 files changed, 10 insertions, 8 deletions
diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp
index eb0221a3..39a0d3ee 100644
--- a/lib/dvb/db.cpp
+++ b/lib/dvb/db.cpp
@@ -168,7 +168,7 @@ RESULT eDVBService::getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &
return eEPGCache::getInstance()->lookupEventTime(ref, start_time, ptr);
}
-bool eDVBService::isPlayable(const eServiceReference &ref, const eServiceReference &ignore)
+int eDVBService::isPlayable(const eServiceReference &ref, const eServiceReference &ignore)
{
ePtr<eDVBResourceManager> res_mgr;
if ( eDVBResourceManager::getInstance( res_mgr ) )
@@ -180,7 +180,7 @@ bool eDVBService::isPlayable(const eServiceReference &ref, const eServiceReferen
((const eServiceReferenceDVB&)ignore).getChannelID(chid_ignore);
return res_mgr->canAllocateChannel(chid, chid_ignore);
}
- return false;
+ return 0;
}
int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query)
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp
index ff3e4712..c3c0a026 100644
--- a/lib/dvb/dvb.cpp
+++ b/lib/dvb/dvb.cpp
@@ -511,7 +511,7 @@ RESULT eDVBResourceManager::connectChannelAdded(const Slot1<void,eDVBChannel*> &
return 0;
}
-bool eDVBResourceManager::canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm)
+int eDVBResourceManager::canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm)
{
ePtr<eDVBRegisteredFrontend> best;
int bestval = 0;
@@ -524,10 +524,10 @@ bool eDVBResourceManager::canAllocateFrontend(ePtr<iDVBFrontendParameters> &fepa
bestval = c;
}
- return bestval>0;
+ return bestval;
}
-bool eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID& ignore)
+int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID& ignore)
{
bool ret=true;
if (m_cached_channel)
diff --git a/lib/dvb/dvb.h b/lib/dvb/dvb.h
index 4ca986b1..037c1974 100644
--- a/lib/dvb/dvb.h
+++ b/lib/dvb/dvb.h
@@ -175,7 +175,7 @@ class eDVBResourceManager: public iObject, public Object
Signal1<void,eDVBChannel*> m_channelAdded;
- bool canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
+ int canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
eUsePtr<iDVBChannel> m_cached_channel;
Connection m_cached_channel_state_changed_conn;
@@ -199,7 +199,7 @@ public:
};
RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);
- bool canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore);
+ int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore);
/* allocate channel... */
RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel);
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index 133aa0f7..c4d64122 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -2002,5 +2002,7 @@ int eDVBFrontend::isCompatibleWith(ePtr<iDVBFrontendParameters> &feparm)
ASSERT(!feparm->getDVBS(sat_parm));
return m_sec->canTune(sat_parm, this, 1 << m_fe);
}
+ else if (m_type == eDVBFrontend::feCable)
+ return 2; // more prio for cable frontends
return 1;
}
diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h
index 1f8aebda..997b2a88 100644
--- a/lib/dvb/idvb.h
+++ b/lib/dvb/idvb.h
@@ -272,7 +272,7 @@ public:
// iStaticServiceInformation
RESULT getName(const eServiceReference &ref, std::string &name);
RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
- bool isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+ int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
/* for filtering: */
int checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query);