sectionsd: close / reopen demux device explicitely on TD

The Tripledragon drivers need explicit close/open to recover from
buffer overruns (or similar). Observed problem was, that when starting
on a channel that does send TDT only every 30 seconds (ZDF), the demux
would not work anymore and never recover.

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1258 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: 1f84bf9a1b
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2011-03-06 (Sun, 06 Mar 2011)



------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2011-03-06 15:51:14 +00:00
parent cd60e5a7f7
commit 7dd81a36e6

View File

@@ -105,7 +105,11 @@ void DMX::closefd(void)
if (isOpen())
{
//close(fd);
#if HAVE_TRIPLEDRAGON
dmx->Close();
#else
dmx->Stop();
#endif
fd = -1;
}
}
@@ -495,8 +499,13 @@ xprintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DMX::imediate_start: isOpen()<<<<<<<<<<<<
#endif
if(dmx == NULL) {
dmx = new cDemux(dmx_num);
#if !HAVE_TRIPLEDRAGON
dmx->Open(DMX_PSI_CHANNEL, NULL, dmxBufferSizeInKB*1024UL);
#endif
}
#if HAVE_TRIPLEDRAGON
dmx->Open(DMX_PSI_CHANNEL, NULL, dmxBufferSizeInKB*1024UL);
#endif
fd = 1;
/* setfilter() only if this is no dummy filter... */