aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/db.cpp
diff options
context:
space:
mode:
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;