b3967d6c25
Fix a bug in the software demux which causes large MPEG sections to be lost when they follow very small sections. The problem happens when two sections begin in the same transport packet. The dvb_demux code resets its buffer only before the first of these sections. This means that when the second (or subsequent) section begins, there is up to 182 bytes of buffer space already used. If the following section is close to the maximum size, it currently won't fit in the (4096-byte) buffer and is thrown away. The fix is simply to enlarge the buffer by the size of one transport packet and correct one usage of the SECFEED_SIZE definition where what is really meant is the maximum size of a section. Signed-off-by: Mark Adams <mark147m@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Cc: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
demux.h | ||
dmxdev.c | ||
dmxdev.h | ||
dvb_ca_en50221.c | ||
dvb_ca_en50221.h | ||
dvb_demux.c | ||
dvb_demux.h | ||
dvb_filter.c | ||
dvb_filter.h | ||
dvb_frontend.c | ||
dvb_frontend.h | ||
dvb_net.c | ||
dvb_net.h | ||
dvb_ringbuffer.c | ||
dvb_ringbuffer.h | ||
dvbdev.c | ||
dvbdev.h | ||
Kconfig | ||
Makefile |