ffmpeg/libavformat
Anssi Hannula 6b4b73e75d avformat/hls: do not use sequence numbers for packet ordering
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: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
..
4xm.c
a64.c
aacdec.c
ac3dec.c
act.c
adp.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c
aiffenc.c
allformats.c avformat: add image2 brender pix demuxer 2014-03-28 23:54:51 +01:00
amr.c
anm.c
apc.c
ape.c
apetag.c
apetag.h
aqtitledec.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec.c
asfenc.c
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
au.c
audiointerleave.c
audiointerleave.h
avc.c
avc.h
avformat.h libavformat/utils.c: av_pkt_dump_log2: use const pointers 2014-04-03 13:31:13 +02:00
avformatres.rc
avi.h
avidec.c lavf/avidec: Read metadata EXIF tags from AVIF tag. Based on patch by Gregory Wolfe (Kodak Alaris) <gregory.wolfe@kodakalaris.com>. 2014-04-05 03:32:06 +02:00
avienc.c
avio_internal.h
avio.c avformat/avio: also set generic URL context options 2014-03-30 15:00:03 +02:00
avio.h libavformat/aviobuf: keep track of the original buffer-size and restore it after probe/ensure-seekback 2014-03-26 23:58:48 +01:00
aviobuf.c libavformat/aviobuf: keep track of the original buffer-size and restore it after probe/ensure-seekback 2014-03-26 23:58:48 +01:00
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
cinedec.c avformat/cinedec: ask for sample when biBitCount isnt supported 2014-04-06 00:34:09 +02:00
concat.c
concatdec.c lavf/concatdec: allow to match streams by id. 2014-03-23 19:15:07 +01:00
crcenc.c
crypto.c
cutils.c
data_uri.c
daud.c
dfa.c
diracdec.c
dnxhddec.c
dsicin.c
dtsdec.c
dtshddec.c
dv.c
dv.h
dvenc.c
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffm.h
ffmdec.c
ffmenc.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
file_open.c
file.c
filmstripdec.c
filmstripenc.c
flac_picture.c
flac_picture.h
flacdec.c Merge commit '1d55f8d5f6f2cd74fa27170e2be37a72441d9202' 2014-04-04 22:59:28 +02:00
flacenc_header.c
flacenc.c
flacenc.h
flic.c
flv.h
flvdec.c
flvenc.c
format.c
framecrcenc.c
framehash.c
frmdec.c
ftp.c
g722.c
g723_1.c
g729dec.c
gif.c Force gif aspect ratio multiplication to 64bit. 2014-04-05 01:13:47 +02:00
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c
h261dec.c
h263dec.c
h264dec.c
hdsenc.c
hevc.c
hevc.h
hevcdec.c
hls.c avformat/hls: do not use sequence numbers for packet ordering 2014-04-06 17:55:03 +03:00
hlsenc.c avformat/hlsenc: remove unneeded l prefix from %lf 2014-04-03 00:27:53 +02:00
hlsproto.c
hnm.c
http.c http: restructure http_connect error handling path 2014-03-23 05:56:35 +01:00
http.h
httpauth.c
httpauth.h
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c
idcin.c
idroqdec.c
idroqenc.c
iff.c
ilbc.c
img2_alias_pix.c avformat/img2_alias_pix: rewrite probe function 2014-03-29 00:38:51 +01:00
img2_brender_pix.c avformat: add image2 brender pix demuxer 2014-03-28 23:54:51 +01:00
img2.c OpenEXR decoder 2014-04-01 01:13:09 +02:00
img2.h avformat/img2dec: make image2dec capable to be used from seperate demuxers 2014-03-28 23:54:51 +01:00
img2dec.c avformat/img2dec: zero probe buffer 2014-03-31 23:47:29 +02:00
img2enc.c Allow .y as extension for image2. 2014-04-05 02:18:09 +02:00
ingenientdec.c
internal.h
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c Merge commit '121b5b7e0476d22408d748b914799b7c00acc3a4' 2014-04-04 02:44:56 +02:00
isom.h
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v
libgme.c
libmodplug.c
libnut.c
libquvi.c
librtmp.c
libssh.c
lmlm4.c
loasdec.c
log2_tab.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile Merge commit '0048deb84cb6d22ba7f4fd7c8b4ecc054fcc22d4' 2014-04-04 23:17:33 +02:00
matroska.c
matroska.h
matroskadec.c
matroskaenc.c
md5enc.c
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mkvtimestamp_v2.c
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mov_chan.c
mov_chan.h
mov.c avformat/mov: Fix width/height typo 2014-04-05 22:49:17 +02:00
movenc.c Merge commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e' 2014-04-02 02:54:09 +02:00
movenc.h Merge commit '1e9db41e2a2166be5671b088ef4ad06a40af459f' 2014-03-23 03:22:20 +01:00
movenchint.c
mp3dec.c Merge commit '15c5a8d22d12d29a364ca2ab6438f1dee2fa08c7' 2014-03-24 15:11:08 +01:00
mp3enc.c avformat/mp3enc: use av_copy_packet() 2014-03-22 01:26:48 +01:00
mpc8.c
mpc.c
mpeg.c Merge commit '5b8f0a5eac75d16376af60a6f6bb79b3e9e6dab7' 2014-03-24 05:28:07 +01:00
mpeg.h
mpegenc.c
mpegts.c mpegts: fix teletext pts of streams with standalone pcr pid 2014-03-22 13:55:01 +01:00
mpegts.h avformat/mpegtsenc: move startcode validity check to ff_check_h264_startcode 2014-03-30 16:36:22 +02:00
mpegtsenc.c avformat/mpegtsenc: move startcode validity check to ff_check_h264_startcode 2014-03-30 16:36:22 +02:00
mpegvideodec.c
mpjpeg.c
mpl2dec.c
mpsubdec.c
msnwc_tcp.c
mtv.c
mux.c
mvdec.c
mvi.c
mxf.c Merge commit '92ebb332157195b7c1212e734c5668afbf19cf2b' 2014-03-19 20:39:05 +01:00
mxf.h Merge commit '6920fb2b33f84b114ea4561ae1c623f4a26562e5' 2014-03-19 20:54:35 +01:00
mxfdec.c Merge commit 'ad8f736b7404503d8f5164f4879175a2258dd64b' 2014-04-04 02:18:32 +02:00
mxfenc.c
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
noproxy-test.c
nsvdec.c
nullenc.c
nut.c
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c
oggdec.h
oggenc.c oggenc: check return value of av_mallocz() 2014-04-04 15:56:52 +02:00
oggparsecelt.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c avformat/oggparsevorbis: remove non functional null check 2014-04-06 01:34:48 +02:00
oggparsevp8.c
oma.c
oma.h
omadec.c avformat/omadec: fix probetest failure 2014-04-05 22:07:43 +02:00
omaenc.c
options_table.h
options.c
os_support.c
os_support.h
paf.c Merge commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033' 2014-03-28 04:32:05 +01:00
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c
rawenc.h
rawvideodec.c
rdt.c
rdt.h
realtextdec.c
redspark.c
replaygain.c Merge commit '8542f9c4f17125d483c40c0c5723842f1c982f81' 2014-04-04 22:52:12 +02:00
replaygain.h Merge commit '5a7e35dd2351c30bab45177b9482cb8833a0ca78' 2014-03-24 14:03:55 +01:00
riff.c On2 VP7 decoder 2014-04-04 04:00:11 +02:00
riff.h
riffdec.c
riffenc.c riff: add ISMP/timecode tag 2014-04-04 00:28:28 +02:00
rl2.c
rm.c
rm.h
rmdec.c
rmenc.c
rmsipr.c
rmsipr.h
rpl.c
rsd.c
rso.c
rso.h
rsodec.c
rsoenc.c
rtmp.h
rtmpcrypt.c
rtmpcrypt.h
rtmpdh.c
rtmpdh.h
rtmphttp.c
rtmppkt.c
rtmppkt.h
rtmpproto.c
rtp.c
rtp.h
rtpdec_amr.c
rtpdec_asf.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h263_rfc2190.c
rtpdec_h263.c
rtpdec_h264.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpeg4.c
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_svq3.c
rtpdec_vp8.c
rtpdec_xiph.c
rtpdec.c
rtpdec.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h263_rfc2190.c
rtpenc_h263.c
rtpenc_h264.c
rtpenc_jpeg.c
rtpenc_latm.c
rtpenc_mpv.c
rtpenc_vp8.c
rtpenc_xiph.c
rtpenc.c
rtpenc.h
rtpproto.c
rtpproto.h
rtsp.c
rtsp.h
rtspcodes.h
rtspdec.c
rtspenc.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbgdec.c
sctp.c
sdp.c
sdr2.c
seek-test.c
seek.c
seek.h
segafilm.c
segment.c
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c
smush.c
sol.c
sox.h
soxdec.c
soxenc.c
spdif.c
spdif.h
spdifdec.c
spdifenc.c
srtdec.c
srtenc.c
srtp.c
srtp.h
srtpproto.c
subfile.c
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c
tcp.c
tedcaptionsdec.c
tee.c
thp.c
tiertexseq.c
tls.c
tmv.c
tta.c
tty.c
txd.c
udp.c avformat/udp: cleanup comments, add a warning if receive buffer is unexpectedly unable to be set high enough 2014-03-22 16:40:46 +01:00
uncodedframecrcenc.c
unix.c
url-test.c
url.c
url.h
urldecode.c
urldecode.h
utils.c Show stream number when warning about stream without start time. 2014-04-05 01:15:12 +02:00
vc1test.c
vc1testenc.c
version.h Write aspect ratio when muxing gif. 2014-04-02 09:49:30 +02:00
vivo.c
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vplayerdec.c
vqf.c
w64.c
w64.h
wavdec.c
wavenc.c
wc3movie.c
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_vqa.c
wtv_common.c
wtv.h
wtvdec.c avformat/wtvdec: populate codec_tag from BITMAPINFOHEADER 2014-04-04 17:20:38 +02:00
wtvenc.c avformat/wtvenc: advise user when H264 startcode is not present 2014-03-30 16:36:47 +02:00
wv.c
wv.h
wvdec.c
wvenc.c
xa.c
xmv.c
xwma.c
yop.c
yuv4mpeg.c