• John Högberg's avatar
    mpegts: Update the PSI/SI table only if the version change · 82de8d71
    John Högberg authored
    If a PAT is finished while a PMT section filter is opened but
    not yet finished, the PMT section filter is closed and all
    the received data is discarded.
    
    This is usually not an issue but some multiplexers (With very
    quick PAT/PMT repetition settings) consistently emit a PMT
    section start, then a PAT, and then the rest of the PMT,
    causing the aforementioned behavior to result in no PMT being
    finished.
    
    In the most pathologic situation the stream information are lost
    and the probe fallback miscategorizes subtitles as mp3 audio.
    
    Avoid the issue through eliminating redundant PSI/SI table
    updates by checking their version field, which is required by
    the standard to be incremented on every change no matter how
    minor.
    
    CC: libav-stable@libav.org
    Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
    82de8d71
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
avconv.c Loading commit data...
avconv.h Loading commit data...
avconv_dxva2.c Loading commit data...
avconv_filter.c Loading commit data...
avconv_opt.c Loading commit data...
avconv_vda.c Loading commit data...
avconv_vdpau.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...