From 23876b6f15422655b8c180682b10a09302444bef Mon Sep 17 00:00:00 2001 From: ghost Date: Fri, 29 May 2009 20:31:22 +0200 Subject: [PATCH] dvb.cpp: add demux policy for dm800/500hd --- lib/dvb/dvb.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 208f51d4..a7428493 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -429,7 +429,25 @@ RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr unused; - if (m_demux.size() < 5) + if (m_demux.size() == 3) // dm800 / 500hd + { + for (; i != m_demux.end(); ++i, ++n) + { + if (!i->m_inuse) + { + if (!unused) + unused = i; + } + else if (i->m_adapter == fe->m_adapter && + i->m_demux->getSource() == fe->m_frontend->getDVBID()) + { + demux = new eDVBAllocatedDemux(i); + return 0; + } + } + + } + else if (m_demux.size() < 5) // ATI { /* FIXME: hardware demux policy */ if (!(cap & iDVBChannel::capDecode)) -- 2.30.2