Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Section Filters



Johannes Stezenbach wrote:
> 
> Rolf Hakenes wrote:
> (edited for proper quoting)
> 
> > Johannes Stezenbach wrote:
> > >
> > > Here's what's missing from the documentation of the demux device
> > > of the new API:
> > >
> > > --------
> > > The dmxFilter structure defines a section filter, i.e. a bit pattern
> > > and a mask for the first bytes of a section. The filter comprises
> > > 16 bytes covering byte 0 and bytes 3..17 in a section, thus excluding
> > > bytes 1 and 2 (the length field of a section).
> > >
> > > The mask states which bits to be used for filtering, and the filter
> > > states the actual value of these bits. Only the value of the bits
> > > where the corresponding mask bit is 1 will be checked.
> > > --------
> > >
> > > Byte 0 in the filter is the table id.
> 
> > many thanks for your additional documentation, but after experimenting a
> > bit with this type of filter you described I found, that not only byte 1
> > and 2 are uncovered by the filter, but byte 3 and 4 are ignored as well.
> > Therefore byte 2 of the filter array means the section number and byte 1
> > contains current/next indicator at bit position 0. Is this
> > interpretation correct, or am I tricked by a strange behaviour of the
> > datastream ?
> 
> I just quoted from the docs, without having tested it myself.
> 
> Byte 1 and 2 of the section contain the section_syntax_indicator (1 bit)
> and the section_length (12 bits). You cannot include those in your filter
> (it wouldn't make much sense, anyway).
> 
> The meaning of byte 3...x depends on the actual table type (which
> corresponds to the table id). For tables which follow the common
> section syntax (section_syntax_indicator == 1), bytes 3+4 from the section
> (aka table_id_extended) are most important. If the filter does not
> allow filtering on them, it clearly is a bug.
> 
> Johannes
> 

I didn't try to implement filters for your 'table_id_extended' field,
but for the current_next_indicator and the section_number of the common
section syntax (in my case: SDT, PAT, PMT, EIT). To get a working filter
for these bytes I have to set up byte 1 and 2 of the dmxFilter->filter
and ..->mask fields. I have no idea, if some of the other bytes of the
struct enable filtering for the 'table_id_extended' field.

Rolf


--- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index