Mailing List archive

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

[linux-dvb] Re: Losless Section Demux version 1.4



Andreas Oberritter wrote:
> 
> as we are living with this losless(?) section demux v1.4 since two
> months now without having a solution for the broken memcopy and crc32
> acceleration hooks, I propose to remove the possibility to use these
> hooks completely to avoid confusion and do crc32 entirely in software
> for all chipsets to slow down things. Any complaints?

Whoever named the callback that calculates the CRC "memcopy"
is a fool. Anyway, if Emard is not going to fix it, would
you care to provide a patch? Or better revert to the old
code?

About "lossless":

I poked around in the code a while looking for possible bugs
(which weren't there, but I had to check because of a bug report).

There is one case where I think it would lose data: If, in
dvb_dmx_swfilter_section_copy_dump(), sec->secbuf > sec->secbuf_base,
then the maximum section length is limited to something below 4096.
I think this could be fixed by increasing the buffer in
struct dvb_demux_feed to DMX_MAX_SECFEED_SIZE + 188.
But the condition would only arise in rare cases where
you have e.g. the end of one section, one full small section
and the start of the next section in on TS packet, and the next
section is nearly 4096 bytes large. That's rather esotheric...

What upsets me about the code:
- it violates linux/Documentation/CodingStyle
- #ifdef DVB_DEMUX_SECTION_LOSS_LOG doesn't log "loss", but crap
- it is nearly as convoluted as the old code, just differently

I wouldn't have comitted it without cleanup.

Johannes


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



Home | Main Index | Thread Index