X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fdemux.h;h=e73982ec1507913c9943050bad11266590e4a692;hb=316f6a4f78d654e7822431cca75659709c6c3fee;hp=1c0da47c6f6b27f188b5a5f615f3a66b9a623740;hpb=e4e7f6e8cec4e5e5c6646902a598fed377aa8cf2;p=vuplus_dvbapp diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h index 1c0da47..e73982e 100644 --- a/lib/dvb/demux.h +++ b/lib/dvb/demux.h @@ -26,7 +26,8 @@ public: RESULT getCADemuxID(uint8_t &id) { id = demux; return 0; } RESULT flush(); RESULT connectEvent(const Slot1 &event, ePtr &conn); - + int openDVR(int flags); + int getRefCount() { return ref; } private: int adapter, demux, source; @@ -54,11 +55,11 @@ class eDVBSectionReader: public iDVBSectionReader, public Object 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); @@ -72,10 +73,11 @@ class eDVBPESReader: public iDVBPESReader, public Object 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); @@ -90,18 +92,21 @@ 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);