ffmpeg/libavformat
Marton Balint 64834bb86a avformat: introduce AVFormatContext io_close2 which returns an int
Otherwise there is no way to detect an error returned by avio_close() because
ff_format_io_close cannot get the return value.

Checking the return value of the close function is important in order to check
if all data was successfully written and the underlying close() operation was
successful.

It can also be useful even for read mode because it can return any pending
AVIOContext error, so the user don't have to manually check AVIOContext->error.

In order to still support if the user overrides io_close, the generic code only
uses io_close2 if io_close is either NULL or the default io_close callback.

Signed-off-by: Marton Balint <cus@passwd.hu>
2021-12-12 00:32:20 +01:00
..
tests avformat: do not use AVIO_FLAG_* with avio_alloc_context 2021-12-04 14:06:30 +01:00
.gitignore
3dostr.c
4xm.c
a64.c
aacdec.c
aadec.c avformat/aadec: Use smaller scope for variables 2021-12-08 14:12:42 +01:00
aaxdec.c
ac3dec.c
acedec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.c
aiff.h
aiffdec.c avformat/aiffdec: "-1" -> AVERROR_INVALIDDATA 2021-11-01 20:37:20 +01:00
aiffenc.c
aixdec.c
allformats.c avformat/scd: add demuxer 2021-12-02 01:41:55 +10:00
alp.c
amr.c
amvenc.c avformat/amvenc: Avoid allocating packet 2021-10-03 20:56:12 +02:00
anm.c
apc.c
ape.c
apetag.c
apetag.h
apm.c
apngdec.c
apngenc.c avformat/apngenc: Use UINT16_MAX instead of USHRT_MAX 2021-11-09 15:40:36 +01:00
aptxdec.c
aqtitledec.c
argo_asf.c avformat/argo_asf: use title metadata when muxing 2021-10-15 23:40:15 +10:00
argo_asf.h avformat/argo_asf: cleanup and NULL-terminate name field in header 2021-10-15 23:39:47 +10:00
argo_brp.c
argo_cvg.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c
asfdec_o.c
asfenc.c avformat/asfenc: Return proper error codes 2021-10-03 20:50:50 +02:00
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
av1.c
av1.h
av1dec.c
avc.c
avc.h
avformat.h avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
avformatres.rc
avi.h
avidec.c avformat/avidec: Check read_odml_index() for failure 2021-11-26 21:31:06 +01:00
avienc.c avformat/avienc: Avoid allocating AVPacket 2021-10-03 20:56:12 +02:00
avio_internal.h avformat/avio{,buf}: introduce public AVIOContext::bytes_{read,written} 2021-10-24 13:04:39 +03:00
avio.c
avio.h avformat/avio{,buf}: introduce public AVIOContext::bytes_{read,written} 2021-10-24 13:04:39 +03:00
aviobuf.c avformat/aviobuf: return stored AVIO context error on avio_close 2021-12-12 00:32:20 +01:00
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs2dec.c
avs3dec.c
avs.c
bethsoftvid.c
bfi.c
bink.c
binka.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c avformat/cafdec: Avoid unnecessary avio_tell() calls 2021-11-26 18:55:58 +01:00
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
chromaprint.c
cinedec.c
codec2.c
concat.c avformat/concatf: ignore trailing whitespaces 2021-12-07 17:50:55 +05:30
concatdec.c avformat/concatdec: fix NEEDS_UNSAFE flag value 2021-11-14 19:25:11 +01:00
crcenc.c
crypto.c
dash.c
dash.h
dashdec.c
dashenc.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
data_uri.c
dauddec.c
daudenc.c
dcstr.c
demux.c avformat/demux: allow total size of packets in raw_packet_buffer to reach probesize 2021-11-14 18:30:57 +01:00
derf.c
dfa.c
dhav.c avformat/dhav: Limit get_duration() iterations 2021-11-14 17:51:35 +01:00
diracdec.c
dnxhddec.c
dsfdec.c
dsicin.c
dss.c
dtsdec.c
dtshddec.c
dump.c
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_test.c
fifo.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
file_open.c
file.c avformat/file: use proper return value in file_close 2021-12-12 00:32:20 +01:00
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c
flac_picture.c
flac_picture.h
flacdec.c avformat/flacdec: Also set channels when setting channel_layout 2021-10-07 22:06:27 +02:00
flacenc_header.c
flacenc.c avformat/flacenc: Avoid stack packet 2021-10-03 20:56:12 +02:00
flacenc.h
flic.c
flv.h
flvdec.c
flvenc.c avformat/flvenc: avoid 24bit timestamp truncation for FLV metadata 2021-11-29 21:30:09 +01:00
format.c avformat/format: Improve const-correctness 2021-10-07 14:06:58 +02:00
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c lavf/ftp: check for truncation in snprintf 2021-12-07 11:16:14 +01:00
fwse.c
g722.c
g723_1.c
g726.c
g729dec.c
gdv.c
genh.c
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c avformat/mux: Don't use stack packet when writing interleaved packets 2021-10-03 20:50:50 +02:00
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hca.c
hcom.c
hdsenc.c avformat: do not use AVIO_FLAG_* with avio_alloc_context 2021-12-04 14:06:30 +01:00
hevc.c
hevc.h
hevcdec.c
hls_sample_encryption.c avformat/hls_sample_encryption: Fix precedence 2021-11-09 15:44:17 +01:00
hls_sample_encryption.h libavformat/hls: add support for decryption of HLS media segments encrypted using SAMPLE-AES encryption method 2021-10-13 11:23:53 +08:00
hls.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
hlsenc.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
hlsplaylist.c
hlsplaylist.h
hlsproto.c
hnm.c
http.c avformat/http: prevent truncation of sanitized_path 2021-11-25 12:06:15 -03:00
http.h
httpauth.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
httpauth.h
icecast.c
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c
idcin.c
idroqdec.c
idroqenc.c
iff.c
ifv.c
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c avformat/img2dec: add GEM Raster image demuxer 2021-10-08 20:37:36 +11:00
img2.h
img2dec.c avformat/img2dec: probe JFIF/Exif header 2021-11-27 18:24:49 +01:00
img2enc.c lavf/img2enc: avoid a useless copy of the url 2021-12-07 11:16:14 +01:00
imx.c
ingenientdec.c
internal.h avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
ip.c
ip.h
ipmovie.c
ipudec.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom_tags.c avformat/isom_tags: fix 'ipcm' with samplesize equal to 16 2021-11-03 17:45:02 +01:00
isom.c avformat/{isom,mov,movenc}: add support for CMAF DASH roles 2021-10-04 17:55:27 +03:00
isom.h avformat/mov: make STTS duration unsigned int 2021-11-22 15:18:42 +05:30
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c
jacosubenc.c
jvdec.c
kvag.c
latmenc.c avformat/avformat: Add AVStream parameter to check_bitstream() sig 2021-11-27 12:55:41 +01:00
libamqp.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c
librist.c avformat/librist: correctly initialize logging_settings 2021-11-18 20:40:24 +01:00
librtmp.c
libsmbclient.c
libsrt.c avformat/libsrt: add missing version check for snddropdelay 2021-11-25 19:11:24 +01:00
libssh.c
libzmq.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c avformat/lrcenc: Unify writing timestamps 2021-10-07 11:55:55 +02:00
luodatdec.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile avformat/scd: add demuxer 2021-12-02 01:41:55 +10:00
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: Don't unnecessarily reduce aspect ratio 2021-11-07 15:38:03 +01:00
matroskaenc.c avformat/matroskaenc: Sort cues entries by pts 2021-11-30 17:42:18 +01:00
mca.c
mccdec.c
md5proto.c avformat/md5proto: Simplify data->hex conversion 2021-12-08 14:15:53 +01:00
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mods.c
moflex.c
mov_chan.c
mov_chan.h
mov_esds.c
mov.c avformat/mov: Simplify data->hex conversion 2021-12-08 14:17:39 +01:00
movenc_ttml.c
movenc_ttml.h
movenc.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
movenc.h
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c
mp3enc.c avformat/mp3enc: Avoid stack packet 2021-10-03 20:56:12 +02:00
mpc8.c
mpc.c
mpeg.c
mpeg.h
mpegenc.c
mpegts.c all: Use av_memdup() where appropriate 2021-12-03 16:07:02 +01:00
mpegts.h avformat/mpegts: add support for stream_type 0xd4, which is AVS3 2021-10-20 22:40:13 +08:00
mpegtsenc.c avformat/mpegtsenc: Avoid allocation of AVPacket 2021-11-27 12:55:41 +01:00
mpegvideodec.c
mpjpeg.c
mpjpegdec.c
mpl2dec.c
mpsubdec.c
msf.c
msnwc_tcp.c
mspdec.c
mtaf.c
mtv.c
musx.c
mux.c avformat/avformat: Add AVStream parameter to check_bitstream() sig 2021-11-27 12:55:41 +01:00
mvdec.c avformat/mvdec: handle audio sample size 2021-12-03 19:53:56 +11:00
mvi.c
mxf.c
mxf.h
mxfdec.c avformat/mxfdec: Check for duplicate mxf_read_index_entry_array() 2021-12-09 13:40:54 +01:00
mxfenc.c avformat/mxfenc: Remove redundant DNXHD frame size checks 2021-11-19 20:32:19 +01:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
nspdec.c
nsvdec.c
nullenc.c avformat/nullenc: Use ff_interleave_packet_passthrough() 2021-11-19 18:11:46 +01:00
nut.c
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c all: Use av_memdup() where appropriate 2021-12-03 16:07:02 +01:00
oggparsevp8.c
oma.c
oma.h
omadec.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
omaenc.c
options_table.h
options.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
pp_bnk.c
prompeg.c
protocols.c lavf/protocols: avoid discarding const in avio_enum_protocols() 2021-12-07 11:16:14 +01:00
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c avformat/avformat: Add AVStream parameter to check_bitstream() sig 2021-11-27 12:55:41 +01:00
rawenc.h
rawutils.c
rawvideodec.c
rdt.c
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c
riff.h
riffdec.c
riffenc.c
rl2.c
rm.c
rm.h
rmdec.c avformat/rmdec: Check for multiple audio_stream_info 2021-10-09 11:42:16 +02:00
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
rtmpdigest.c
rtmphttp.c
rtmppkt.c
rtmppkt.h
rtmpproto.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
rtp.c
rtp.h
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c
rtpdec_dv.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h261.c
rtpdec_h263_rfc2190.c
rtpdec_h263.c
rtpdec_h264.c
rtpdec_hevc.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpa_robust.c
rtpdec_mpeg4.c
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_rfc4175.c avformat/rtp: support RGB/BGR for rfc4175 2021-11-25 15:07:19 +08:00
rtpdec_svq3.c
rtpdec_vc2hq.c
rtpdec_vp8.c
rtpdec_vp9.c
rtpdec_xiph.c
rtpdec.c
rtpdec.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h261.c
rtpenc_h263_rfc2190.c
rtpenc_h263.c
rtpenc_h264_hevc.c
rtpenc_jpeg.c
rtpenc_latm.c
rtpenc_mpegts.c
rtpenc_mpv.c
rtpenc_rfc4175.c avformat/rtp: support RGB/BGR for rfc4175 2021-11-25 15:07:19 +08:00
rtpenc_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c avformat: suppport YUV 4:2:2 10-bit for rfc4175 2021-11-25 15:07:15 +08:00
rtpenc.h avformat/rtpenc: adds partial support for the RFC 4175 2021-11-25 15:04:35 +08:00
rtpproto.c avformat/rtp: add localaddr for network interface selection 2021-11-27 11:21:17 +08:00
rtpproto.h
rtsp.c avformat/rtsp: fix the error code from ffurl_read_complete() 2021-12-07 20:48:07 +08:00
rtsp.h avformat/rtsp: add error code handling for ff_rtsp_skip_packet() 2021-12-07 20:33:17 +08:00
rtspcodes.h
rtspdec.c avformat/rtspdec: get rid of the hardcoded max size for sdp 2021-12-04 08:26:30 +08:00
rtspenc.c avformat/rtsp: add error code handling for ff_rtsp_skip_packet() 2021-12-07 20:33:17 +08:00
s337m.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbcdec.c
sbgdec.c
sccdec.c avformat/sccdec: Remove nonsense cast 2021-10-07 11:52:10 +02:00
sccenc.c
scd.c avformat/scd: add demuxer 2021-12-02 01:41:55 +10:00
sctp.c
sdp.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
sdr2.c
sdsdec.c
sdxdec.c
seek.c seek: Fix crashes in ff_seek_frame_binary if built with latest Clang 14 2021-10-18 14:34:30 +03:00
segafilm.c
segafilmenc.c
segment.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
serdec.c
sga.c
shortendec.c
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c avformat/smoothstreamingenc: Move buffers to the end of structs 2021-12-05 13:27:38 +01:00
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
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
svs.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
tcp.c
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c
tls_libtls.c
tls_mbedtls.c
tls_openssl.c
tls_schannel.c
tls_securetransport.c
tls.c
tls.h
tmv.c
tta.c
ttaenc.c avformat/ttaenc: Avoid stack packet 2021-10-03 20:56:12 +02:00
ttmlenc.c
ttmlenc.h
tty.c
txd.c
ty.c
udp.c avformat/udp: remove local localaddr array 2021-11-26 17:43:48 +08:00
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
utils.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
v210.c
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
vividas.c
vivo.c
voc_packet.c
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vpcc.c
vpcc.h
vpk.c
vplayerdec.c
vqf.c
w64.c
w64.h
wavdec.c avformat/wavdec: Check smv_block_size 2021-10-09 11:42:16 +02:00
wavenc.c
wc3movie.c
webm_chunk.c
webmdashenc.c
webpenc.c avformat/webpenc: Don't use sizeof(AVPacket) 2021-10-03 20:56:12 +02:00
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_audenc.c
westwood_vqa.c avcodec/vqavideo: Decode 15-bit VQA3 files 2021-10-28 22:24:54 +02:00
wsddec.c
wtv_common.c
wtv.h
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmv.c
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c