summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY5
-rw-r--r--config.h4
-rw-r--r--eit.c15
-rw-r--r--eit.h4
5 files changed, 16 insertions, 13 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index fad8e0be..d05b9282 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -196,6 +196,7 @@ Andreas Schultz <aschultz@warp10.net>
for pointing out some unnecessary #includes in eit.c and a problem with
cMenuRecordings::Del(), which caused warnings with gcc-3.2
for suggesting a Make.config file
+ for making EIT filtering use masks to reduce the number of filters
Aaron Holtzman
for writing 'ac3dec'
diff --git a/HISTORY b/HISTORY
index 7e695246..95e4834c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2033,3 +2033,8 @@ Video Disk Recorder Revision History
applies to the RCU remote control in case of errors during startup.
- Fixed handling of Ca parameters with values <= MAXDEVICES, which don't indicate
an actual encrypted channel (thanks to Stefan Huelswitt for reporting this one).
+
+2003-04-13: Version 1.1.28
+
+- Using masks in EIT filtering to reduce the number of filters (thanks to Andreas
+ Schultz).
diff --git a/config.h b/config.h
index ac40ff47..94bdcd74 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.152 2003/04/12 09:35:50 kls Exp $
+ * $Id: config.h 1.153 2003/04/13 14:02:02 kls Exp $
*/
#ifndef __CONFIG_H
@@ -19,7 +19,7 @@
#include "device.h"
#include "tools.h"
-#define VDRVERSION "1.1.27"
+#define VDRVERSION "1.1.28"
#define MAXPRIORITY 99
#define MAXLIFETIME 99
diff --git a/eit.c b/eit.c
index ff5dd42f..7dd77108 100644
--- a/eit.c
+++ b/eit.c
@@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: eit.c 1.68 2003/04/12 11:27:31 kls Exp $
+ * $Id: eit.c 1.69 2003/04/13 14:06:25 kls Exp $
***************************************************************************/
#include "eit.h"
@@ -1176,12 +1176,9 @@ void cSIProcessor::SetStatus(bool On)
AddFilter(0x00, 0x00); // PAT
AddFilter(0x14, 0x70); // TDT
AddFilter(0x14, 0x73); // TOT
- AddFilter(0x12, 0x4e); // event info, actual TS, present/following
- AddFilter(0x12, 0x4f); // event info, other TS, present/following
- AddFilter(0x12, 0x50); // event info, actual TS, schedule
- AddFilter(0x12, 0x60); // event info, other TS, schedule
- AddFilter(0x12, 0x51); // event info, actual TS, schedule for another 4 days
- AddFilter(0x12, 0x61); // event info, other TS, schedule for another 4 days
+ AddFilter(0x12, 0x4e, 0xfe); // event info, actual(0x4e)/other(0x4f) TS, present/following
+ AddFilter(0x12, 0x50, 0xfe); // event info, actual TS, schedule(0x50)/schedule for another 4 days(0x51)
+ AddFilter(0x12, 0x60, 0xfe); // event info, other TS, schedule(0x60)/schedule for another 4 days(0x61)
}
}
@@ -1351,7 +1348,7 @@ void cSIProcessor::Action()
/** Add a filter with packet identifier pid and
table identifer tid */
-bool cSIProcessor::AddFilter(unsigned short pid, u_char tid)
+bool cSIProcessor::AddFilter(unsigned short pid, u_char tid, u_char mask)
{
dmx_sct_filter_params sctFilterParams;
memset(&sctFilterParams, 0, sizeof(sctFilterParams));
@@ -1359,7 +1356,7 @@ bool cSIProcessor::AddFilter(unsigned short pid, u_char tid)
sctFilterParams.timeout = 0;
sctFilterParams.flags = DMX_IMMEDIATE_START;
sctFilterParams.filter.filter[0] = tid;
- sctFilterParams.filter.mask[0] = 0xFF;
+ sctFilterParams.filter.mask[0] = mask;
for (int a = 0; a < MAX_FILTERS; a++)
{
diff --git a/eit.h b/eit.h
index e956b013..f8a91051 100644
--- a/eit.h
+++ b/eit.h
@@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: eit.h 1.25 2003/04/12 10:59:26 kls Exp $
+ * $Id: eit.h 1.26 2003/04/13 14:01:24 kls Exp $
***************************************************************************/
#ifndef __EIT_H
@@ -155,7 +155,7 @@ private:
char *fileName;
bool active;
void Action(void);
- bool AddFilter(unsigned short pid, u_char tid);
+ bool AddFilter(unsigned short pid, u_char tid, u_char mask = 0xFF);
bool DelFilter(unsigned short pid, u_char tid);
bool ShutDownFilters(void);
void NewCaDescriptor(struct Descriptor *d, int ProgramID);