X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7fd4f3d49a6d2f93cae4769cf8678358ebd1abce..033a2333874297c1c388ecf4532de2bc2b11fb30:/lib/dvb/demux.h diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h index b2d571ac..d3a369f9 100644 --- a/lib/dvb/demux.h +++ b/lib/dvb/demux.h @@ -6,20 +6,37 @@ class eDVBDemux: public iDVBDemux { + DECLARE_REF(eDVBDemux); +public: + enum { + evtFlush + }; + eDVBDemux(int adapter, int demux); + virtual ~eDVBDemux(); + + RESULT setSourceFrontend(int fenum); + RESULT setSourcePVR(int pvrnum); + + RESULT createSectionReader(eMainloop *context, ePtr &reader); + RESULT createTSRecorder(ePtr &recorder); + RESULT getMPEGDecoder(ePtr &reader); + RESULT getSTC(pts_t &pts); + RESULT getCADemuxID(uint8_t &id) { id = demux; return 0; } + RESULT flush(); + RESULT connectEvent(const Slot1 &event, ePtr &conn); +private: int adapter, demux; int m_dvr_busy; friend class eDVBSectionReader; friend class eDVBAudio; friend class eDVBVideo; + friend class eDVBPCR; friend class eDVBTSRecorder; -public: - DECLARE_REF(eDVBDemux); - eDVBDemux(int adapter, int demux); - virtual ~eDVBDemux(); - RESULT createSectionReader(eMainloop *context, ePtr &reader); - RESULT createTSRecorder(ePtr &recorder); - RESULT getMPEGDecoder(ePtr &reader); + friend class eDVBCAService; + Signal1 m_event; + + int openDemux(void); }; class eDVBSectionReader: public iDVBSectionReader, public Object @@ -42,7 +59,7 @@ public: RESULT connectRead(const Slot1 &read, ePtr &conn); }; -class eDVBTSRecorderThread; +class eFilePushThread; class eDVBTSRecorder: public iDVBTSRecorder, public Object { @@ -67,7 +84,7 @@ private: RESULT startPID(int pid); void stopPID(int pid); - eDVBTSRecorderThread *m_thread; + eFilePushThread *m_thread; std::map m_pids; Signal1 m_event;