[FFmpeg-cvslog] avformat/demux: Remove redundant prevention against infinite loop

Andreas Rheinhardt git at videolan.org
Thu Dec 16 04:01:47 EET 2021

ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu Dec  9 18:39:47 2021 +0100| [97e26937b46323fc85480d32123d5d4f1fcd7832] | committer: Andreas Rheinhardt

avformat/demux: Remove redundant prevention against infinite loop

This piece of code has been added as FFmpeg's answer to
infinite loops in try_decode_frame() in commit
6072a19b4f311cb172d45e90daad90824e40e4b6. There is no loop
around try_decode_frame() any more, so this code can be removed.

This code is only triggered in case a) the codec parameter could
not be determined, b) the decode delay could not be guessed or
c) no packet was ever encountered and the encoder has the
AV_CODEC_CAP_CHANNEL_CONF. In these cases the new code will
no longer emit a "decoding for stream %d failed" message, which is
prima facie false. In case a) an additional "Could not find codec
parameters" message is (and will be) emitted. No warning will be
emitted any more in case b) (this happens e.g. with some
h264-conformance FATE-files).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=97e26937b46323fc85480d32123d5d4f1fcd7832

 libavformat/demux.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/libavformat/demux.c b/libavformat/demux.c
index 87dbd53a0f..3f35b3860e 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -2054,9 +2054,6 @@ static int try_decode_frame(AVFormatContext *s, AVStream *st,
-    if (!pkt.data && !got_picture)
-        ret = -1;
     if (do_skip_frame) {
         avctx->skip_frame = skip_frame;

More information about the ffmpeg-cvslog mailing list