X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fdemux.h;h=f539006337ed81d9e08bcd6eaf9b190584290b8d;hb=9412183a3c484b906775b2e117b6ee33c66083f6;hp=b2d571ac71f02fe5dcd3051fa4cb3d6ce2a2ae78;hpb=7fd4f3d49a6d2f93cae4769cf8678358ebd1abce;p=vuplus_dvbapp diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h index b2d571a..f539006 100644 --- a/lib/dvb/demux.h +++ b/lib/dvb/demux.h @@ -6,20 +6,38 @@ 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, int num); + 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 eDVBTText; 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 +60,7 @@ public: RESULT connectRead(const Slot1 &read, ePtr &conn); }; -class eDVBTSRecorderThread; +class eDVBRecordFileThread; class eDVBTSRecorder: public iDVBTSRecorder, public Object { @@ -55,7 +73,7 @@ public: RESULT addPID(int pid); RESULT removePID(int pid); - RESULT setFormat(int pid); + RESULT setTimingPID(int pid); RESULT setTargetFD(int fd); RESULT setBoundary(off_t max); @@ -67,14 +85,14 @@ private: RESULT startPID(int pid); void stopPID(int pid); - eDVBTSRecorderThread *m_thread; + eDVBRecordFileThread *m_thread; std::map m_pids; Signal1 m_event; ePtr m_demux; - int m_running, m_format, m_target_fd, m_source_fd; + int m_running, m_target_fd, m_source_fd; }; #endif