mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Using masks in EIT filtering to reduce the number of filters
This commit is contained in:
parent
da22081330
commit
ed5027b5d5
@ -196,6 +196,7 @@ Andreas Schultz <aschultz@warp10.net>
|
|||||||
for pointing out some unnecessary #includes in eit.c and a problem with
|
for pointing out some unnecessary #includes in eit.c and a problem with
|
||||||
cMenuRecordings::Del(), which caused warnings with gcc-3.2
|
cMenuRecordings::Del(), which caused warnings with gcc-3.2
|
||||||
for suggesting a Make.config file
|
for suggesting a Make.config file
|
||||||
|
for making EIT filtering use masks to reduce the number of filters
|
||||||
|
|
||||||
Aaron Holtzman
|
Aaron Holtzman
|
||||||
for writing 'ac3dec'
|
for writing 'ac3dec'
|
||||||
|
5
HISTORY
5
HISTORY
@ -2033,3 +2033,8 @@ Video Disk Recorder Revision History
|
|||||||
applies to the RCU remote control in case of errors during startup.
|
applies to the RCU remote control in case of errors during startup.
|
||||||
- Fixed handling of Ca parameters with values <= MAXDEVICES, which don't indicate
|
- Fixed handling of Ca parameters with values <= MAXDEVICES, which don't indicate
|
||||||
an actual encrypted channel (thanks to Stefan Huelswitt for reporting this one).
|
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).
|
||||||
|
4
config.h
4
config.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* 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
|
#ifndef __CONFIG_H
|
||||||
@ -19,7 +19,7 @@
|
|||||||
#include "device.h"
|
#include "device.h"
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
|
|
||||||
#define VDRVERSION "1.1.27"
|
#define VDRVERSION "1.1.28"
|
||||||
|
|
||||||
#define MAXPRIORITY 99
|
#define MAXPRIORITY 99
|
||||||
#define MAXLIFETIME 99
|
#define MAXLIFETIME 99
|
||||||
|
15
eit.c
15
eit.c
@ -16,7 +16,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (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"
|
#include "eit.h"
|
||||||
@ -1176,12 +1176,9 @@ void cSIProcessor::SetStatus(bool On)
|
|||||||
AddFilter(0x00, 0x00); // PAT
|
AddFilter(0x00, 0x00); // PAT
|
||||||
AddFilter(0x14, 0x70); // TDT
|
AddFilter(0x14, 0x70); // TDT
|
||||||
AddFilter(0x14, 0x73); // TOT
|
AddFilter(0x14, 0x73); // TOT
|
||||||
AddFilter(0x12, 0x4e); // event info, actual TS, present/following
|
AddFilter(0x12, 0x4e, 0xfe); // event info, actual(0x4e)/other(0x4f) TS, present/following
|
||||||
AddFilter(0x12, 0x4f); // event info, other TS, present/following
|
AddFilter(0x12, 0x50, 0xfe); // event info, actual TS, schedule(0x50)/schedule for another 4 days(0x51)
|
||||||
AddFilter(0x12, 0x50); // event info, actual TS, schedule
|
AddFilter(0x12, 0x60, 0xfe); // event info, other TS, schedule(0x60)/schedule for another 4 days(0x61)
|
||||||
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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1351,7 +1348,7 @@ void cSIProcessor::Action()
|
|||||||
|
|
||||||
/** Add a filter with packet identifier pid and
|
/** Add a filter with packet identifier pid and
|
||||||
table identifer tid */
|
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;
|
dmx_sct_filter_params sctFilterParams;
|
||||||
memset(&sctFilterParams, 0, sizeof(sctFilterParams));
|
memset(&sctFilterParams, 0, sizeof(sctFilterParams));
|
||||||
@ -1359,7 +1356,7 @@ bool cSIProcessor::AddFilter(unsigned short pid, u_char tid)
|
|||||||
sctFilterParams.timeout = 0;
|
sctFilterParams.timeout = 0;
|
||||||
sctFilterParams.flags = DMX_IMMEDIATE_START;
|
sctFilterParams.flags = DMX_IMMEDIATE_START;
|
||||||
sctFilterParams.filter.filter[0] = tid;
|
sctFilterParams.filter.filter[0] = tid;
|
||||||
sctFilterParams.filter.mask[0] = 0xFF;
|
sctFilterParams.filter.mask[0] = mask;
|
||||||
|
|
||||||
for (int a = 0; a < MAX_FILTERS; a++)
|
for (int a = 0; a < MAX_FILTERS; a++)
|
||||||
{
|
{
|
||||||
|
4
eit.h
4
eit.h
@ -16,7 +16,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (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
|
#ifndef __EIT_H
|
||||||
@ -155,7 +155,7 @@ private:
|
|||||||
char *fileName;
|
char *fileName;
|
||||||
bool active;
|
bool active;
|
||||||
void Action(void);
|
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 DelFilter(unsigned short pid, u_char tid);
|
||||||
bool ShutDownFilters(void);
|
bool ShutDownFilters(void);
|
||||||
void NewCaDescriptor(struct Descriptor *d, int ProgramID);
|
void NewCaDescriptor(struct Descriptor *d, int ProgramID);
|
||||||
|
Loading…
Reference in New Issue
Block a user