fixed single pat entry workaround, add delayed "no pat entry" handling to fix some...
[enigma2.git] / lib / dvb / dvb.h
index 5399f45e6e7a21d40279730f4851c2a9304a14e0..f612affb67c1ebe930a4c938e0845c44352c8072 100644 (file)
@@ -135,6 +135,10 @@ class eDVBResourceManager: public iObject, public Object
        DECLARE_REF(eDVBResourceManager);
        int avail, busy;
 
+       enum { DM7025, DM800, DM500HD, DM800SE, DM8000 };
+
+       int m_boxtype;
+
        eSmartPtrList<iDVBAdapter> m_adapter;
        eSmartPtrList<eDVBRegisteredDemux> m_demux;
        eSmartPtrList<eDVBRegisteredFrontend> m_frontend, m_simulate_frontend;
@@ -205,7 +209,7 @@ public:
 
        RESULT allocateFrontendByIndex(ePtr<eDVBAllocatedFrontend> &fe, int slot_index);
                        /* allocate a demux able to filter on the selected frontend. */
-       RESULT allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBAllocatedDemux> &demux, int cap);
+       RESULT allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBAllocatedDemux> &demux, int &cap);
 #ifdef SWIG
 public:
 #endif
@@ -255,7 +259,10 @@ public:
                /* iDVBPVRChannel */
        RESULT playFile(const char *file);
        void stopFile();
-       
+
+       RESULT playSource(ePtr<iTsSource>& source, const char *priv=NULL);
+       void stopSource();
+
        void setCueSheet(eCueSheet *cuesheet);
        
        RESULT getLength(pts_t &len);
@@ -264,6 +271,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;
@@ -296,7 +304,7 @@ private:
        std::list<std::pair<off_t, off_t> > m_source_span;
        void getNextSourceSpan(off_t current_offset, size_t bytes_read, off_t &start, size_t &size);
        void flushPVR(iDVBDemux *decoding_demux=0);
-       
+
        eSingleLock m_cuesheet_lock;
 
        friend class eUsePtr<eDVBChannel>;