X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c617034514475f360e3415502f2d96f8623ecb07..b6bb02750e7e7e44d6c4e99a9754006a1e1051e5:/lib/dvb/idemux.h diff --git a/lib/dvb/idemux.h b/lib/dvb/idemux.h index 9267d005..2b750882 100644 --- a/lib/dvb/idemux.h +++ b/lib/dvb/idemux.h @@ -3,45 +3,6 @@ #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; - 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, - }; - int flags; -}; - class iDVBSectionReader: public iObject { public: @@ -51,6 +12,15 @@ public: virtual ~iDVBSectionReader() { }; }; +class iDVBPESReader: public iObject +{ +public: + virtual RESULT start(int pid)=0; + virtual RESULT stop()=0; + virtual RESULT connectRead(const Slot2 &read, ePtr &conn)=0; + virtual ~iDVBPESReader() { }; +}; + /* records a given set of pids into a file descriptor. */ /* the FD must not be modified between start() and stop() ! */ class iDVBTSRecorder: public iObject @@ -60,10 +30,11 @@ public: virtual RESULT addPID(int pid) = 0; virtual RESULT removePID(int pid) = 0; - /* include timestamps? ... */ - virtual RESULT setFormat(int pid) = 0; + virtual RESULT setTimingPID(int pid) = 0; virtual RESULT setTargetFD(int fd) = 0; + /* for saving additional meta data. */ + virtual RESULT setTargetFilename(const char *filename) = 0; virtual RESULT setBoundary(off_t max) = 0; virtual RESULT stop() = 0;