Merge branch 'master' of git.opendreambox.org:/git/enigma2
[enigma2.git] / lib / dvb / demux.h
index 3541974e9a39df7666f9b694c6f68a8e5ffa4738..14501b9859b2d2a9a02c41a33d96c2f0dff0e30b 100644 (file)
@@ -15,6 +15,7 @@ public:
        virtual ~eDVBDemux();
        
        RESULT setSourceFrontend(int fenum);
+       int getSource() { return source; }
        RESULT setSourcePVR(int pvrnum);
        
        RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader);
@@ -28,7 +29,7 @@ public:
        
        int getRefCount() { return ref; }
 private:
-       int adapter, demux;
+       int adapter, demux, source;
        
        int m_dvr_busy;
        friend class eDVBSectionReader;
@@ -53,7 +54,7 @@ class eDVBSectionReader: public iDVBSectionReader, public Object
        int active;
        int checkcrc;
        void data(int);
-       eSocketNotifier *notifier;
+       ePtr<eSocketNotifier> notifier;
 public:
        
        eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESULT &res);
@@ -71,7 +72,7 @@ class eDVBPESReader: public iDVBPESReader, public Object
        ePtr<eDVBDemux> m_demux;
        int m_active;
        void data(int);
-       eSocketNotifier *m_notifier;
+       ePtr<eSocketNotifier> m_notifier;
 public:
        eDVBPESReader(eDVBDemux *demux, eMainloop *context, RESULT &res);
        virtual ~eDVBPESReader();
@@ -100,7 +101,9 @@ public:
        RESULT setBoundary(off_t max);
        
        RESULT stop();
-       
+
+       RESULT getCurrentPCR(pts_t &pcr);
+
        RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &conn);
 private:
        RESULT startPID(int pid);