[linux-dvb] libdvbapi clarification
David Härdeman
david at hardeman.nu
Tue Jul 10 10:47:30 CEST 2007
I'm trying to understand the dvbdemux_set_section_filter function in
dvp-apps/lib/libdvbapi/dvbdemux.c (lines 74 - 93).
It used to take 16 filter and 16 mask parameters, but then it was changed
15 months ago to take 18 filter and 18 mask parameters, then it throws
away 2 of each:
int dvbdemux_set_section_filter(int fd, int pid,
uint8_t filter[18], uint8_t mask[18],
int start, int checkcrc)
{
struct dmx_sct_filter_params sctfilter;
memset(&sctfilter, 0, sizeof(sctfilter));
sctfilter.pid = pid;
memcpy(sctfilter.filter.filter, filter, 1);
memcpy(sctfilter.filter.filter+1, filter+3, 15);
memcpy(sctfilter.filter.mask, mask, 1);
memcpy(sctfilter.filter.mask+1, mask+3, 15);
What is the purpose of this?
Second, how is the mask used? Would for example a filter value of 0x50 and
a mask of 0xf0 mean that all sections 0x50 - 0x5f would pass through the
section filter?
--
David Härdeman
More information about the linux-dvb
mailing list