diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2003-10-17 15:36:42 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2003-10-17 15:36:42 +0000 |
| commit | d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5 (patch) | |
| tree | 84d0cacfd0b6c1241c236c7860f7cbd7f26901bb /lib/dvb/demux.h | |
| download | enigma2-d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5.tar.gz enigma2-d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5.zip | |
import of enigma2
Diffstat (limited to 'lib/dvb/demux.h')
| -rw-r--r-- | lib/dvb/demux.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/dvb/demux.h b/lib/dvb/demux.h new file mode 100644 index 00000000..3b4cbede --- /dev/null +++ b/lib/dvb/demux.h @@ -0,0 +1,41 @@ +#ifndef __dvb_demux_h +#define __dvb_demux_h + +#include <lib/dvb/idvb.h> +#include <lib/dvb/isection.h> + +class eDVBDemux: public virtual iDVBDemux +{ + int adapter, demux; + friend class eDVBSectionReader; + friend class eDVBAudio; + friend class eDVBVideo; +public: + DECLARE_REF + eDVBDemux(int adapter, int demux); + virtual ~eDVBDemux(); + RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader); + RESULT getMPEGDecoder(ePtr<iTSMPEGDecoder> &reader); +}; + +class eDVBSectionReader: public virtual iDVBSectionReader, public Object +{ + DECLARE_REF +private: + int fd; + Signal1<void, const __u8*> read; + ePtr<eDVBDemux> demux; + int active; + int checkcrc; + void data(int); + eSocketNotifier *notifier; +public: + + eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESULT &res); + virtual ~eDVBSectionReader(); + RESULT start(const eDVBSectionFilterMask &mask); + RESULT stop(); + RESULT connectRead(const Slot1<void,const __u8*> &read, ePtr<eConnection> &conn); +}; + +#endif |
