From 2b2953574912796d7d7878f6523614ee3164fdb9 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 15 Apr 2010 00:42:04 +0200 Subject: [PATCH] add possibility to reserve a demux from python (via rawChannel) --- lib/dvb/dvb.cpp | 12 ++++++++++++ lib/dvb/dvb.h | 1 + lib/dvb/idvb.h | 1 + 3 files changed, 14 insertions(+) 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 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 m_frontend; ePtr 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 &SWIG_OUTPUT)=0; virtual RESULT requestTsidOnid(SWIG_PYOBJECT(ePyObject) callback) { return -1; } + virtual int reserveDemux() { return -1; } #ifndef SWIG enum { -- 2.30.2