Lines Matching refs:sec
90 return (f->feed.sec.crc_val = crc32_be(f->feed.sec.crc_val, src, len)); in dvb_dmx_crc32()
141 u8 xor = f->filter.filter_value[i] ^ feed->feed.sec.secbuf[i]; in dvb_dmx_swfilter_sectionfilter()
152 return feed->cb.sec(feed->feed.sec.secbuf, feed->feed.sec.seclen, in dvb_dmx_swfilter_sectionfilter()
160 struct dmx_section_feed *sec = &feed->feed.sec; in dvb_dmx_swfilter_section_feed() local
163 if (!sec->is_filtering) in dvb_dmx_swfilter_section_feed()
169 if (sec->check_crc) { in dvb_dmx_swfilter_section_feed()
170 section_syntax_indicator = ((sec->secbuf[1] & 0x80) != 0); in dvb_dmx_swfilter_section_feed()
172 demux->check_crc32(feed, sec->secbuf, sec->seclen)) { in dvb_dmx_swfilter_section_feed()
181 } while ((f = f->next) && sec->is_filtering); in dvb_dmx_swfilter_section_feed()
183 sec->seclen = 0; in dvb_dmx_swfilter_section_feed()
190 struct dmx_section_feed *sec = &feed->feed.sec; in dvb_dmx_swfilter_section_new() local
192 if (sec->secbufp < sec->tsfeedp) { in dvb_dmx_swfilter_section_new()
193 int n = sec->tsfeedp - sec->secbufp; in dvb_dmx_swfilter_section_new()
200 if (sec->secbuf[0] != 0xff || sec->secbuf[n - 1] != 0xff) { in dvb_dmx_swfilter_section_new()
204 n, sec->tsfeedp); in dvb_dmx_swfilter_section_new()
205 dprintk_sect_loss("pad data: %*ph\n", n, sec->secbuf); in dvb_dmx_swfilter_section_new()
209 sec->tsfeedp = sec->secbufp = sec->seclen = 0; in dvb_dmx_swfilter_section_new()
210 sec->secbuf = sec->secbuf_base; in dvb_dmx_swfilter_section_new()
235 struct dmx_section_feed *sec = &feed->feed.sec; in dvb_dmx_swfilter_section_copy_dump() local
238 if (sec->tsfeedp >= DMX_MAX_SECFEED_SIZE) in dvb_dmx_swfilter_section_copy_dump()
241 if (sec->tsfeedp + len > DMX_MAX_SECFEED_SIZE) { in dvb_dmx_swfilter_section_copy_dump()
244 sec->tsfeedp + len - DMX_MAX_SECFEED_SIZE, in dvb_dmx_swfilter_section_copy_dump()
246 len = DMX_MAX_SECFEED_SIZE - sec->tsfeedp; in dvb_dmx_swfilter_section_copy_dump()
252 demux->memcopy(feed, sec->secbuf_base + sec->tsfeedp, buf, len); in dvb_dmx_swfilter_section_copy_dump()
253 sec->tsfeedp += len; in dvb_dmx_swfilter_section_copy_dump()
258 limit = sec->tsfeedp; in dvb_dmx_swfilter_section_copy_dump()
263 sec->secbuf = sec->secbuf_base + sec->secbufp; in dvb_dmx_swfilter_section_copy_dump()
265 while (sec->secbufp + 2 < limit) { in dvb_dmx_swfilter_section_copy_dump()
266 seclen = section_length(sec->secbuf); in dvb_dmx_swfilter_section_copy_dump()
268 || seclen + sec->secbufp > limit) in dvb_dmx_swfilter_section_copy_dump()
270 sec->seclen = seclen; in dvb_dmx_swfilter_section_copy_dump()
271 sec->crc_val = ~0; in dvb_dmx_swfilter_section_copy_dump()
280 sec->secbufp += seclen; /* secbufp and secbuf moving together is */ in dvb_dmx_swfilter_section_copy_dump()
281 sec->secbuf += seclen; /* redundant but saves pointer arithmetic */ in dvb_dmx_swfilter_section_copy_dump()
389 if (!feed->feed.sec.is_filtering) in dvb_dmx_swfilter_packet_type()
392 feed->feed.sec.seclen = feed->feed.sec.secbufp = 0; in dvb_dmx_swfilter_packet_type()
912 dvbdmxfeed->feed.sec.check_crc = check_crc; in dmx_section_feed_set()
960 dvbdmxfeed->feed.sec.tsfeedp = 0; in dmx_section_feed_start_filtering()
961 dvbdmxfeed->feed.sec.secbuf = dvbdmxfeed->feed.sec.secbuf_base; in dmx_section_feed_start_filtering()
962 dvbdmxfeed->feed.sec.secbufp = 0; in dmx_section_feed_start_filtering()
963 dvbdmxfeed->feed.sec.seclen = 0; in dmx_section_feed_start_filtering()
1066 dvbdmxfeed->cb.sec = callback; in dvbdmx_allocate_section_feed()
1070 dvbdmxfeed->feed.sec.secbuf = dvbdmxfeed->feed.sec.secbuf_base; in dvbdmx_allocate_section_feed()
1071 dvbdmxfeed->feed.sec.secbufp = dvbdmxfeed->feed.sec.seclen = 0; in dvbdmx_allocate_section_feed()
1072 dvbdmxfeed->feed.sec.tsfeedp = 0; in dvbdmx_allocate_section_feed()
1075 (*feed) = &dvbdmxfeed->feed.sec; in dvbdmx_allocate_section_feed()