X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d80bb0a6b9862171d9901b6b19347b5e9f6279cd..ce38faaf7ce4c1320fa42109c13a60d74ab8cd9c:/lib/dvb/demux.h diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h index ee731ef8..d43c41bb 100644 --- a/lib/dvb/demux.h +++ b/lib/dvb/demux.h @@ -15,6 +15,7 @@ public: virtual ~eDVBDemux(); RESULT setSourceFrontend(int fenum); + int getSource() { return source; } RESULT setSourcePVR(int pvrnum); RESULT createSectionReader(eMainloop *context, ePtr &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; @@ -47,18 +48,17 @@ private: class eDVBSectionReader: public iDVBSectionReader, public Object { DECLARE_REF(eDVBSectionReader); -private: int fd; Signal1 read; ePtr demux; int active; int checkcrc; void data(int); - eSocketNotifier *notifier; + ePtr notifier; public: - eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESULT &res); virtual ~eDVBSectionReader(); + RESULT setBufferSize(int size); RESULT start(const eDVBSectionFilterMask &mask); RESULT stop(); RESULT connectRead(const Slot1 &read, ePtr &conn); @@ -67,16 +67,16 @@ public: class eDVBPESReader: public iDVBPESReader, public Object { DECLARE_REF(eDVBPESReader); -private: int m_fd; Signal2 m_read; ePtr m_demux; int m_active; void data(int); - eSocketNotifier *m_notifier; + ePtr m_notifier; public: eDVBPESReader(eDVBDemux *demux, eMainloop *context, RESULT &res); virtual ~eDVBPESReader(); + RESULT setBufferSize(int size); RESULT start(int pid); RESULT stop(); RESULT connectRead(const Slot2 &read, ePtr &conn); @@ -91,24 +91,28 @@ public: eDVBTSRecorder(eDVBDemux *demux); ~eDVBTSRecorder(); + RESULT setBufferSize(int size); RESULT start(); RESULT addPID(int pid); RESULT removePID(int pid); - RESULT setTimingPID(int pid); + RESULT setTimingPID(int pid, int type); RESULT setTargetFD(int fd); RESULT setTargetFilename(const char *filename); RESULT setBoundary(off_t max); RESULT stop(); - + + RESULT getCurrentPCR(pts_t &pcr); + RESULT connectEvent(const Slot1 &event, ePtr &conn); private: RESULT startPID(int pid); void stopPID(int pid); eDVBRecordFileThread *m_thread; + void filepushEvent(int event); std::map m_pids; Signal1 m_event;