eitd/sectionsd.cpp: try to fix occasional eit update demux error

Origin commit data
------------------
Branch: ni/coolstream
Commit: dddc468bc9
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2012-05-29 (Tue, 29 May 2012)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2012-05-29 17:43:11 +04:00
parent bd702bfef8
commit 12674ca741

View File

@@ -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();
}
}