X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/0af11516cabc973907890f548925a66313c8d18c..0ecfa70938499a3386c282577e28625d04d4626b:/lib/dvb/demux.cpp diff --git a/lib/dvb/demux.cpp b/lib/dvb/demux.cpp index 3e05065b..329eafda 100644 --- a/lib/dvb/demux.cpp +++ b/lib/dvb/demux.cpp @@ -83,13 +83,24 @@ RESULT eDVBDemux::getSTC(pts_t &pts) } pts = stc.stc; - eDebug("got demux stc: %08llx", pts); ::close(fd); + return 0; +} + +RESULT eDVBDemux::flush() +{ + // FIXME: implement flushing the PVR queue here. + m_event(evtFlush); return 0; } +RESULT eDVBDemux::connectEvent(const Slot1 &event, ePtr &conn) +{ + conn = new eConnection(this, m_event.connect(event)); + return 0; +} void eDVBSectionReader::data(int) { @@ -131,7 +142,7 @@ eDVBSectionReader::eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESUL if (fd >= 0) { - notifier=new eSocketNotifier(context, fd, eSocketNotifier::Read); + notifier=new eSocketNotifier(context, fd, eSocketNotifier::Read, false); CONNECT(notifier->activated, eDVBSectionReader::data); res = 0; } else @@ -157,6 +168,7 @@ RESULT eDVBSectionReader::start(const eDVBSectionFilterMask &mask) if (fd < 0) return -ENODEV; + notifier->start(); #if HAVE_DVB_API_VERSION < 3 dmxSctFilterParams sct; #else @@ -207,7 +219,8 @@ RESULT eDVBSectionReader::stop() active=0; ::ioctl(fd, DMX_STOP); - + notifier->stop(); + return 0; }