X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb%2Fidemux.h;h=86b35fdb0d42c676614921ec5efa31b90e47423c;hp=b04ad000322db1938d90cd8da765ecabda53d616;hb=f06b7a792a3250dfbe210ac6d55223146244832f;hpb=d80bb0a6b9862171d9901b6b19347b5e9f6279cd diff --git a/lib/dvb/idemux.h b/lib/dvb/idemux.h index b04ad00..86b35fd 100644 --- a/lib/dvb/idemux.h +++ b/lib/dvb/idemux.h @@ -3,50 +3,10 @@ #include -#ifndef DMX_FILTER_SIZE -#define DMX_FILTER_SIZE 16 -#endif - -struct eDVBSectionFilterMask -{ - int pid; - /* mode is 0 for positive, 1 for negative filtering */ - __u8 data[DMX_FILTER_SIZE], mask[DMX_FILTER_SIZE], mode[DMX_FILTER_SIZE]; - enum { - rfCRC=1, - rfNoAbort=2 - }; - int flags; -}; - -struct eDVBTableSpec -{ - int pid, tid, tidext, tid_mask, tidext_mask; - int version; - int timeout; /* timeout in ms */ - enum - { - tfInOrder=1, - /* - tfAnyVersion filter ANY version - 0 filter all EXCEPT given version (negative filtering) - tfThisVersion filter only THIS version - */ - tfAnyVersion=2, - tfThisVersion=4, - tfHaveTID=8, - tfHaveTIDExt=16, - tfCheckCRC=32, - tfHaveTimeout=64, - tfHaveTIDMask=128, - tfHaveTIDExtMask=256 - }; - int flags; -}; - class iDVBSectionReader: public iObject { public: + virtual RESULT setBufferSize(int size)=0; virtual RESULT start(const eDVBSectionFilterMask &mask)=0; virtual RESULT stop()=0; virtual RESULT connectRead(const Slot1 &read, ePtr &conn)=0; @@ -56,6 +16,7 @@ public: class iDVBPESReader: public iObject { public: + virtual RESULT setBufferSize(int size)=0; virtual RESULT start(int pid)=0; virtual RESULT stop()=0; virtual RESULT connectRead(const Slot2 &read, ePtr &conn)=0; @@ -67,11 +28,12 @@ public: class iDVBTSRecorder: public iObject { public: + virtual RESULT setBufferSize(int size) = 0; virtual RESULT start() = 0; virtual RESULT addPID(int pid) = 0; virtual RESULT removePID(int pid) = 0; - virtual RESULT setTimingPID(int pid) = 0; + virtual RESULT setTimingPID(int pid, int type) = 0; virtual RESULT setTargetFD(int fd) = 0; /* for saving additional meta data. */ @@ -79,6 +41,8 @@ public: virtual RESULT setBoundary(off_t max) = 0; virtual RESULT stop() = 0; + + virtual RESULT getCurrentPCR(pts_t &pcr) = 0; enum { eventWriteError,