Merge branch 'bug_518_add_demux_reserve_from_python'
authorghost <andreas.monzner@multimedia-labs.de>
Wed, 6 Oct 2010 09:54:26 +0000 (11:54 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Wed, 6 Oct 2010 09:54:26 +0000 (11:54 +0200)
lib/dvb/dvb.cpp
lib/dvb/dvb.h
lib/dvb/idvb.h

index 17712dd..836851c 100644 (file)
@@ -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))
index 7b32000..405bd55 100644 (file)
@@ -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;
index d20829b..996d790 100644 (file)
@@ -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
        {