aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/dvb.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-05-31 17:50:58 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-05-31 17:51:21 +0200
commit1c0fed5449b5ab880575587803451fc58fee13eb (patch)
treeccf3789e384e52be42f9d4482aa4845f4b8f7c71 /lib/dvb/dvb.cpp
parentc1b1596392a63fbc32d9792dfa8e82ba9d8a7dc4 (diff)
downloadenigma2-1c0fed5449b5ab880575587803451fc58fee13eb.tar.gz
enigma2-1c0fed5449b5ab880575587803451fc58fee13eb.zip
dvb.cpp: another dm500hd/dm800 demux policy fix
Diffstat (limited to 'lib/dvb/dvb.cpp')
-rw-r--r--lib/dvb/dvb.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp
index 3c2c22af..d30be29c 100644
--- a/lib/dvb/dvb.cpp
+++ b/lib/dvb/dvb.cpp
@@ -438,14 +438,24 @@ RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBA
if (!unused)
unused = i;
}
- else if (!fe || (i->m_adapter == fe->m_adapter &&
- i->m_demux->getSource() == fe->m_frontend->getDVBID()))
+ else
{
- demux = new eDVBAllocatedDemux(i);
- return 0;
+ if (fe)
+ {
+ if (i->m_adapter == fe->m_adapter &&
+ i->m_demux->getSource() == fe->m_frontend->getDVBID())
+ {
+ demux = new eDVBAllocatedDemux(i);
+ return 0;
+ }
+ }
+ else if (i->m_demux->getSource() == -1) // PVR
+ {
+ demux = new eDVBAllocatedDemux(i);
+ return 0;
+ }
}
}
-
}
else if (m_demux.size() < 5) // ATI
{