diff --git a/CONTRIBUTORS b/CONTRIBUTORS index fad8e0be..d05b9282 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -196,6 +196,7 @@ Andreas Schultz 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);