summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2008-02-09 16:28:15 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2008-02-09 16:28:15 +0100
commitdf0e2f0dc8f4fbd31faa6c207931adde4dbe2f0c (patch)
treed3679cca719c54acef4bcda41c44117220254170 /device.c
parent7ad17726d81f586307bcfba2cc9c05af0e7b6ef0 (diff)
downloadvdr-df0e2f0dc8f4fbd31faa6c207931adde4dbe2f0c.tar.gz
vdr-df0e2f0dc8f4fbd31faa6c207931adde4dbe2f0c.tar.bz2
The section handler is now stopped before the device is destroyed
Diffstat (limited to 'device.c')
-rw-r--r--device.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/device.c b/device.c
index 16b88a26..be9e7004 100644
--- a/device.c
+++ b/device.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: device.c 1.151 2008/02/09 15:09:04 kls Exp $
+ * $Id: device.c 1.152 2008/02/09 16:10:56 kls Exp $
*/
#include "device.h"
@@ -264,11 +264,6 @@ cDevice::~cDevice()
DetachAllReceivers();
delete liveSubtitle;
delete dvbSubtitleConverter;
- delete nitFilter;
- delete sdtFilter;
- delete patFilter;
- delete eitFilter;
- delete sectionHandler;
delete pesAssembler;
}
@@ -650,6 +645,22 @@ void cDevice::StartSectionHandler(void)
}
}
+void cDevice::StopSectionHandler(void)
+{
+ if (sectionHandler) {
+ delete nitFilter;
+ delete sdtFilter;
+ delete patFilter;
+ delete eitFilter;
+ delete sectionHandler;
+ nitFilter = NULL;
+ sdtFilter = NULL;
+ patFilter = NULL;
+ eitFilter = NULL;
+ sectionHandler = NULL;
+ }
+}
+
int cDevice::OpenFilter(u_short Pid, u_char Tid, u_char Mask)
{
return -1;