diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-05-31 17:50:58 +0200 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-05-31 17:51:21 +0200 |
| commit | 1c0fed5449b5ab880575587803451fc58fee13eb (patch) | |
| tree | ccf3789e384e52be42f9d4482aa4845f4b8f7c71 /lib/dvb/dvb.cpp | |
| parent | c1b1596392a63fbc32d9792dfa8e82ba9d8a7dc4 (diff) | |
| download | enigma2-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.cpp | 20 |
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 { |
