ffmpeg/libavformat
Andreas Rheinhardt 90f647c29b avformat/utils: Preserve integrity of linked list
1. Instead of relying on ff_packet_list_get to get the oldest element in
an AVPacketList, ff_read_packet used its own ad-hoc code. Said code
forgot to set the end of the list to NULL if the last element of the
list has been removed, thereby leaving the list in an inconsistent state.
2. Furthermore, if the list was not empty, the oldest element of the
list would always be copied into another packet structure before it was
known whether the oldest entry of the list would be removed. This makes
the ownership confusing and potentially copies unnecessarily.

Both of these issues have been fixed. ff_packet_list_get is used now.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-18 22:53:00 +02:00
..
tests
.gitignore
3dostr.c
4xm.c
Makefile avformat: Add ZeroMQ as a protocol 2019-09-02 23:08:43 +02:00
a64.c
aacdec.c avformat/aacdec: resync to the next adts frame on invalid data instead of aborting 2019-07-20 21:47:55 -03:00
aadec.c avformat/aadec: Check for scanf() failure 2019-04-24 17:05:02 +02:00
ac3dec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
acm.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c
aiffenc.c
aixdec.c
allformats.c avformat/ifv: added support for ifv cctv files 2019-06-21 22:02:14 +10:00
amr.c
anm.c
apc.c
ape.c
apetag.c avformat/apetag: tag values are unsigned 2019-04-19 13:22:54 -03:00
apetag.h
apngdec.c
apngenc.c
aptxdec.c
aqtitledec.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c
asfdec_o.c
asfenc.c
assdec.c
assenc.c avformat/assenc: optimize writing dialogs 2019-08-17 18:39:49 +02:00
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
audiointerleave.c avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
audiointerleave.h avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
av1.c avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value 2019-08-03 12:33:14 -03:00
av1.h avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value 2019-08-03 12:33:14 -03:00
avc.c avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
avc.h avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
avformat.h avformat: Don't suggest deprecated function 2019-07-13 14:07:59 -03:00
avformatres.rc
avi.h
avidec.c lavf/avidec: fix memory leak in error handling path 2019-09-10 17:21:54 +02:00
avienc.c
avio.c
avio.h avformat/avio: remove 4k limit from avio_printf 2019-08-17 18:39:49 +02:00
avio_internal.h lavf/avio: add a ffio_realloc_buf API for AVIO buffer realloc 2019-08-15 09:27:11 +08:00
aviobuf.c avformat/avio: remove 4k limit from avio_printf 2019-08-17 18:39:49 +02:00
avisynth.c avisynth: adapt 239d02eff3 to dlsym 2019-05-04 12:03:24 +05:30
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 avformat/cache - delete cache file after closing handle 2019-05-25 00:21:26 +05:30
caf.c
caf.h
cafdec.c
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c avformat/cdxl: Fix integer overflow in intermediate 2019-09-16 00:53:18 +02:00
chromaprint.c
cinedec.c
codec2.c
concat.c lavf/concat: implement FFSEEK_SIZE. 2019-08-13 15:38:57 +02:00
concatdec.c
crcenc.c
crypto.c
cutils.c
dash.c
dash.h
dashdec.c avformat/dashdec: reindent code at parse_manifest 2019-09-14 12:54:21 +08:00
dashenc.c avformat/dashenc: fix writing the AV1 codec string in mp4 mode 2019-08-03 12:33:15 -03:00
data_uri.c
dauddec.c
daudenc.c
davs2.c
dcstr.c
dfa.c
dhav.c avformat/dhav: always initializer ret 2019-08-28 15:44:36 +02:00
diracdec.c
dnxhddec.c
dsfdec.c avformat/dsfdec: set packet pts/duration/pos correctly 2019-08-28 17:01:43 +02:00
dsicin.c
dss.c
dtsdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
dtshddec.c
dump.c lavf/dump: dump the vbv_delay with N/A instead of 18446744073709551615 2019-08-28 18:18:41 +02:00
dv.c
dv.h
dvbsub.c
dvbtxt.c
dvenc.c
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
fifo.c
fifo_test.c
file.c avformat/file: add seekable option to disallow seeking 2019-04-11 21:18:51 +02:00
file_open.c
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c
flac_picture.c
flac_picture.h
flacdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
flacenc.c
flacenc.h
flacenc_header.c
flic.c
flv.h
flvdec.c avformat/flvdec: delete unused code 2019-08-23 22:24:07 +02:00
flvenc.c lavf/flvenc: add automatic bitstream filtering 2019-06-25 10:45:47 +08:00
format.c
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c
g722.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
g723_1.c
g726.c
g729dec.c
gdv.c
genh.c
gif.c avformat/gif: abort early if nothing was written yet 2019-05-29 10:57:18 +02:00
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hcom.c avformat/hcom: Tell the compiler about set but not read variables 2019-09-16 00:04:18 +02:00
hdsenc.c
hevc.c avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
hevc.h
hevcdec.c
hls.c lavf/hls: fix memory leak in error handling path for option tmp 2019-09-14 10:02:00 +08:00
hlsenc.c avformat/hlsenc: make fix code style of hls_write_trailer 2019-09-14 13:09:16 +08:00
hlsplaylist.c lavf/hlsenc: refine the get_relative_url function to avoid extra malloc for relation path 2019-09-02 13:28:08 +08:00
hlsplaylist.h lavf/hlsenc: refine the get_relative_url function to avoid extra malloc for relation path 2019-09-02 13:28:08 +08:00
hlsproto.c
hnm.c
http.c avformat/http: add ff_http_get_shutdown_status api for check the status of shutdown 2019-09-06 10:26:16 +08:00
http.h avformat/http: add ff_http_get_shutdown_status api for check the status of shutdown 2019-09-06 10:26:16 +08:00
httpauth.c
httpauth.h
icecast.c
icodec.c avformat/icodec: Free ico->images on error paths 2019-06-21 18:28:00 +02:00
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c avformat/id3v2enc: fix bug, CTOC flags take only one byte 2019-06-13 23:12:51 +02:00
idcin.c
idroqdec.c
idroqenc.c
iff.c
ifv.c avformat/ifv: Check for EOF in read_index() 2019-07-19 01:23:23 +02:00
ilbc.c
img2.c avcodec/tiff: Recognize DNG/CinemaDNG images 2019-05-30 19:27:05 +02:00
img2.h
img2_alias_pix.c
img2_brender_pix.c
img2dec.c avformat/img2dec: Fix probe_buffer leak in ff_img_read_header() 2019-06-25 13:30:09 +02:00
img2enc.c
ingenientdec.c
internal.h avformat/internal: Improve documentation of ff_packet_list_get 2019-09-18 22:53:00 +02:00
ip.c
ip.h
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c avformat/mov: add demuxing support for Dolby TrueHD streams 2019-08-24 22:41:58 -03:00
isom.h
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c avformat/jacosubdec: Fix timeres to 1/100 units convertion overflow 2019-06-21 18:28:00 +02:00
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c
librtmp.c
libsmbclient.c
libsrt.c
libssh.c
libzmq.c avformat: Add ZeroMQ as a protocol 2019-09-02 23:08:43 +02:00
lmlm4.c
loasdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
matroska.c
matroska.h
matroskadec.c repeat an even number of characters in occured 2019-09-16 00:04:18 +02:00
matroskaenc.c avformat/matroskaenc: Reduce usage of ebml_master 2019-05-08 13:02:30 -03:00
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c avformat/microdvddec: skip empty lines 2019-04-27 12:57:18 +02:00
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
mlvdec.c
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mov.c avformat/mov: Check for EOF in mov_read_meta() 2019-09-17 14:41:07 +02:00
mov_chan.c
mov_chan.h
mov_esds.c
movenc.c avformat/movenc: add muxing support for Dolby TrueHD streams 2019-08-24 22:42:34 -03:00
movenc.h
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c
mp3enc.c avformat/mp3enc: Avoid SEEK_END as it is unsupported 2019-05-27 19:01:38 +02:00
mpc.c avformat/mpc: deallocate frames array on errors 2019-07-31 20:35:07 +02:00
mpc8.c
mpeg.c
mpeg.h
mpegenc.c avformat/mpegenc - reject unsupported audio streams 2019-04-22 21:25:55 +05:30
mpegts.c lavf/mpegts: Support demuxing AVS2. 2019-09-18 02:18:13 +02:00
mpegts.h
mpegtsenc.c avformat/mpegtsenc: fix flushing of audio packets 2019-09-02 21:44:25 +02:00
mpegvideodec.c
mpjpeg.c
mpjpegdec.c
mpl2dec.c
mpsubdec.c avformat/mpsubdec: Remove floating point usage 2019-08-29 15:14:32 +02:00
msf.c
msnwc_tcp.c
mtaf.c
mtv.c
musx.c
mux.c avformat/mux: Use av_packet_rescale_ts 2019-08-15 01:26:21 +02:00
mvdec.c
mvi.c
mxf.c
mxf.h avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
mxfdec.c avformat/mxfdec: do not ignore bad size errors 2019-08-22 21:38:41 +02:00
mxfenc.c avformat/mxfenc: fix warning: unused function 'klv_ber_length' [-Wunused-function] 2019-09-04 18:55:00 +02:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
nspdec.c
nsvdec.c
nullenc.c
nut.c avformat/nut: add cpia codec 2019-06-10 21:35:20 +02:00
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedaala.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c avformat/oggparseogm: sync avctx w/ codecpar 2019-06-25 14:09:40 -03:00
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c lavf/oggparsevorbis: Fix change the case of metadata keys issue 2019-04-22 23:24:42 +08:00
oggparsevp8.c
oma.c
oma.h
omadec.c
omaenc.c
options.c
options_table.h
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
prompeg.c
protocols.c avformat: Add ZeroMQ as a protocol 2019-09-02 23:08:43 +02:00
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
rawdec.h avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
rawenc.c lavf/rawenc: Only accept the appropriate stream type for raw muxers. 2019-09-06 16:22:44 -03:00
rawenc.h
rawutils.c
rawvideodec.c
rdt.c
rdt.h
realtextdec.c avformat/realtextdec: free queue on error 2019-08-22 18:35:44 +02:00
redspark.c
replaygain.c
replaygain.h
riff.c lavc/g729dec: Support decoding Sipro ACELP.KELVIN. 2019-09-16 20:57:53 +02:00
riff.h avformat/avidec: add support for recognizing HEVC fourcc when demuxing 2019-08-31 17:38:25 +02:00
riffdec.c
riffenc.c
rl2.c
rm.c
rm.h
rmdec.c avformat/rmdec.c: fix brackets around arguments 2019-09-15 11:04:33 -03:00
rmenc.c
rmsipr.c
rmsipr.h
rpl.c avformat/rpl: Replace strcpy with av_strlcpy 2019-07-10 12:54:57 +02:00
rsd.c
rso.c
rso.h
rsodec.c
rsoenc.c
rtmp.h
rtmpcrypt.c
rtmpcrypt.h
rtmpdh.c
rtmpdh.h
rtmpdigest.c
rtmphttp.c
rtmppkt.c
rtmppkt.h
rtmpproto.c
rtp.c
rtp.h
rtpdec.c
rtpdec.h
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c
rtpdec_dv.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h261.c
rtpdec_h263.c
rtpdec_h263_rfc2190.c
rtpdec_h264.c
rtpdec_hevc.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpa_robust.c
rtpdec_mpeg4.c avformat/rtpdec_mpeg4: Fix integer parameters size check in SDP fmtp line 2019-08-10 00:01:02 +02:00
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_rfc4175.c Revert "avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation" 2019-08-06 10:37:41 +02:00
rtpdec_svq3.c
rtpdec_vc2hq.c
rtpdec_vp8.c
rtpdec_vp9.c
rtpdec_xiph.c
rtpenc.c
rtpenc.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h261.c
rtpenc_h263.c
rtpenc_h263_rfc2190.c
rtpenc_h264_hevc.c
rtpenc_jpeg.c
rtpenc_latm.c
rtpenc_mpegts.c
rtpenc_mpv.c
rtpenc_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpproto.c
rtpproto.h
rtsp.c Merge commit '1e56173515826aa4d680d3b216d80a3879ed1c68' 2019-05-02 13:02:58 -03:00
rtsp.h Merge commit '1e56173515826aa4d680d3b216d80a3879ed1c68' 2019-05-02 13:02:58 -03:00
rtspcodes.h
rtspdec.c
rtspenc.c
s337m.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbcdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
sbgdec.c avformat/sbgdec: Fixes integer overflow in str_to_time() with hours 2019-06-14 21:36:39 +02:00
sccdec.c avformat/sccdec: remove not needed code 2019-09-13 19:47:03 +02:00
sccenc.c
sctp.c
sdp.c
sdr2.c
sdsdec.c
sdxdec.c
segafilm.c
segafilmenc.c
segment.c avformat/segment: fix muxing tmcd tracks in MOV 2019-06-20 18:03:30 +05:30
serdec.c
shortendec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
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
stldec.c
subfile.c libavformat/subfile: Fix SEEK_CUR and SEEK_END seeking 2019-08-13 16:00:23 +02:00
subtitles.c avformat/subtitles: ignore extra '\r' at line endings 2019-04-27 12:49:56 +02:00
subtitles.h avformat/subtitles: ignore extra '\r' at line endings 2019-04-27 12:49:56 +02:00
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
tcp.c
tedcaptionsdec.c
tee.c
tee_common.c
tee_common.h
teeproto.c
thp.c
tiertexseq.c avformat/tiertexseq: Cleanup on error 2019-06-21 18:28:00 +02:00
tls.c
tls.h
tls_gnutls.c lavf/tls_gnutls: retry gnutls_handshake on non fatal errors 2019-06-14 21:19:41 +03:00
tls_libtls.c
tls_mbedtls.c
tls_openssl.c
tls_schannel.c
tls_securetransport.c
tmv.c
tta.c
ttaenc.c
tty.c
txd.c
ty.c
udp.c
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
utils.c avformat/utils: Preserve integrity of linked list 2019-09-18 22:53:00 +02:00
v210.c
vag.c
vapoursynth.c
vc1dec.c lavf/vc1dec: Reduce probe score for streams with invalid frames. 2019-04-19 14:06:29 +02:00
vc1test.c
vc1testenc.c
version.h avformat: Add ZeroMQ as a protocol 2019-09-02 23:08:43 +02:00
vividas.c avformat/vividas: Remove align offset which is always masked off 2019-09-16 00:53:18 +02:00
vivo.c
voc.c
voc.h
voc_packet.c
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vpcc.c
vpcc.h
vpk.c avformat/vpk: Check offset for validity 2019-06-14 21:36:39 +02:00
vplayerdec.c
vqf.c avformat/vqf: Check header_size 2019-06-29 19:22:19 +02:00
w64.c
w64.h
wavdec.c avcodec/adpcm: add support for 5.1 ADPCM MS 2019-07-26 11:57:06 +01:00
wavenc.c
wc3movie.c
webm_chunk.c lavf/webm_chunk: Correct duration if start time > 0 2019-07-12 14:59:58 +02:00
webmdashenc.c
webpenc.c
webvttdec.c lavf/webvtt: fix ffmpeg -h demuxer=webvtt can't dump options 2019-06-14 13:18:32 +08:00
webvttenc.c
westwood_aud.c
westwood_vqa.c
wsddec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
wtv.h
wtv_common.c
wtvdec.c avformat/wtvdec: Avoid (32bit signed) sectors 2019-06-14 21:36:39 +02:00
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmv.c avformat/xmv: Make bitrate 64bit 2019-07-14 22:17:43 +02:00
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c