X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7fd4f3d49a6d2f93cae4769cf8678358ebd1abce..87bf3a0bcf54b168b8fe70cf8aaf4663eada60dc:/lib/dvb/demux.cpp diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index f6bdbd7b..c3383a7e 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -6,7 +6,6 @@ #include #include -#include #if HAVE_DVB_API_VERSION < 3 #include @@ -20,6 +19,7 @@ #include "crc32.h" #include +#include #include #include #include @@ -76,7 +76,10 @@ void eDVBSectionReader::data(int) if ((c = crc32((unsigned)-1, data, r))) eFatal("crc32 failed! is %x\n", c); } - read(data); + if (active) + read(data); + else + eDebug("data.. but not active"); } eDVBSectionReader::eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESULT &res): demux(demux) @@ -166,7 +169,8 @@ RESULT eDVBSectionReader::stop() { if (!active) return -1; - + + active=0; ::ioctl(fd, DMX_STOP); return 0; @@ -180,98 +184,12 @@ RESULT eDVBSectionReader::connectRead(const Slot1 &r, ePtrm_dvr_busy = 1; }