• Anssi Hannula's avatar
    avformat/hls: do not use sequence numbers for packet ordering · 6b4b73e7
    Anssi Hannula authored
    As per spec 3.4.3 ("A client MUST NOT assume that segments with the same
    sequence number in different Media Playlists contain matching content.")
    we cannot use sequence numbers for packet ordering.
    
    This can be seen e.g. in the subtitle streams of
    bipbop_16x9_variant.m3u8 that have considerably longer segments and
    therefore different numbering.
    
    Since the code now exclusively syncs using timestamps that may wrap, add
    some additional checking for that.
    
    According to the HLS spec all the timestamps should be in 33-bit MPEG
    format and synced together.
    
    v2: cleaner wrap detection
    v3: further wrap detection improvements
    Signed-off-by: 's avatarAnssi Hannula <anssi.hannula@iki.fi>
    6b4b73e7
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...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools 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...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...