diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2010-04-15 00:42:04 +0200 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2010-04-15 00:42:40 +0200 |
| commit | 2b2953574912796d7d7878f6523614ee3164fdb9 (patch) | |
| tree | 5c1a5b3a2463ff28f2e2df76eb4a7debfd5a2f4b /lib | |
| parent | 90a0ccba1f6e5a966950676bfc1e62d47b23ae6a (diff) | |
| download | enigma2-2b2953574912796d7d7878f6523614ee3164fdb9.tar.gz enigma2-2b2953574912796d7d7878f6523614ee3164fdb9.zip | |
add possibility to reserve a demux from python (via rawChannel)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/dvb.cpp | 12 | ||||
| -rw-r--r-- | lib/dvb/dvb.h | 1 | ||||
| -rw-r--r-- | lib/dvb/idvb.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 17712dde..836851c5 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1657,6 +1657,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)) diff --git a/lib/dvb/dvb.h b/lib/dvb/dvb.h index 7b320006..405bd557 100644 --- a/lib/dvb/dvb.h +++ b/lib/dvb/dvb.h @@ -268,6 +268,7 @@ public: int getUseCount() { return m_use_count; } RESULT requestTsidOnid(ePyObject callback); + int reserveDemux(); private: ePtr<eDVBAllocatedFrontend> m_frontend; ePtr<eDVBAllocatedDemux> m_demux, m_decoder_demux; diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index d20829bf..996d7909 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -508,6 +508,7 @@ public: /* direct frontend access for raw channels and/or status inquiries. */ virtual SWIG_VOID(RESULT) getFrontend(ePtr<iDVBFrontend> &SWIG_OUTPUT)=0; virtual RESULT requestTsidOnid(SWIG_PYOBJECT(ePyObject) callback) { return -1; } + virtual int reserveDemux() { return -1; } #ifndef SWIG enum { |
