X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/06d78eb689babb22f1a315203a8c6871d9ae121d..ad88a7130bd75fa1f932d4ae45a8ebee78df4fc3:/lib/dvb/demux.h diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h index 869c2e9b..b14dfd26 100644 --- a/lib/dvb/demux.h +++ b/lib/dvb/demux.h @@ -19,11 +19,13 @@ public: RESULT createSectionReader(eMainloop *context, ePtr &reader); RESULT createTSRecorder(ePtr &recorder); - RESULT getMPEGDecoder(ePtr &reader); + RESULT getMPEGDecoder(ePtr &reader, int primary); 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); + + int getRefCount() { return ref; } private: int adapter, demux; @@ -32,6 +34,7 @@ private: friend class eDVBAudio; friend class eDVBVideo; friend class eDVBPCR; + friend class eDVBTText; friend class eDVBTSRecorder; friend class eDVBCAService; Signal1 m_event; @@ -59,7 +62,7 @@ public: RESULT connectRead(const Slot1 &read, ePtr &conn); }; -class eFilePushThread; +class eDVBRecordFileThread; class eDVBTSRecorder: public iDVBTSRecorder, public Object { @@ -72,9 +75,10 @@ public: RESULT addPID(int pid); RESULT removePID(int pid); - RESULT setFormat(int pid); + RESULT setTimingPID(int pid); RESULT setTargetFD(int fd); + RESULT setTargetFilename(const char *filename); RESULT setBoundary(off_t max); RESULT stop(); @@ -84,14 +88,15 @@ private: RESULT startPID(int pid); void stopPID(int pid); - eFilePushThread *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; + std::string m_target_filename; }; #endif