ffmpeg/libavformat
Marton Balint ce1fcc8ced avformat/utils: return pending IO error on EOF in av_read_frame()
avio_feof() returns true both in case of actual EOF and in case of IO errors.
Some demuxers (matroska) have special handling to be able to return the proper
error for this exact reason, e.g.:

if (avio_feof(pb)) {
     if (pb->error) {
         return pb->error;
     } else {
         return AVERROR_EOF;
     }
}

However, most of the demuxers do not, and they simply return AVERROR_EOF if
avio_feof() is true, so there is a real chance that IO errors are mistaken for
EOF.

We might just say that the API user should always check the IO context error
attribute on EOF to make sure no IO errors happened, but not even ffmpeg.c does
this. It should be more intuitive to the API user if we simply return the IO
error as the return value of av_read_frame() instead of AVERROR_EOF.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-08-31 17:38:25 +02:00
..
tests
.gitignore
3dostr.c
4xm.c
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
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
amr.c
anm.c
apc.c
ape.c
apetag.c
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
avc.h
avformat.h avformat: Don't suggest deprecated function 2019-07-13 14:07:59 -03:00
avformatres.rc
avi.h
avidec.c avformat/avidec: add support for recognizing HEVC fourcc when demuxing 2019-08-31 17:38:25 +02:00
avienc.c
avio_internal.h lavf/avio: add a ffio_realloc_buf API for AVIO buffer realloc 2019-08-15 09:27:11 +08:00
avio.c
avio.h avformat/avio: remove 4k limit from avio_printf 2019-08-17 18:39:49 +02:00
aviobuf.c avformat/avio: remove 4k limit from avio_printf 2019-08-17 18:39:49 +02: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
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: fix code style and remove some empty line 2019-07-10 17:26:33 +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_test.c
fifo.c
file_open.c
file.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_header.c
flacenc.c
flacenc.h
flic.c
flv.h
flvdec.c avformat/flvdec: delete unused code 2019-08-23 22:24:07 +02:00
flvenc.c
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
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
hdsenc.c
hevc.c
hevc.h
hevcdec.c
hls.c lavf/hls: add http_seekable option for HTTP partial requests 2019-08-08 17:53:32 +08:00
hlsenc.c avformat/hlsenc: remove unused value 2019-08-26 11:06:48 +08:00
hlsplaylist.c
hlsplaylist.h
hlsproto.c
hnm.c
http.c avformat/http: change error message from numeric code to string 2019-07-11 09:35:31 +08:00
http.h
httpauth.c
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 avformat/ifv: Check for EOF in read_index() 2019-07-19 01:23:23 +02:00
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c
img2.h
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/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +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
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c
librtmp.c
libsmbclient.c
libsrt.c
libssh.c
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
Makefile
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: Fix seeking 2019-08-16 21:33:54 -03:00
matroskaenc.c
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
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_chan.c
mov_chan.h
mov_esds.c
mov.c avformat/mov: improve timecode calculation 2019-08-28 16:27:58 +02:00
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
mpc8.c
mpc.c avformat/mpc: deallocate frames array on errors 2019-07-31 20:35:07 +02:00
mpeg.c
mpeg.h
mpegenc.c
mpegts.c avformat/mpegts: fix teletext PTS when selecting teletext streams only 2019-08-31 17:38:25 +02:00
mpegts.h
mpegtsenc.c avformat/mpegtsenc: get rid of packet counting for sdt/pat/pmt 2019-08-23 22:49:01 +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
mxfdec.c avformat/mxfdec: do not ignore bad size errors 2019-08-22 21:38:41 +02:00
mxfenc.c avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
nspdec.c
nsvdec.c
nullenc.c
nut.c
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
oggparsevp8.c
oma.c
oma.h
omadec.c
omaenc.c
options_table.h
options.c
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
prompeg.c
protocols.c
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
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 avformat/avidec: add support for recognizing HEVC fourcc when demuxing 2019-08-31 17:38:25 +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
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_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 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
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_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c
rtpenc.h
rtpproto.c
rtpproto.h
rtsp.c
rtsp.h
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
sccdec.c avformat/sccdec: display last caption even when there is no empty last line 2019-06-27 20:20:16 +02:00
sccenc.c
sctp.c
sdp.c
sdr2.c
sdsdec.c
sdxdec.c
segafilm.c
segafilmenc.c
segment.c
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
subtitles.h
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_common.c
tee_common.h
tee.c
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
tty.c
txd.c
ty.c
udp.c
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
utils.c avformat/utils: return pending IO error on EOF in av_read_frame() 2019-08-31 17:38:25 +02:00
v210.c
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat/movenc: add muxing support for Dolby TrueHD streams 2019-08-24 22:42:34 -03:00
vividas.c avformat/vividas: Check av_xiphlacing() return value before use 2019-08-22 18:35:44 +02:00
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 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
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_common.c
wtv.h
wtvdec.c
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