Avoiding unnecessary section filter start/stops

This commit is contained in:
Klaus Schmidinger 2004-10-16 13:47:37 +02:00
parent b60120161a
commit d7482c8fed
4 changed files with 7 additions and 4 deletions

View File

@ -1046,6 +1046,7 @@ Marco Schl
for doing some testing regarding buffer performance and giving me some hints that
finally lead to finding out that the basic problem causing buffer overflows was in
EnableGet()/EnablePut() being called too often
for avoiding unnecessary section filter start/stops
Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP

View File

@ -3019,3 +3019,4 @@ Video Disk Recorder Revision History
to have them set in case a patch references them (thanks to Wayne Keer for pointing
this out).
- Completed the Russian OSD texts (thanks to Vyacheslav Dikonov).
- Avoiding unnecessary section filter start/stops (thanks to Marco Schlüßler).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: device.c 1.57 2004/10/09 12:53:02 kls Exp $
* $Id: device.c 1.58 2004/10/16 13:41:23 kls Exp $
*/
#include "device.h"
@ -314,7 +314,6 @@ void cDevice::StartSectionHandler(void)
AttachFilter(patFilter = new cPatFilter);
AttachFilter(sdtFilter = new cSdtFilter(patFilter));
AttachFilter(nitFilter = new cNitFilter);
sectionHandler->SetStatus(true);
}
}

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: sections.c 1.8 2004/08/08 13:59:08 kls Exp $
* $Id: sections.c 1.9 2004/10/16 13:45:02 kls Exp $
*/
#include "sections.h"
@ -121,7 +121,8 @@ void cSectionHandler::Attach(cFilter *Filter)
statusCount++;
filters.Add(Filter);
Filter->sectionHandler = this;
Filter->SetStatus(true);
if (on)
Filter->SetStatus(true);
Unlock();
}
@ -176,6 +177,7 @@ void cSectionHandler::Action(void)
int i = fh->Index();
pfd[i].fd = fh->handle;
pfd[i].events = POLLIN;
pfd[i].revents = 0;
}
int oldStatusCount = statusCount;
Unlock();