aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/db.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-12-03 15:53:37 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-12-03 15:53:37 +0000
commit36940d42cf3cc58b40a5a6f5fe86bad50ff48ad7 (patch)
treee0990a34f6c21597f045297b9bc322a0f1308857 /lib/dvb/db.cpp
parent20fdb2a2af40da98427a702a03a79b1fbec3d7af (diff)
downloadenigma2-36940d42cf3cc58b40a5a6f5fe86bad50ff48ad7.tar.gz
enigma2-36940d42cf3cc58b40a5a6f5fe86bad50ff48ad7.zip
fix marking non playable services in channellist
Diffstat (limited to 'lib/dvb/db.cpp')
-rw-r--r--lib/dvb/db.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp
index 38a062a2..658c5866 100644
--- a/lib/dvb/db.cpp
+++ b/lib/dvb/db.cpp
@@ -1,5 +1,6 @@
#include <errno.h>
#include <lib/dvb/db.h>
+#include <lib/dvb/dvb.h>
#include <lib/dvb/frontend.h>
#include <lib/dvb/epgcache.h>
#include <lib/base/eerror.h>
@@ -154,6 +155,21 @@ RESULT eDVBService::getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &
return eEPGCache::getInstance()->lookupEventTime(ref, t, ptr);
}
+bool eDVBService::isPlayable(const eServiceReference &ref, const eServiceReference &ignore)
+{
+ ePtr<eDVBResourceManager> res_mgr;
+ if ( eDVBResourceManager::getInstance( res_mgr ) )
+ eDebug("isPlayble... no res manager!!");
+ else
+ {
+ eDVBChannelID chid, chid_ignore;
+ ((const eServiceReferenceDVB&)ref).getChannelID(chid);
+ ((const eServiceReferenceDVB&)ignore).getChannelID(chid_ignore);
+ return res_mgr->canAllocateChannel(chid, chid_ignore);
+ }
+ return false;
+}
+
int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query)
{
int res = 0;