From dddc468bc99a51dc65ff506dd7827ea1625ed61d Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 29 May 2012 17:43:11 +0400 Subject: [PATCH] eitd/sectionsd.cpp: try to fix occasional eit update demux error --- src/eitd/sectionsd.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/eitd/sectionsd.cpp b/src/eitd/sectionsd.cpp index 0ccfcfd1a..355e31fd0 100644 --- a/src/eitd/sectionsd.cpp +++ b/src/eitd/sectionsd.cpp @@ -1650,7 +1650,6 @@ CCNThread::CCNThread() updating = false; eitDmx = new cDemux(0); - eitDmx->Open(DMX_PSI_CHANNEL); } /* CN thread hooks */ @@ -1693,6 +1692,8 @@ void CCNThread::beforeWait() filter[3] = (eit_version << 1) | 0x01; mask[3] = (0x1F << 1) | 0x01; mode[3] = 0x1F << 1; + + eitDmx->Open(DMX_PSI_CHANNEL); eitDmx->sectionFilter(0x12, filter, mask, 4, 0 /*timeout*/, mode); } @@ -1701,7 +1702,7 @@ void CCNThread::afterWait() xprintf("%s: stop eit update filter (%s)\n", name.c_str(), updating ? "active" : "not active"); if (updating) { updating = false; - eitDmx->Stop(); + eitDmx->Close(); } }