diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-10-16 13:47:37 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-10-16 13:47:37 +0200 |
commit | d7482c8fed54652a3150d78b35419dc8c832f074 (patch) | |
tree | 2a07a2095a18cf4a32b158f8108ee0e89133a4df | |
parent | b60120161a69e689a39d89c608265faa52785285 (diff) | |
download | vdr-d7482c8fed54652a3150d78b35419dc8c832f074.tar.gz vdr-d7482c8fed54652a3150d78b35419dc8c832f074.tar.bz2 |
Avoiding unnecessary section filter start/stops
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | device.c | 3 | ||||
-rw-r--r-- | sections.c | 6 |
4 files changed, 7 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 904851d3..8426add8 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1046,6 +1046,7 @@ Marco Schlüßler <marco@lordzodiac.de> 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 @@ -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). @@ -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); } } @@ -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(); |