• Michael Krufky's avatar
    [media] DVB: improve handling of TS packets containing a raised TEI bit · ae530205
    Michael Krufky authored
    When the TEI bit is raised, we should not trust any of the contents of
    the packet in question, including but not limited to its PID number.
    
    Considering that we don't trust the PID number of this packet, we should
    not proceed to check the packet counter (if dvb_demux_tscheck is set).
    
    We should expect to see at least one discontinuity after a bad packet is
    received, so any time a TEI is detected, a following TS packet counter
    mismatch is to be expected.
    
    There is no real reason to ever allow bad packets to pass through the
    kernel demux, other than for purposes of attempting error correction via
    software or statistical information.
    
    However, since we have always passed these bad packets though the demux,
    we should not change this default behavior.
    
    Without altering module options, this patch merely prevents the
    TS packet counter check on packets containing a raised TEI.
    
    If module option dvb_demux_feed_err_pkts is set to 0, the kernel demux
    will drop these error packets entirely, preventing any possibility of
    corruption caused by userspace programs that are expecting valid data.
    Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    ae530205
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt/kvm Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...