diff options
| author | Fraxinas <andreas.frisch@multimedia-labs.de> | 2010-05-30 23:57:52 +0200 |
|---|---|---|
| committer | Fraxinas <andreas.frisch@multimedia-labs.de> | 2010-05-30 23:57:52 +0200 |
| commit | d37c356fa54be2fd93a92566c686a468a741cd0f (patch) | |
| tree | 6a78e41a134825ea231409e2dc82ebe2a09cd425 /lib/dvb/dvb.cpp | |
| parent | 9529d3ec43c9d81811dd5efa4c998821df90c9b5 (diff) | |
| parent | ec485b760f7aa361870421587055bcd929df7729 (diff) | |
| download | enigma2-d37c356fa54be2fd93a92566c686a468a741cd0f.tar.gz enigma2-d37c356fa54be2fd93a92566c686a468a741cd0f.zip | |
Merge branch 'experimental' of git.opendreambox.org:/git/enigma2 into experimental
Diffstat (limited to 'lib/dvb/dvb.cpp')
| -rw-r--r-- | lib/dvb/dvb.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 17712dde..40d44186 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -96,6 +96,8 @@ eDVBResourceManager::eDVBResourceManager() m_boxtype = DM800; else if (!strncmp(tmp, "dm500hd\n", rd)) m_boxtype = DM500HD; + else if (!strncmp(tmp, "dm800se\n", rd)) + m_boxtype = DM800SE; else { eDebug("boxtype detection via /proc/stb/info not possible... use fallback via demux count!\n"); if (m_demux.size() == 3) @@ -455,7 +457,7 @@ RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBA ePtr<eDVBRegisteredDemux> unused; - if (m_boxtype == DM800 || m_boxtype == DM500HD) // dm800 / 500hd + if (m_boxtype == DM800 || m_boxtype == DM500HD || m_boxtype == DM800SE) // dm800 / 500hd { cap |= capHoldDecodeReference; // this is checked in eDVBChannel::getDemux for (; i != m_demux.end(); ++i, ++n) @@ -1657,6 +1659,18 @@ void eDVBChannel::SDTready(int result) m_SDT = 0; } +int eDVBChannel::reserveDemux() +{ + ePtr<iDVBDemux> dmx; + if (!getDemux(dmx, 0)) + { + uint8_t id; + if (!dmx->getCADemuxID(id)) + return id; + } + return -1; +} + RESULT eDVBChannel::requestTsidOnid(ePyObject callback) { if (PyCallable_Check(callback)) |
